def _test_create_network_revision(self): with self.network() as n: network = n['network'] self.assertGreater(network['revision_number'], 0) lswitch = neutron_l2.logical_switch_from_neutron_network(network) self.nb_api.create.assert_called_with(lswitch) return network, lswitch
def update_network_postcommit(self, context): network = context.current lswitch = neutron_l2.logical_switch_from_neutron_network(network) self.nb_api.update(lswitch) LOG.info("DFMechDriver: update network %s", network['id']) return network
def test_create_update_delete_subnet_network_revision(self): network, lswitch = self._test_create_network_revision() self.nb_api.update.assert_not_called() self.nb_api.get.side_effect = nb_api_get_func(lswitch) with self.subnet(network={'network': network}, set_context=True) as s: subnet_id = s['subnet']['id'] new_network = self.driver.get_network(self.context, network['id']) self.assertGreater(new_network['revision_number'], network['revision_number']) lswitch.version = new_network['revision_number'] # Once for lswitch, once for DHCP lport self.assertEqual(2, self.nb_api.update.call_count) self.nb_api.update.assert_called_with(lswitch) self.nb_api.update.reset_mock() data = {'subnet': {'name': 'updated'}} req = self.new_update_request('subnets', data, subnet_id) req.get_response(self.api) network = new_network new_network = self.driver.get_network(self.context, network['id']) new_lswitch = neutron_l2.logical_switch_from_neutron_network( new_network) updated_subnet = self.driver.get_subnet(self.context, subnet_id) new_lswitch.subnets = [neutron_l2.subnet_from_neutron_subnet( updated_subnet)] self.assertGreater(new_network['revision_number'], network['revision_number']) self.nb_api.update.called_once_with(new_lswitch) self.nb_api.update.reset_mock() self.nb_api.get.side_effect = nb_api_get_func(lswitch) self.assertEqual(new_network['revision_number'], lswitch.version) network = new_network req = self.new_delete_request('subnets', subnet_id) req.get_response(self.api) new_network = self.driver.get_network(self.context, network['id']) new_lswitch = neutron_l2.logical_switch_from_neutron_network( new_network) self.assertGreater(new_network['revision_number'], network['revision_number']) self.nb_api.update.called_once_with(new_lswitch) self.assertEqual(new_network['revision_number'], new_lswitch.version)