def test_check_local_db_actions_complete_non_leader( self, mock_is_db_initialised, mock_is_leader, mock_relation_get, mock_relation_set, mock_relation_ids): mock_is_leader.return_value = False shared_db_rel_id = 'shared-db:1' mock_relation_ids.return_value = [shared_db_rel_id] mock_is_db_initialised.return_value = True r_settings = {} def fake_relation_get(unit=None, rid=None, attribute=None): if attribute: return r_settings.get(attribute) else: return r_settings mock_relation_get.side_effect = fake_relation_get nutils.check_local_db_actions_complete() self.assertFalse(mock_relation_set.called) init_db_val = 'unit/1-{}-1234'.format(shared_db_rel_id) r_settings = {nutils.NEUTRON_DB_INIT_RKEY: init_db_val} nutils.check_local_db_actions_complete() calls = [ call( **{ nutils.NEUTRON_DB_INIT_ECHO_RKEY: init_db_val, nutils.NEUTRON_DB_INIT_RKEY: None }) ] mock_relation_set.assert_has_calls(calls) self.service_restart.assert_called_with('neutron-server')
def test_check_local_db_actions_complete(self, mock_is_db_initialised, mock_relation_get, mock_relation_set, mock_relation_ids): shared_db_rel_id = 'shared-db:1' mock_relation_ids.return_value = [shared_db_rel_id] mock_is_db_initialised.return_value = True r_settings = {} def fake_relation_get(unit=None, rid=None, attribute=None): if attribute: return r_settings.get(attribute) else: return r_settings mock_relation_get.side_effect = fake_relation_get nutils.check_local_db_actions_complete() self.assertFalse(mock_relation_set.called) init_db_val = 'unit/1-{}-1234'.format(shared_db_rel_id) r_settings = {nutils.NEUTRON_DB_INIT_RKEY: init_db_val} nutils.check_local_db_actions_complete() calls = [call(**{nutils.NEUTRON_DB_INIT_ECHO_RKEY: init_db_val})] mock_relation_set.assert_has_calls(calls) self.service_restart.assert_called_with('neutron-server')
def test_check_local_db_actions_complete_leader( self, mock_is_db_initialised, mock_is_leader, mock_relation_get, mock_relation_set, mock_relation_ids): mock_is_leader.return_value = True nutils.check_local_db_actions_complete() mock_relation_get.assert_not_called() mock_relation_set.assert_not_called() self.service_restart.assert_not_called()
def test_check_local_db_actions_complete_by_self(self, mock_relation_get, mock_relation_set): mock_relation_get.return_value = {} nutils.check_local_db_actions_complete() self.assertFalse(mock_relation_set.called) mock_relation_get.return_value = {nutils.NEUTRON_DB_INIT_RKEY: 'unit/0-1234'} nutils.check_local_db_actions_complete() self.assertFalse(mock_relation_set.called)
def cluster_joined(relation_id=None): settings = {} for addr_type in ADDRESS_TYPES: address = get_relation_ip( addr_type, cidr_network=config('os-{}-network'.format(addr_type))) if address: settings['{}-address'.format(addr_type)] = address settings['private-address'] = get_relation_ip('cluster') relation_set(relation_id=relation_id, relation_settings=settings) if not relation_id: check_local_db_actions_complete()
def cluster_changed(): CONFIGS.write_all() check_local_db_actions_complete()