Disable nova placement API

The placement project has split from nova into its own project
in Train. This patch disables the nova placement API as of Stein
when the placement charm relatation joins, and discontinues
nova placement installation as of Train for new installs.

Change-Id: If7c37ef8936e418b5afd21d83c9322563348cbcf
Needed-By: https://review.opendev.org/#/c/687915/
Partial-Bug: 1811681
This commit is contained in:
Corey Bryant
2019-10-08 18:03:47 +00:00
parent f7f6fa295c
commit 81860afeca
10 changed files with 108 additions and 13 deletions

View File

@@ -57,6 +57,7 @@ TO_PATCH = [
'charmhelpers.core.hookenv.unit_get',
'charmhelpers.core.host.service_pause',
'charmhelpers.core.host.service_reload',
'charmhelpers.core.host.service_restart',
'charmhelpers.core.host.service_resume',
'charmhelpers.fetch.apt_install',
'charmhelpers.fetch.apt_update',
@@ -1060,6 +1061,28 @@ class NovaCCHooksTests(CharmTestCase):
ha='settings',
relation_id=None)
@patch('hooks.nova_cc_utils.disable_deprecated_nova_placement_apache_site')
def test_placement_joined(self, disable_nova_placement):
hooks.placement_relation_joined()
self.assertTrue(disable_nova_placement.called)
self.relation_set.assert_called_with(nova_placement_disabled=True,
relation_id=None)
@patch.object(hooks, 'compute_joined')
@patch.object(hooks, 'identity_joined')
@patch.object(hooks, 'CONFIGS')
def test_placement_changed(self, configs, identity_joined, compute_joined):
self.test_relation.set({
'placement_enabled': True,
})
self.services.return_value = ['dummy-service']
self.relation_ids.return_value = ['generic_rid']
hooks.placement_relation_changed()
self.assertTrue(self.service_restart.called)
self.assertTrue(configs.write_all.called)
self.assertTrue(identity_joined.called)
self.assertTrue(compute_joined.called)
@patch.object(hooks, 'memcached_common')
def test_memcache_joined(self, _memcached_common):
self.get_relation_ip.return_value = 'foo'