summaryrefslogtreecommitdiff
path: root/ironic/api/controllers/v1/ramdisk.py
diff options
context:
space:
mode:
authorJulia Kreger <juliaashleykreger@gmail.com>2019-02-08 20:26:41 -0800
committerJulia Kreger <juliaashleykreger@gmail.com>2019-03-14 10:34:31 -0700
commit3f734c8728f0cf436921d57ce6b2389687684221 (patch)
treec29529e4e956e8211d53fab8ffb0242ad6840d04 /ironic/api/controllers/v1/ramdisk.py
parent9625b8aa71896bbf626971f8bbabe48d0d34b39e (diff)
downloadironic-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.py12
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)