diff options
author | Zuul <zuul@review.openstack.org> | 2018-07-22 22:34:35 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2018-07-22 22:34:35 +0000 |
commit | c0169613a4bea8e75fe67d2e38b6ad76efecbd3b (patch) | |
tree | 8f05295c47d97abb2768b6a3f20afc2aea073dc8 /ironic/conductor | |
parent | 471aafc0475005a2bde038b9024f96bfd64366cc (diff) | |
parent | f838a14bcf7791662743b0529c4a90de67bbdad2 (diff) | |
download | ironic-c0169613a4bea8e75fe67d2e38b6ad76efecbd3b.tar.gz |
Merge "Minor changes for deploy_steps framework"
Diffstat (limited to 'ironic/conductor')
-rw-r--r-- | ironic/conductor/manager.py | 19 | ||||
-rw-r--r-- | ironic/conductor/utils.py | 10 |
2 files changed, 16 insertions, 13 deletions
diff --git a/ironic/conductor/manager.py b/ironic/conductor/manager.py index f760848e0..965cb9595 100644 --- a/ironic/conductor/manager.py +++ b/ironic/conductor/manager.py @@ -89,9 +89,9 @@ SYNC_EXCLUDED_STATES = (states.DEPLOYWAIT, states.CLEANWAIT, states.ENROLL) # agent_version parameter and need updating. _SEEN_AGENT_VERSION_DEPRECATIONS = [] -# NOTE(rloo) This list is used to keep track of deprecation warnings that -# have already been issued for deploy drivers that do not use deploy steps. -_SEEN_NO_DEPLOY_STEP_DEPRECATIONS = [] +# NOTE(rloo) This is used to keep track of deprecation warnings that have +# already been issued for deploy drivers that do not use deploy steps. +_SEEN_NO_DEPLOY_STEP_DEPRECATIONS = set() class ConductorManager(base_manager.BaseConductorManager): @@ -1007,6 +1007,13 @@ class ConductorManager(base_manager.BaseConductorManager): :returns: index of the next step; None if there are none to execute. """ + valid_types = set(['clean', 'deploy']) + if step_type not in valid_types: + # NOTE(rloo): No need to i18n this, since this would be a + # developer error; it isn't user-facing. + raise exception.Invalid( + 'step_type must be one of %(valid)s, not %(step)s' + % {'valid': valid_types, 'step': step_type}) node = task.node if not getattr(node, '%s_step' % step_type): # first time through, all steps need to be done. Return the @@ -3494,12 +3501,12 @@ def _old_rest_of_do_node_deploy(task, conductor_id, no_deploy_steps): # for supporting drivers with no deploy steps. if no_deploy_steps: - global _SEEN_NO_DEPLOY_STEP_DEPRECATIONS deploy_driver_name = task.driver.deploy.__class__.__name__ if deploy_driver_name not in _SEEN_NO_DEPLOY_STEP_DEPRECATIONS: LOG.warning('Deploy driver %s does not support deploy steps; this ' - 'will be required after Stein.', deploy_driver_name) - _SEEN_NO_DEPLOY_STEP_DEPRECATIONS.append(deploy_driver_name) + 'will be required starting with the Stein release.', + deploy_driver_name) + _SEEN_NO_DEPLOY_STEP_DEPRECATIONS.add(deploy_driver_name) node = task.node try: diff --git a/ironic/conductor/utils.py b/ironic/conductor/utils.py index 7c68ac1fb..780f676cd 100644 --- a/ironic/conductor/utils.py +++ b/ironic/conductor/utils.py @@ -466,7 +466,7 @@ def deploying_error_handler(task, logmsg, errmsg, traceback=False, addl = _('An unhandled exception was encountered while ' 'aborting. More information may be found in the log ' 'file.') - cleanup_err = _('%(err)s. %(add)s') % {'err': errmsg, 'add': addl} + cleanup_err = '%(err)s. %(add)s' % {'err': errmsg, 'add': addl} node.refresh() if node.provision_state in ( @@ -686,9 +686,7 @@ def _get_cleaning_steps(task, enabled=False, sort=True): clean steps. :returns: A list of clean step dictionaries """ - sort_key = None - if sort: - sort_key = _clean_step_key + sort_key = _clean_step_key if sort else None return _get_steps(task, CLEANING_INTERFACE_PRIORITY, 'get_clean_steps', enabled=enabled, sort_step_key=sort_key) @@ -706,9 +704,7 @@ def _get_deployment_steps(task, enabled=False, sort=True): deploy steps. :returns: A list of deploy step dictionaries """ - sort_key = None - if sort: - sort_key = _deploy_step_key + sort_key = _deploy_step_key if sort else None return _get_steps(task, DEPLOYING_INTERFACE_PRIORITY, 'get_deploy_steps', enabled=enabled, sort_step_key=sort_key) |