config/sysinv/sysinv/sysinv/sysinv/objects
John Kung 168442b2e1 Create host state for determining initial inventory complete
Add host inv_state attribute to allow determination of when the
initial inventory collection has been completed.

Update references which were using disks/pvs as proxy for inventory
completion to reference the host inv_state attribute.

Description of issue (from Bug 1837097):
The system inventory agent needs to explicitly indicate that inventory
collection has finished for each host.  The current method for
determining whether a host has been inventoried successfully is to
wait for the disk/pv list to be non-empty.

That worked well until recently when the host file system feature
was merged.  The system inventory agent now collects/creates host file
systems after the disk list is populated so a provisioning system
waiting on the disk list will move ahead to unlock the node
prematurely before the host file systems have been created and reported
to system inventory.  This can lead to undefined behavior either on
the system being provisioned or the provisioning system that is
configuring the target system.

If we do not fix this properly with an explicit/deterministic flag then
we will trip over this issue each time someone adds a new inventory
collection step to the end of the system inventory agent's
initial process loop.

Change-Id: Ifdb8871a892414ee4c433cf7a6ec7e79390c6420
Closes-bug: 1837097
Signed-off-by: John Kung <john.kung@windriver.com>
2019-07-30 11:13:56 -04:00
..
__init__.py Create new host_fs postgres table 2019-07-02 13:01:14 -04:00
address.py Clean up interface network assignment 2019-06-13 09:43:57 -04:00
address_mode.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
address_pool.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
base.py Fix accessing SysinvObject optional foreign fields 2019-06-24 10:20:34 -04:00
ceph_mon.py Ceph for standard: System Inventory CLI, API, DB 2019-01-16 18:12:15 +02:00
certificate.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
cluster.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
community.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
controller_fs.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
cpu.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
datanetwork.py Create DataNetworks modelling in System Configuration 2019-01-22 17:43:45 -05:00
disk.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
dns.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
drbdconfig.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
helm_overrides.py Application dirs and overrides updates 2019-05-23 12:02:42 -04:00
host.py Create host state for determining initial inventory complete 2019-07-30 11:13:56 -04:00
host_fs.py Create new host_fs postgres table 2019-07-02 13:01:14 -04:00
host_upgrade.py Sysinv. Cleanup import statements for pep8 2018-06-29 13:43:53 -04:00
interface.py Clean up interface network assignment 2019-06-13 09:43:57 -04:00
interface_ae.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
interface_base.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
interface_datanetwork.py Create DataNetworks modelling in System Configuration 2019-01-22 17:43:45 -05:00
interface_ethernet.py Create DataNetworks modelling in System Configuration 2019-01-22 17:43:45 -05:00
interface_network.py Multiple networks to interface association 2018-09-13 13:28:24 -04:00
interface_virtual.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
interface_vlan.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
journal.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
kube_app.py Application update support 2019-06-07 12:29:14 -04:00
kube_app_releases.py Application update support 2019-06-07 12:29:14 -04:00
label.py host-label validation via kubernetes-client 2018-10-04 13:02:59 -04:00
lldp_agent.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
lldp_neighbour.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
lldp_tlv.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
load.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
lvg.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
memory.py Open vSwitch integration with host and configuration framework 2018-06-14 16:03:52 -05:00
network.py Generalized interface and network configuration 2018-09-13 13:28:51 -04:00
network_oam.py Fix: "dict" issue for Python 2/3 compatible code 2018-12-18 11:03:00 +08:00
node.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
ntp.py Provide API to enable/disable NTP service in SysInv 2018-08-16 09:29:15 -04:00
partition.py sysinv-agent: Do not report partitions from the iSCSI local devices 2018-06-28 22:07:38 -04:00
pci_device.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
peer.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
port.py Integration with latest SR-IOV CNI images 2019-05-29 13:36:28 -05:00
port_ethernet.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
profile.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
ptp.py Implementation of PTP support in SysInv and Puppet 2018-08-22 11:57:14 -04:00
pv.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
remote_logging.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
route.py Clean up interface network assignment 2019-06-13 09:43:57 -04:00
sdn_controller.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
sensor.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
sensor_analog.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
sensor_discrete.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
sensorgroup.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
sensorgroup_analog.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
sensorgroup_discrete.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
service.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
service_parameter.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
software_upgrade.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
storage.py Fix tox pep8 errors in sysinv of type E203 2018-08-09 12:17:49 -04:00
storage_backend.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
storage_ceph.py CEPH persistent storage backend for Kubernetes 2018-10-23 11:33:38 -06:00
storage_ceph_external.py Add support for external Ceph 2018-07-31 15:48:43 -04:00
storage_external.py Sysinv. Cleanup import statements for pep8 2018-06-29 13:43:53 -04:00
storage_file.py Sysinv. Cleanup import statements for pep8 2018-06-29 13:43:53 -04:00
storage_lvm.py Sysinv. Cleanup import statements for pep8 2018-06-29 13:43:53 -04:00
storage_tier.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
system.py Spectre/meltdown kernel options controllable by customer 2018-06-29 13:44:42 -04:00
tpmconfig.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
tpmdevice.py Fix upgrade with Host TPM 2018-07-06 09:09:55 -04:00
trapdest.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
user.py StarlingX open source release updates 2018-05-31 07:35:52 -07:00
utils.py Clean up interface network assignment 2019-06-13 09:43:57 -04:00