Remove the nova-api handling functions

The nova-api (commit 962790239b)
introduced a 'nova-api' ready relation, but it was never added to the
metadata.yaml and it has never been used.  This commit removes it, as
there is no need for it after 3 years, and it therefore has a
maintenance burden, even if not being used.

Change-Id: I6b13e2639b808fd640a6f8d892d1e3dd58215361
This commit is contained in:
Alex Kavanagh 2019-06-24 20:48:20 +01:00
parent a51efaf640
commit a0edc83109
4 changed files with 2 additions and 77 deletions

View File

@ -315,9 +315,6 @@ def amqp_changed():
# db relation-changed hooks. # db relation-changed hooks.
update_cell_db_if_ready_allowed_units() update_cell_db_if_ready_allowed_units()
for r_id in hookenv.relation_ids('nova-api'):
nova_api_relation_joined(rid=r_id)
update_child_cell_records() update_child_cell_records()
# NOTE: trigger restart on nova-api-metadata on # NOTE: trigger restart on nova-api-metadata on
@ -412,9 +409,6 @@ def image_service_changed():
CONFIGS.write(ncc_utils.NOVA_CONF) CONFIGS.write(ncc_utils.NOVA_CONF)
# TODO: special case config flag for essex (strip protocol) # TODO: special case config flag for essex (strip protocol)
for r_id in hookenv.relation_ids('nova-api'):
nova_api_relation_joined(rid=r_id)
@hooks.hook('identity-service-relation-joined') @hooks.hook('identity-service-relation-joined')
def identity_joined(rid=None): def identity_joined(rid=None):
@ -448,9 +442,6 @@ def identity_changed():
neutron_api_relation_joined(rid) neutron_api_relation_joined(rid)
configure_https() configure_https()
for r_id in hookenv.relation_ids('nova-api'):
nova_api_relation_joined(rid=r_id)
@hooks.hook('nova-volume-service-relation-joined', @hooks.hook('nova-volume-service-relation-joined',
'cinder-volume-service-relation-joined') 'cinder-volume-service-relation-joined')
@ -624,9 +615,6 @@ def compute_joined(rid=None, remote_restart=False):
@hooks.hook('cloud-compute-relation-changed') @hooks.hook('cloud-compute-relation-changed')
def compute_changed(rid=None, unit=None): def compute_changed(rid=None, unit=None):
for r_id in hookenv.relation_ids('nova-api'):
nova_api_relation_joined(rid=r_id)
rel_settings = hookenv.relation_get(rid=rid, unit=unit) rel_settings = hookenv.relation_get(rid=rid, unit=unit)
if not rel_settings.get('region', None) == hookenv.config('region'): if not rel_settings.get('region', None) == hookenv.config('region'):
hookenv.relation_set(relation_id=rid, region=hookenv.config('region')) hookenv.relation_set(relation_id=rid, region=hookenv.config('region'))
@ -988,13 +976,6 @@ def zeromq_configuration_relation_changed():
CONFIGS.write(ncc_utils.NOVA_CONF) CONFIGS.write(ncc_utils.NOVA_CONF)
def nova_api_relation_joined(rid=None):
rel_data = {
'nova-api-ready': 'yes' if ncc_utils.is_api_ready(CONFIGS) else 'no'
}
hookenv.relation_set(rid, **rel_data)
@hooks.hook('certificates-relation-joined') @hooks.hook('certificates-relation-joined')
def certs_joined(relation_id=None): def certs_joined(relation_id=None):
hookenv.relation_set( hookenv.relation_set(

View File

@ -1392,11 +1392,6 @@ def check_optional_relations(configs):
return "unknown", "" return "unknown", ""
def is_api_ready(configs):
return (not ch_utils.incomplete_relation_data(configs,
REQUIRED_INTERFACES))
def assess_status(configs): def assess_status(configs):
"""Assess status of current unit """Assess status of current unit
Decides what the state of the unit should be based on the current Decides what the state of the unit should be based on the current

View File

@ -343,18 +343,6 @@ class NovaCCHooksTests(CharmTestCase):
[call(rid='generic_rid', remote_restart=False)]) [call(rid='generic_rid', remote_restart=False)])
self.assertTrue(mock_update_aws_compat_services.called) self.assertTrue(mock_update_aws_compat_services.called)
@patch('hooks.nova_cc_utils.is_cellv2_init_ready')
@patch('hooks.nova_cc_utils.is_db_initialised')
@patch.object(hooks, 'nova_api_relation_joined')
def test_compute_changed_nova_api_trigger(self, api_joined,
mock_is_db_initialised,
mock_is_cellv2_init_ready):
self.relation_ids.return_value = ['nova-api/0']
mock_is_db_initialised.return_value = False
mock_is_cellv2_init_ready.return_value = False
hooks.compute_changed()
api_joined.assert_called_with(rid='nova-api/0')
@patch('hooks.nova_cc_utils.is_cellv2_init_ready') @patch('hooks.nova_cc_utils.is_cellv2_init_ready')
@patch('hooks.nova_cc_utils.is_db_initialised') @patch('hooks.nova_cc_utils.is_db_initialised')
def test_compute_changed_ssh_migration(self, mock_is_db_initialised, def test_compute_changed_ssh_migration(self, mock_is_db_initialised,
@ -623,12 +611,10 @@ class NovaCCHooksTests(CharmTestCase):
hooks.db_changed() hooks.db_changed()
@patch.object(utils, 'resource_map') @patch.object(utils, 'resource_map')
@patch.object(hooks, 'nova_api_relation_joined')
@patch('hooks.nova_cc_utils.is_db_initialised') @patch('hooks.nova_cc_utils.is_db_initialised')
@patch.object(hooks, 'CONFIGS') @patch.object(hooks, 'CONFIGS')
def test_db_changed(self, configs, def test_db_changed(self, configs,
mock_is_db_initialised, api_joined, mock_resource_map): mock_is_db_initialised, mock_resource_map):
self.relation_ids.return_value = ['nova-api/0']
mock_is_db_initialised.return_value = False mock_is_db_initialised.return_value = False
mock_resource_map.return_value = {} mock_resource_map.return_value = {}
'No database migration is attempted when ACL list is not present' 'No database migration is attempted when ACL list is not present'
@ -636,7 +622,6 @@ class NovaCCHooksTests(CharmTestCase):
self._shared_db_test(configs) self._shared_db_test(configs)
self.assertTrue(configs.write_all.called) self.assertTrue(configs.write_all.called)
self.assertFalse(self.migrate_nova_databases.called) self.assertFalse(self.migrate_nova_databases.called)
api_joined.asert_called_with(rid='nova-api/0')
@patch.object(utils, 'resource_map') @patch.object(utils, 'resource_map')
@patch('hooks.nova_cc_utils.is_db_initialised') @patch('hooks.nova_cc_utils.is_db_initialised')
@ -721,16 +706,14 @@ class NovaCCHooksTests(CharmTestCase):
@patch.object(hooks, 'update_cell_db_if_ready_allowed_units') @patch.object(hooks, 'update_cell_db_if_ready_allowed_units')
@patch('hooks.nova_cc_utils.is_db_initialised') @patch('hooks.nova_cc_utils.is_db_initialised')
@patch.object(hooks, 'quantum_joined') @patch.object(hooks, 'quantum_joined')
@patch.object(hooks, 'nova_api_relation_joined')
@patch.object(hooks, 'CONFIGS') @patch.object(hooks, 'CONFIGS')
def test_amqp_changed_api_rel(self, configs, api_joined, def test_amqp_changed_api_rel(self, configs,
quantum_joined, mock_is_db_initialised, quantum_joined, mock_is_db_initialised,
update_db_allowed, init_db_allowed, update_db_allowed, init_db_allowed,
mock_resource_map, mock_resource_map,
mock_update_child_cell_records): mock_update_child_cell_records):
mock_resource_map.return_value = {} mock_resource_map.return_value = {}
self.relation_ids.side_effect = [ self.relation_ids.side_effect = [
['nova-api/0'],
['quantum-service/0'], ['quantum-service/0'],
] ]
mock_is_db_initialised.return_value = False mock_is_db_initialised.return_value = False
@ -742,7 +725,6 @@ class NovaCCHooksTests(CharmTestCase):
hooks.amqp_changed() hooks.amqp_changed()
self.assertEqual(configs.write.call_args_list, self.assertEqual(configs.write.call_args_list,
[call('/etc/nova/nova.conf')]) [call('/etc/nova/nova.conf')])
api_joined.assert_called_with(rid='nova-api/0')
quantum_joined.assert_called_with(rid='quantum-service/0', quantum_joined.assert_called_with(rid='quantum-service/0',
remote_restart=True) remote_restart=True)
@ -752,11 +734,9 @@ class NovaCCHooksTests(CharmTestCase):
@patch.object(utils, 'resource_map') @patch.object(utils, 'resource_map')
@patch('hooks.nova_cc_utils.is_db_initialised') @patch('hooks.nova_cc_utils.is_db_initialised')
@patch.object(hooks, 'quantum_joined') @patch.object(hooks, 'quantum_joined')
@patch.object(hooks, 'nova_api_relation_joined')
@patch.object(hooks, 'CONFIGS') @patch.object(hooks, 'CONFIGS')
def test_amqp_changed_noapi_rel(self, def test_amqp_changed_noapi_rel(self,
configs, configs,
api_joined,
quantum_joined, quantum_joined,
mock_is_db_initialised, mock_is_db_initialised,
mock_resource_map, mock_resource_map,
@ -769,7 +749,6 @@ class NovaCCHooksTests(CharmTestCase):
configs.complete_contexts.return_value = ['amqp'] configs.complete_contexts.return_value = ['amqp']
configs.write = MagicMock() configs.write = MagicMock()
self.relation_ids.side_effect = [ self.relation_ids.side_effect = [
['nova-api/0'],
['quantum-service/0'], ['quantum-service/0'],
] ]
self.is_relation_made.return_value = False self.is_relation_made.return_value = False
@ -778,7 +757,6 @@ class NovaCCHooksTests(CharmTestCase):
hooks.amqp_changed() hooks.amqp_changed()
self.assertEqual(configs.write.call_args_list, self.assertEqual(configs.write.call_args_list,
[call('/etc/nova/nova.conf')]) [call('/etc/nova/nova.conf')])
api_joined.assert_called_with(rid='nova-api/0')
quantum_joined.assert_called_with(rid='quantum-service/0', quantum_joined.assert_called_with(rid='quantum-service/0',
remote_restart=True) remote_restart=True)
@ -959,20 +937,6 @@ class NovaCCHooksTests(CharmTestCase):
ha='settings', ha='settings',
relation_id=None) relation_id=None)
@patch('hooks.nova_cc_utils.is_api_ready')
def helper_test_nova_api_relation_joined(self, tgt, is_api_ready):
is_api_ready.return_value = tgt
exp = 'yes' if tgt else 'no'
hooks.nova_api_relation_joined(rid='foo')
self.relation_set.assert_called_with(
'foo', **{'nova-api-ready': exp})
def test_nova_api_relation_joined_ready(self):
self.helper_test_nova_api_relation_joined(True)
def test_nova_api_relation_joined_not_ready(self):
self.helper_test_nova_api_relation_joined(False)
@patch.object(hooks, 'memcached_common') @patch.object(hooks, 'memcached_common')
def test_memcache_joined(self, _memcached_common): def test_memcache_joined(self, _memcached_common):
self.get_relation_ip.return_value = 'foo' self.get_relation_ip.return_value = 'foo'

View File

@ -1194,21 +1194,6 @@ class NovaCCUtilsTests(CharmTestCase):
self.assertFalse(self.service_running.called) self.assertFalse(self.service_running.called)
self.assertFalse(_mc.called) self.assertFalse(_mc.called)
def helper_test_is_api_ready(self, tgt):
fake_config = MagicMock()
with patch('charmhelpers.contrib.openstack.utils.'
'incomplete_relation_data') as ird:
ird.return_value = (not tgt)
self.assertEqual(utils.is_api_ready(fake_config), tgt)
ird.assert_called_with(
fake_config, utils.REQUIRED_INTERFACES)
def test_is_api_ready_true(self):
self.helper_test_is_api_ready(True)
def test_is_api_ready_false(self):
self.helper_test_is_api_ready(False)
def test_assess_status(self): def test_assess_status(self):
with patch.object(utils, 'assess_status_func') as asf: with patch.object(utils, 'assess_status_func') as asf:
configs = MagicMock() configs = MagicMock()