def create_network_sync(self, payload): """Notifies that new networks have been created.""" if 'networks' in payload: networks = payload.get('networks') else: networks = [payload.get('network')] for network in networks: if self.traceable: LOG.info("Created network: %s", network) dbi.add_or_update_network(self.context.session, network.get('id'), network.get('name')) if self.grid_config.tenant_name_persistence: keystone_manager.update_tenant_mapping(self.context, networks, self.ctxt['tenant_id'], self.ctxt['tenant_name'])
def create_network_sync(self, payload): """Notifies that new networks have been created.""" if 'networks' in payload: networks = payload.get('networks') else: networks = [payload.get('network')] for network in networks: if self.traceable: LOG.info("Created network: %s", network) dbi.add_or_update_network(self.context.session, network.get('id'), network.get('name')) if self.grid_config.tenant_name_persistence: keystone_manager.update_tenant_mapping(self.context, networks, self.ctxt['tenant_id'], self.ctxt['tenant_name'], self.ctxt['auth_token'])
def _test_update_tenant_mapping(self, auth_token, networks, tenants, expected_results, get_tenants, add_or_update_tenant, sync_tenants_from_keystone): context = mock.Mock() context.session = 'test_session' tenant_id = '1' tenant_name = 'test_tenant_name_1' get_unknown = mock.Mock() get_unknown_params = [] func = keystone_manager._get_unknown_ids_from_dict def store_params(param): get_unknown_params.append(param.copy()) return func(param) get_unknown.side_effect = store_params get_tenants.return_value = tenants with mock.patch('networking_infoblox.neutron.common.keystone_manager.' '_get_unknown_ids_from_dict', get_unknown): keystone_manager.update_tenant_mapping( context, networks, tenant_id, tenant_name, auth_token) add_or_update_tenant.assert_called_once_with(context.session, tenant_id, tenant_name) assert get_unknown.call_count == expected_results['get_unknown_count'] assert get_unknown_params == expected_results['get_unknown_params'] if expected_results['get_tenants_called']: get_tenants.assert_called_once() assert get_tenants.call_args[0] == (context.session,) tenant_ids = expected_results['get_tenant_tenant_ids'] assert( sorted( get_tenants.call_args[1]['tenant_ids']) == tenant_ids) else: get_tenants.assert_not_called() if expected_results['sync_tenants_from_keystone_called']: sync_tenants_from_keystone.assert_called_once_with(context, auth_token) else: sync_tenants_from_keystone.assert_not_called()