def test_update_port_with_qospolicy(self): network = objects.NetworkTestObj(self.neutron, self.nb_api) self.addCleanup(network.close) network_id = network.create() self.assertTrue(network.exists()) qospolicy = objects.QosPolicyTestObj(self.neutron, self.nb_api) self.addCleanup(qospolicy.close) qos_policy_id = qospolicy.create() self.assertTrue(qospolicy.exists()) port = objects.PortTestObj(self.neutron, self.nb_api, network_id) self.addCleanup(port.close) port.create() self.assertTrue(port.exists()) port_param = { 'admin_state_up': True, 'name': 'port1', 'qos_policy_id': qos_policy_id } port.update(port_param) self.assertEqual(qos_policy_id, port.get_logical_port().qos_policy.id) port.close() self.assertFalse(port.exists()) network.close() self.assertFalse(network.exists()) qospolicy.close() self.assertFalse(qospolicy.exists())
def test_update_port_with_qospolicy(self): if cfg.CONF.core_plugin == DF_PLUGIN: return network = self.store(objects.NetworkTestObj(self.neutron, self.nb_api)) network_id = network.create() self.assertTrue(network.exists()) qospolicy = self.store( objects.QosPolicyTestObj(self.neutron, self.nb_api)) qos_policy_id = qospolicy.create() self.assertTrue(qospolicy.exists()) port = self.store( objects.PortTestObj(self.neutron, self.nb_api, network_id)) port.create() self.assertTrue(port.exists()) port_param = { 'admin_state_up': True, 'name': 'port1', 'qos_policy_id': qos_policy_id } port.update(port_param) self.assertEqual(qos_policy_id, port.get_logical_port().get_qos_policy_id()) port.close() self.assertFalse(port.exists()) network.close() self.assertFalse(network.exists()) qospolicy.close() self.assertFalse(qospolicy.exists())
def test_create_delete_qos_policy(self): qospolicy = objects.QosPolicyTestObj(self.neutron, self.nb_api) self.addCleanup(qospolicy.close) policy_id = qospolicy.create() self.assertTrue(qospolicy.exists()) rule = {'max_kbps': '1000', 'max_burst_kbps': '100'} qospolicy.create_rule(policy_id, rule, 'bandwidth_limit') self.assertTrue(qospolicy.exists()) qospolicy.close() self.assertFalse(qospolicy.exists())
def test_create_delete_qos_policy(self): if cfg.CONF.core_plugin == DF_PLUGIN: return qospolicy = self.store( objects.QosPolicyTestObj(self.neutron, self.nb_api)) policy_id = qospolicy.create() self.assertTrue(qospolicy.exists()) rule = {'max_kbps': '1000', 'max_burst_kbps': '100'} qospolicy.create_rule(policy_id, rule) self.assertTrue(qospolicy.exists()) qospolicy.close() self.assertFalse(qospolicy.exists())
def test_qospolicy_version(self): qospolicy = objects.QosPolicyTestObj(self.neutron, self.nb_api) self.addCleanup(qospolicy.close) policy_id = qospolicy.create() self.assertTrue(qospolicy.exists()) version = self.nb_api.get(qos.QosPolicy(id=policy_id)).version rule = {'max_kbps': '1000', 'max_burst_kbps': '100'} qospolicy.create_rule(policy_id, rule, 'bandwidth_limit') self.assertTrue(qospolicy.exists()) new_version = self.nb_api.get(qos.QosPolicy(id=policy_id)).version self.assertGreater(new_version, version) qospolicy.close() self.assertFalse(qospolicy.exists())
def test_qospolicy_version(self): if cfg.CONF.core_plugin == DF_PLUGIN: return qospolicy = self.store( objects.QosPolicyTestObj(self.neutron, self.nb_api)) policy_id = qospolicy.create() self.assertTrue(qospolicy.exists()) version = self.nb_api.get_qos_policy(policy_id).get_version() rule = {'max_kbps': '1000', 'max_burst_kbps': '100'} qospolicy.create_rule(policy_id, rule) self.assertTrue(qospolicy.exists()) new_version = self.nb_api.get_qos_policy(policy_id).get_version() self.assertGreater(new_version, version) qospolicy.close() self.assertFalse(qospolicy.exists())
def test_port_with_qospolicy(self): network = self.store(objects.NetworkTestObj(self.neutron, self.nb_api)) network_id = network.create() self.assertTrue(network.exists()) subnet = self.store( objects.SubnetTestObj(self.neutron, self.nb_api, network_id=network_id)) subnet.create() self.assertTrue(subnet.exists()) vm = self.store(objects.VMTestObj(self, self.neutron)) vm_id = vm.create(network=network) vm_port_id = self.vswitch_api.get_port_id_by_vm_id(vm_id) self.assertIsNotNone(vm_port_id) port = objects.PortTestObj(self.neutron, self.nb_api, network_id, vm_port_id) qospolicy = self.store( objects.QosPolicyTestObj(self.neutron, self.nb_api)) qos_policy_id = qospolicy.create() time.sleep(const.DEFAULT_CMD_TIMEOUT) self.assertTrue(qospolicy.exists()) qospolicy.create_rule(qos_policy_id, { 'max_kbps': '1000', 'max_burst_kbps': '100' }, 'bandwidth_limit') qospolicy.create_rule(qos_policy_id, {'dscp_mark': '10'}, 'dscp_marking') port_param = {'qos_policy_id': qos_policy_id} port.update(port_param) time.sleep(const.DEFAULT_CMD_TIMEOUT) logical_port = port.get_logical_port() self.assertEqual(qos_policy_id, logical_port.qos_policy.id) check_columns = {'ingress_policing_rate', 'ingress_policing_burst'} interface = \ self.vswitch_api.get_interface_by_id_with_specified_columns( vm_port_id, check_columns) self.assertIsNotNone(interface) self.assertEqual(1000, interface.get('ingress_policing_rate')) self.assertEqual(100, interface.get('ingress_policing_burst')) queue = self.vswitch_api.get_queue_info_by_port_id(vm_port_id) self.assertIsNotNone(queue) self.assertEqual(queue['other_config']['max-rate'], '1024000') self.assertEqual(queue['other_config']['min-rate'], '1024000') self.assertEqual(queue['dscp'], 10) qos = self.vswitch_api.get_qos_info_by_port_id(vm_port_id) self.assertIsNotNone(qos) self.assertEqual(qos['queues'][0].uuid, queue['_uuid']) ovs_port = self.vswitch_api.get_ovs_port_by_id_with_specified_columns( vm_port_id, {'qos'}) self.assertIsNotNone(ovs_port) self.assertEqual(ovs_port['qos'], qos['_uuid']) vm.close() time.sleep(const.DEFAULT_CMD_TIMEOUT) queue = self.vswitch_api.get_queue_info_by_port_id(vm_port_id) self.assertIsNone(queue) qos = self.vswitch_api.get_qos_info_by_port_id(vm_port_id) self.assertIsNone(qos)