Add more test and fix config_changed

This commit is contained in:
Andres Rodriguez 2013-08-14 15:39:33 -04:00
parent 48df3e3c90
commit c811d3f9bb
2 changed files with 21 additions and 23 deletions

View File

@ -46,6 +46,7 @@ from charmhelpers.contrib.openstack.openstack_utils import (
get_os_codename_package,
get_os_codename_install_source,
get_os_version_codename,
openstack_upgrade_available,
save_script_rc,
lsb_release, )
@ -225,25 +226,16 @@ def keystone_changed():
@hooks.hook('config-changed')
@restart_on_change(restart_map())
def config_changed():
# Determine whether or not we should do an upgrade, based on whether or not
# the version offered in openstack-origin is greater than what is installed
install_src = config("openstack-origin")
available = get_os_codename_install_source(install_src)
installed = get_os_codename_package("glance-common")
if (available and
get_os_version_codename(available) >
get_os_version_codename(installed)):
juju_log('%s: Upgrading OpenStack release: %s -> %s' %
(CHARM, installed, available))
if openstack_upgrade_available('glance-common'):
juju_log('Upgrading OpenStack release')
do_openstack_upgrade(CONFIGS)
configure_https()
env_vars = {'OPENSTACK_PORT_MCASTPORT': config("ha-mcastport"),
'OPENSTACK_SERVICE_API': "glance-api",
'OPENSTACK_SERVICE_REGISTRY': "glance-registry"}
save_script_rc(**env_vars)
#env_vars = {'OPENSTACK_PORT_MCASTPORT': config("ha-mcastport"),
# 'OPENSTACK_SERVICE_API': "glance-api",
# 'OPENSTACK_SERVICE_REGISTRY': "glance-registry"}
#save_script_rc(**env_vars)
@hooks.hook('cluster-relation-changed')

View File

@ -34,7 +34,7 @@ TO_PATCH = [
'configure_installation_source',
'get_os_codename_install_source',
'get_os_codename_package',
'get_os_version_codename',
'openstack_upgrade_available',
# charmhelpers.contrib.hahelpers.cluster_utils
'eligible_leader',
'is_clustered',
@ -363,15 +363,21 @@ class GlanceRelationTests(CharmTestCase):
object_store_joined.assert_called_with()
self.assertTrue(configure_https.called)
def test_config_changed(self):
self.test_config.set('openstack-origin', 'cloud:precise-grizzly')
self.get_os_codename_install_source.return_value = '10.0'
self.get_os_codename_package.return_value = '9.0'
@patch.object(relations, 'configure_https')
def test_config_changed_no_openstack_upgrade(self, configure_https):
self.openstack_upgrade_available.return_value = False
relations.config_changed()
#self.juju_log.assert_called_with(
# 'glance: Upgrading OpenStack release: 9.0 -> 10.0'
#)
self.assertTrue(configure_https.called)
@patch.object(relations, 'configure_https')
def test_config_changed_with_openstack_upgrade(self, configure_https):
self.openstack_upgrade_available.return_value = True
relations.config_changed()
self.juju_log.assert_called_with(
'Upgrading OpenStack release'
)
self.assertTrue(self.do_openstack_upgrade.called)
self.assertTrue(configure_https.called)
@patch.object(relations, 'CONFIGS')
def test_cluster_changed(self, configs):