From 3143fa7c1bbbbc8aa6eb3253cac1752ea16ab3dc Mon Sep 17 00:00:00 2001 From: Corey Bryant Date: Mon, 14 Sep 2015 17:53:04 +0000 Subject: [PATCH] Use charm-helpers for action managed openstack upgrade. --- actions/openstack_upgrade.py | 50 ++++++++---------------------------- 1 file changed, 10 insertions(+), 40 deletions(-) diff --git a/actions/openstack_upgrade.py b/actions/openstack_upgrade.py index 0f49ddfb..d73234c4 100755 --- a/actions/openstack_upgrade.py +++ b/actions/openstack_upgrade.py @@ -1,26 +1,15 @@ #!/usr/bin/python import sys -import traceback import uuid sys.path.append('hooks/') from charmhelpers.core.hookenv import ( - action_set, - action_fail, config, - relation_ids, - relation_set ) from cinder_hooks import config_changed -from charmhelpers.contrib.openstack.utils import ( - juju_log, - git_install_requested, - openstack_upgrade_available -) - from cinder_utils import ( do_openstack_upgrade, register_configs @@ -38,35 +27,16 @@ def openstack_upgrade(): code to run, otherwise a full service level upgrade will fire on config-changed.""" - if git_install_requested(): - action_set({'outcome': 'installed from source, skipped upgrade.'}) - else: - if openstack_upgrade_available('cinder-common'): - if config('action-managed-upgrade'): - juju_log('Upgrading OpenStack release') - - try: - do_openstack_upgrade(configs=CONFIGS) - - # NOTE(jamespage) tell any storage-backends we just - # upgraded - for rid in relation_ids('storage-backend'): - relation_set(relation_id=rid, - upgrade_nonce=uuid.uuid4()) - - action_set({'outcome': 'success, upgrade completed.'}) - except: - action_set({'outcome': 'upgrade failed, see traceback.'}) - action_set({'traceback': traceback.format_exc()}) - action_fail('do_openstack_upgrade resulted in an ' - 'unexpected error') - - config_changed() - else: - action_set({'outcome': 'action-managed-upgrade config is ' - 'False, skipped upgrade.'}) - else: - action_set({'outcome': 'no upgrade available.'}) + if (do_action_openstack_upgrade('cinder-common', + config('action-managed-upgrade'), + do_openstack_upgrade(), + CONFIGS)): + # NOTE(jamespage) tell any storage-backends we just + # upgraded + for rid in relation_ids('storage-backend'): + relation_set(relation_id=rid, + upgrade_nonce=uuid.uuid4()) + config_changed() if __name__ == '__main__': openstack_upgrade()