charm-nova-cloud-controller/actions/openstack_upgrade.py

43 lines
1.0 KiB
Python
Executable File

#!/usr/bin/python
import sys
sys.path.append('hooks/')
from charmhelpers.contrib.openstack.utils import (
do_action_openstack_upgrade,
)
from charmhelpers.core.hookenv import (
relation_ids,
)
from nova_cc_hooks import neutron_api_relation_joined
from nova_cc_utils import (
do_openstack_upgrade,
register_configs
)
from nova_cc_hooks import config_changed
CONFIGS = register_configs()
def openstack_upgrade():
"""Upgrade packages to config-set Openstack version.
If the charm was installed from source we cannot upgrade it.
For backwards compatibility a config flag must be set for this
code to run, otherwise a full service level upgrade will fire
on config-changed."""
if (do_action_openstack_upgrade('nova-common',
do_openstack_upgrade,
CONFIGS)):
[neutron_api_relation_joined(rid=rid, remote_restart=True)
for rid in relation_ids('neutron-api')]
config_changed()
if __name__ == '__main__':
openstack_upgrade()