diff options
author | Julia Kreger <juliaashleykreger@gmail.com> | 2019-02-08 20:26:41 -0800 |
---|---|---|
committer | Julia Kreger <juliaashleykreger@gmail.com> | 2019-03-14 10:34:31 -0700 |
commit | 3f734c8728f0cf436921d57ce6b2389687684221 (patch) | |
tree | c29529e4e956e8211d53fab8ffb0242ad6840d04 /ironic/api/controllers/v1/ramdisk.py | |
parent | 9625b8aa71896bbf626971f8bbabe48d0d34b39e (diff) | |
download | ironic-3f734c8728f0cf436921d57ce6b2389687684221.tar.gz |
fast tracked deployment support
Provides a facility to minimize the power state changes of
a baremetal node to save critical time during deployment
operations.
Story: #2004965
Task: #29408
Depends-On: https://review.openstack.org/636778
Change-Id: I7ebbaddb33b38c87246c10165339ac4bac0ac6fc
Diffstat (limited to 'ironic/api/controllers/v1/ramdisk.py')
-rw-r--r-- | ironic/api/controllers/v1/ramdisk.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/ironic/api/controllers/v1/ramdisk.py b/ironic/api/controllers/v1/ramdisk.py index a0fedbc92..17c17ade5 100644 --- a/ironic/api/controllers/v1/ramdisk.py +++ b/ironic/api/controllers/v1/ramdisk.py @@ -37,10 +37,6 @@ LOG = log.getLogger(__name__) _LOOKUP_RETURN_FIELDS = ('uuid', 'properties', 'instance_info', 'driver_internal_info') -_LOOKUP_ALLOWED_STATES = {states.DEPLOYING, states.DEPLOYWAIT, - states.CLEANING, states.CLEANWAIT, - states.INSPECTING, - states.RESCUING, states.RESCUEWAIT} def config(): @@ -83,6 +79,12 @@ class LookupResult(base.APIBase): class LookupController(rest.RestController): """Controller handling node lookup for a deploy ramdisk.""" + @property + def lookup_allowed_states(self): + if CONF.deploy.fast_track: + return states.FASTTRACK_LOOKUP_ALLOWED_STATES + return states.LOOKUP_ALLOWED_STATES + @expose.expose(LookupResult, types.listtype, types.uuid) def get_all(self, addresses=None, node_uuid=None): """Look up a node by its MAC addresses and optionally UUID. @@ -144,7 +146,7 @@ class LookupController(rest.RestController): raise exception.NotFound() if (CONF.api.restrict_lookup - and node.provision_state not in _LOOKUP_ALLOWED_STATES): + and node.provision_state not in self.lookup_allowed_states): raise exception.NotFound() return LookupResult.convert_with_links(node) |