Add logic to allow bifrost_inventory to run without shade
The dynamic inventory script only requires shade when querying ironic for a list of hardware resources. As we may not have completed the installation sequence, shade may not be present. Added a check to attempt to load shade and then error if a user attempts to use the script to query ironic with shade missing. Change-Id: I300e043bd76d4872781b42e05a5eb76a30a74f5e
This commit is contained in:
parent
761e345a66
commit
95d28e0eee
@ -119,7 +119,12 @@ import yaml
|
|||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_log import log
|
from oslo_log import log
|
||||||
import shade
|
|
||||||
|
try:
|
||||||
|
import shade
|
||||||
|
SHADE_LOADED = True
|
||||||
|
except ImportError:
|
||||||
|
SHADE_LOADED = False
|
||||||
|
|
||||||
LOG = log.getLogger(__name__)
|
LOG = log.getLogger(__name__)
|
||||||
|
|
||||||
@ -354,7 +359,13 @@ def main():
|
|||||||
"Tried JSON, YAML, and CSV formats")
|
"Tried JSON, YAML, and CSV formats")
|
||||||
exit(1)
|
exit(1)
|
||||||
elif "ironic" in data_source:
|
elif "ironic" in data_source:
|
||||||
(groups, hostvars) = _process_shade(groups, hostvars)
|
if SHADE_LOADED:
|
||||||
|
(groups, hostvars) = _process_shade(groups, hostvars)
|
||||||
|
else:
|
||||||
|
print("ERROR: BIFROST_INVENTORY_SOURCE is set to ironic "
|
||||||
|
"however the shade library failed to load, and may "
|
||||||
|
"not be present.")
|
||||||
|
exit(1)
|
||||||
else:
|
else:
|
||||||
print('ERROR: BIFROST_INVENTORY_SOURCE does not define a file')
|
print('ERROR: BIFROST_INVENTORY_SOURCE does not define a file')
|
||||||
exit(1)
|
exit(1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user