Merge "Removed smoke tags from all -api job tests"
diff --git a/neutron/tests/tempest/api/admin/test_quotas.py b/neutron/tests/tempest/api/admin/test_quotas.py
index 94471e1..4e00da2 100644
--- a/neutron/tests/tempest/api/admin/test_quotas.py
+++ b/neutron/tests/tempest/api/admin/test_quotas.py
@@ -15,6 +15,7 @@
import six
from tempest.lib.common.utils import data_utils
+from tempest.lib import exceptions as lib_exc
from tempest import test
from neutron.tests.tempest.api import base
@@ -60,7 +61,7 @@
# Change quotas for tenant
quota_set = self.admin_client.update_quotas(tenant_id,
**new_quotas)
- self.addCleanup(self.admin_client.reset_quotas, tenant_id)
+ self.addCleanup(self._cleanup_quotas, tenant_id)
for key, value in six.iteritems(new_quotas):
self.assertEqual(value, quota_set[key])
@@ -83,3 +84,12 @@
non_default_quotas = self.admin_client.list_quotas()
for q in non_default_quotas['quotas']:
self.assertNotEqual(tenant_id, q['tenant_id'])
+
+ def _cleanup_quotas(self, project_id):
+ # Try to clean up the resources. If it fails, then
+ # assume that everything was already deleted, so
+ # it is OK to continue.
+ try:
+ self.admin_client.reset_quotas(project_id)
+ except lib_exc.NotFound:
+ pass
diff --git a/neutron/tests/tempest/plugin.py b/neutron/tests/tempest/plugin.py
index e583b28..12a01ee 100644
--- a/neutron/tests/tempest/plugin.py
+++ b/neutron/tests/tempest/plugin.py
@@ -16,14 +16,14 @@
import os
-from tempest import config
from tempest.test_discover import plugins
import neutron
+
class NeutronTempestPlugin(plugins.TempestPlugin):
def load_tests(self):
- base_path = os.path.split(os.path.dirname(
+ base_path = os.path.split(os.path.dirname(
os.path.abspath(neutron.__file__)))[0]
test_dir = "neutron/tests/tempest"
full_test_dir = os.path.join(base_path, test_dir)
diff --git a/neutron/tests/tempest/services/network/json/network_client.py b/neutron/tests/tempest/services/network/json/network_client.py
index 18f33e7..e273f55 100644
--- a/neutron/tests/tempest/services/network/json/network_client.py
+++ b/neutron/tests/tempest/services/network/json/network_client.py
@@ -12,7 +12,7 @@
import time
-from oslo_serialization import jsonutils as json
+from oslo_serialization import jsonutils
from six.moves.urllib import parse as urlparse
from tempest.lib.common import rest_client as service_client
from tempest.lib import exceptions as lib_exc
@@ -164,7 +164,7 @@
def create_subnetpool(self, name, **kwargs):
subnetpool_data = {'name': name}
for arg in kwargs:
- subnetpool_data[arg] = kwargs[arg]
+ subnetpool_data[arg] = kwargs[arg]
post_data = {'subnetpool': subnetpool_data}
body = self.serialize_list(post_data, "subnetpools", "subnetpool")
@@ -201,7 +201,7 @@
def update_subnetpool(self, id, **kwargs):
subnetpool_data = {}
for arg in kwargs:
- subnetpool_data[arg] = kwargs[arg]
+ subnetpool_data[arg] = kwargs[arg]
post_data = {'subnetpool': subnetpool_data}
body = self.serialize_list(post_data, "subnetpools", "subnetpool")
@@ -279,40 +279,40 @@
uri = '%s/bgp-speakers/%s/add_bgp_peer' % (self.uri_prefix,
bgp_speaker_id)
update_body = {"bgp_peer_id": bgp_peer_id}
- update_body = json.dumps(update_body)
+ update_body = jsonutils.dumps(update_body)
resp, body = self.put(uri, update_body)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def remove_bgp_peer_with_id(self, bgp_speaker_id, bgp_peer_id):
uri = '%s/bgp-speakers/%s/remove_bgp_peer' % (self.uri_prefix,
bgp_speaker_id)
update_body = {"bgp_peer_id": bgp_peer_id}
- update_body = json.dumps(update_body)
+ update_body = jsonutils.dumps(update_body)
resp, body = self.put(uri, update_body)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def add_bgp_gateway_network(self, bgp_speaker_id, network_id):
uri = '%s/bgp-speakers/%s/add_gateway_network' % (self.uri_prefix,
bgp_speaker_id)
update_body = {"network_id": network_id}
- update_body = json.dumps(update_body)
+ update_body = jsonutils.dumps(update_body)
resp, body = self.put(uri, update_body)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def remove_bgp_gateway_network(self, bgp_speaker_id, network_id):
uri = '%s/bgp-speakers/%s/remove_gateway_network'
uri = uri % (self.uri_prefix, bgp_speaker_id)
update_body = {"network_id": network_id}
- update_body = json.dumps(update_body)
+ update_body = jsonutils.dumps(update_body)
resp, body = self.put(uri, update_body)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def get_bgp_advertised_routes(self, bgp_speaker_id):
@@ -381,10 +381,10 @@
return False
def deserialize_single(self, body):
- return json.loads(body)
+ return jsonutils.loads(body)
def deserialize_list(self, body):
- res = json.loads(body)
+ res = jsonutils.loads(body)
# expecting response in form
# {'resources': [ res1, res2] } => when pagination disabled
# {'resources': [..], 'resources_links': {}} => if pagination enabled
@@ -394,18 +394,18 @@
return res[k]
def serialize(self, data):
- return json.dumps(data)
+ return jsonutils.dumps(data)
def serialize_list(self, data, root=None, item=None):
return self.serialize(data)
def update_quotas(self, tenant_id, **kwargs):
put_body = {'quota': kwargs}
- body = json.dumps(put_body)
+ body = jsonutils.dumps(put_body)
uri = '%s/quotas/%s' % (self.uri_prefix, tenant_id)
resp, body = self.put(uri, body)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body['quota'])
def reset_quotas(self, tenant_id):
@@ -418,18 +418,18 @@
post_body = {'router': kwargs}
post_body['router']['name'] = name
post_body['router']['admin_state_up'] = admin_state_up
- body = json.dumps(post_body)
+ body = jsonutils.dumps(post_body)
uri = '%s/routers' % (self.uri_prefix)
resp, body = self.post(uri, body)
self.expected_success(201, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def _update_router(self, router_id, set_enable_snat, **kwargs):
uri = '%s/routers/%s' % (self.uri_prefix, router_id)
resp, body = self.get(uri)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
update_body = {}
update_body['name'] = kwargs.get('name', body['router']['name'])
update_body['admin_state_up'] = kwargs.get(
@@ -450,10 +450,10 @@
if 'distributed' in kwargs:
update_body['distributed'] = kwargs['distributed']
update_body = dict(router=update_body)
- update_body = json.dumps(update_body)
+ update_body = jsonutils.dumps(update_body)
resp, body = self.put(uri, update_body)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def update_router(self, router_id, **kwargs):
@@ -477,47 +477,47 @@
uri = '%s/routers/%s/add_router_interface' % (self.uri_prefix,
router_id)
update_body = {"subnet_id": subnet_id}
- update_body = json.dumps(update_body)
+ update_body = jsonutils.dumps(update_body)
resp, body = self.put(uri, update_body)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def add_router_interface_with_port_id(self, router_id, port_id):
uri = '%s/routers/%s/add_router_interface' % (self.uri_prefix,
router_id)
update_body = {"port_id": port_id}
- update_body = json.dumps(update_body)
+ update_body = jsonutils.dumps(update_body)
resp, body = self.put(uri, update_body)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def remove_router_interface_with_subnet_id(self, router_id, subnet_id):
uri = '%s/routers/%s/remove_router_interface' % (self.uri_prefix,
router_id)
update_body = {"subnet_id": subnet_id}
- update_body = json.dumps(update_body)
+ update_body = jsonutils.dumps(update_body)
resp, body = self.put(uri, update_body)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def remove_router_interface_with_port_id(self, router_id, port_id):
uri = '%s/routers/%s/remove_router_interface' % (self.uri_prefix,
router_id)
update_body = {"port_id": port_id}
- update_body = json.dumps(update_body)
+ update_body = jsonutils.dumps(update_body)
resp, body = self.put(uri, update_body)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def list_router_interfaces(self, uuid):
uri = '%s/ports?device_id=%s' % (self.uri_prefix, uuid)
resp, body = self.get(uri)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def update_agent(self, agent_id, agent_info):
@@ -527,33 +527,33 @@
"""
uri = '%s/agents/%s' % (self.uri_prefix, agent_id)
agent = {"agent": agent_info}
- body = json.dumps(agent)
+ body = jsonutils.dumps(agent)
resp, body = self.put(uri, body)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def list_routers_on_l3_agent(self, agent_id):
uri = '%s/agents/%s/l3-routers' % (self.uri_prefix, agent_id)
resp, body = self.get(uri)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def list_l3_agents_hosting_router(self, router_id):
uri = '%s/routers/%s/l3-agents' % (self.uri_prefix, router_id)
resp, body = self.get(uri)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def add_router_to_l3_agent(self, agent_id, router_id):
uri = '%s/agents/%s/l3-routers' % (self.uri_prefix, agent_id)
post_body = {"router_id": router_id}
- body = json.dumps(post_body)
+ body = jsonutils.dumps(post_body)
resp, body = self.post(uri, body)
self.expected_success(201, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def remove_router_from_l3_agent(self, agent_id, router_id):
@@ -567,14 +567,14 @@
uri = '%s/networks/%s/dhcp-agents' % (self.uri_prefix, network_id)
resp, body = self.get(uri)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def list_networks_hosted_by_one_dhcp_agent(self, agent_id):
uri = '%s/agents/%s/dhcp-networks' % (self.uri_prefix, agent_id)
resp, body = self.get(uri)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def remove_network_from_dhcp_agent(self, agent_id, network_id):
@@ -592,10 +592,10 @@
"destination": destination}]
}
}
- body = json.dumps(put_body)
+ body = jsonutils.dumps(put_body)
resp, body = self.put(uri, body)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def delete_extra_routes(self, router_id):
@@ -606,19 +606,19 @@
'routes': null_routes
}
}
- body = json.dumps(put_body)
+ body = jsonutils.dumps(put_body)
resp, body = self.put(uri, body)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def add_dhcp_agent_to_network(self, agent_id, network_id):
post_body = {'network_id': network_id}
- body = json.dumps(post_body)
+ body = jsonutils.dumps(post_body)
uri = '%s/agents/%s/dhcp-networks' % (self.uri_prefix, agent_id)
resp, body = self.post(uri, body)
self.expected_success(201, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def list_qos_policies(self, **filters):
@@ -629,16 +629,18 @@
uri = '%s/qos/policies' % self.uri_prefix
resp, body = self.get(uri)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def create_qos_policy(self, name, description, shared, tenant_id=None):
uri = '%s/qos/policies' % self.uri_prefix
- post_data = {'policy': {
+ post_data = {
+ 'policy': {
'name': name,
'description': description,
'shared': shared
- }}
+ }
+ }
if tenant_id is not None:
post_data['policy']['tenant_id'] = tenant_id
resp, body = self.post(uri, self.serialize(post_data))
@@ -657,14 +659,15 @@
def create_bandwidth_limit_rule(self, policy_id, max_kbps, max_burst_kbps):
uri = '%s/qos/policies/%s/bandwidth_limit_rules' % (
self.uri_prefix, policy_id)
- post_data = self.serialize(
- {'bandwidth_limit_rule': {
+ post_data = self.serialize({
+ 'bandwidth_limit_rule': {
'max_kbps': max_kbps,
- 'max_burst_kbps': max_burst_kbps}
- })
+ 'max_burst_kbps': max_burst_kbps
+ }
+ })
resp, body = self.post(uri, post_data)
self.expected_success(201, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def list_bandwidth_limit_rules(self, policy_id):
@@ -687,7 +690,7 @@
uri = '%s/qos/policies/%s/bandwidth_limit_rules/%s' % (
self.uri_prefix, policy_id, rule_id)
post_data = {'bandwidth_limit_rule': kwargs}
- resp, body = self.put(uri, json.dumps(post_data))
+ resp, body = self.put(uri, jsonutils.dumps(post_data))
body = self.deserialize_single(body)
self.expected_success(200, resp.status)
return service_client.ResponseBody(resp, body)
@@ -702,13 +705,14 @@
def create_dscp_marking_rule(self, policy_id, dscp_mark):
uri = '%s/qos/policies/%s/dscp_marking_rules' % (
self.uri_prefix, policy_id)
- post_data = self.serialize(
- {'dscp_marking_rule': {
- 'dscp_mark': dscp_mark}
- })
+ post_data = self.serialize({
+ 'dscp_marking_rule': {
+ 'dscp_mark': dscp_mark
+ }
+ })
resp, body = self.post(uri, post_data)
self.expected_success(201, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def list_dscp_marking_rules(self, policy_id):
@@ -731,7 +735,7 @@
uri = '%s/qos/policies/%s/dscp_marking_rules/%s' % (
self.uri_prefix, policy_id, rule_id)
post_data = {'dscp_marking_rule': kwargs}
- resp, body = self.put(uri, json.dumps(post_data))
+ resp, body = self.put(uri, jsonutils.dumps(post_data))
body = self.deserialize_single(body)
self.expected_success(200, resp.status)
return service_client.ResponseBody(resp, body)
@@ -747,12 +751,12 @@
uri = '%s/qos/rule-types' % self.uri_prefix
resp, body = self.get(uri)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)
def get_auto_allocated_topology(self, tenant_id=None):
uri = '%s/auto-allocated-topology/%s' % (self.uri_prefix, tenant_id)
resp, body = self.get(uri)
self.expected_success(200, resp.status)
- body = json.loads(body)
+ body = jsonutils.loads(body)
return service_client.ResponseBody(resp, body)