Merge "Refactor the subnetpools API tests"
diff --git a/neutron/tests/tempest/auth.py b/neutron/tests/tempest/auth.py
index fc43597..a9fdb03 100644
--- a/neutron/tests/tempest/auth.py
+++ b/neutron/tests/tempest/auth.py
@@ -20,14 +20,11 @@
import re
import urlparse
-from oslo_log import log as logging
import six
from tempest_lib.services.identity.v2 import token_client as json_v2id
from tempest_lib.services.identity.v3 import token_client as json_v3id
-LOG = logging.getLogger(__name__)
-
@six.add_metaclass(abc.ABCMeta)
class AuthProvider(object):
diff --git a/neutron/tests/tempest/common/cred_provider.py b/neutron/tests/tempest/common/cred_provider.py
index 07fa89f..b90d09d 100644
--- a/neutron/tests/tempest/common/cred_provider.py
+++ b/neutron/tests/tempest/common/cred_provider.py
@@ -14,7 +14,6 @@
import abc
-from oslo_log import log as logging
import six
from neutron.tests.tempest import auth
@@ -22,7 +21,6 @@
from neutron.tests.tempest import exceptions
CONF = config.CONF
-LOG = logging.getLogger(__name__)
# Type of credentials available from configuration
CREDENTIAL_TYPES = {
diff --git a/neutron/tests/tempest/common/generator/base_generator.py b/neutron/tests/tempest/common/generator/base_generator.py
index 6db3f24..41ed48c 100644
--- a/neutron/tests/tempest/common/generator/base_generator.py
+++ b/neutron/tests/tempest/common/generator/base_generator.py
@@ -19,10 +19,6 @@
import jsonschema
import six
-from oslo_log import log as logging
-
-LOG = logging.getLogger(__name__)
-
def _check_for_expected_result(name, schema):
expected_result = None
diff --git a/neutron/tests/tempest/common/generator/negative_generator.py b/neutron/tests/tempest/common/generator/negative_generator.py
index ba8884f..44cd305 100644
--- a/neutron/tests/tempest/common/generator/negative_generator.py
+++ b/neutron/tests/tempest/common/generator/negative_generator.py
@@ -15,13 +15,9 @@
import copy
-from oslo_log import log as logging
-
import neutron.tests.tempest.common.generator.base_generator as base
import neutron.tests.tempest.common.generator.valid_generator as valid
-LOG = logging.getLogger(__name__)
-
class NegativeTestGenerator(base.BasicGeneratorSet):
@base.generator_type("string")
diff --git a/neutron/tests/tempest/common/generator/valid_generator.py b/neutron/tests/tempest/common/generator/valid_generator.py
index 2698200..bc7014c 100644
--- a/neutron/tests/tempest/common/generator/valid_generator.py
+++ b/neutron/tests/tempest/common/generator/valid_generator.py
@@ -13,15 +13,11 @@
# License for the specific language governing permissions and limitations
# under the License.
-from oslo_log import log as logging
import six
import neutron.tests.tempest.common.generator.base_generator as base
-LOG = logging.getLogger(__name__)
-
-
class ValidTestGenerator(base.BasicGeneratorSet):
@base.generator_type("string")
@base.simple_generator
diff --git a/neutron/tests/tempest/config.py b/neutron/tests/tempest/config.py
index 256d687..06fd541 100644
--- a/neutron/tests/tempest/config.py
+++ b/neutron/tests/tempest/config.py
@@ -59,7 +59,19 @@
"number of concurrent test processes."),
cfg.ListOpt('tempest_roles',
help="Roles to assign to all users created by tempest",
- default=[])
+ default=[]),
+ cfg.StrOpt('admin_username',
+ help="Administrative Username to use for "
+ "Keystone API requests."),
+ cfg.StrOpt('admin_tenant_name',
+ help="Administrative Tenant name to use for Keystone API "
+ "requests."),
+ cfg.StrOpt('admin_password',
+ help="API key to use when authenticating as admin.",
+ secret=True),
+ cfg.StrOpt('admin_domain_name',
+ help="Admin domain name for authentication (Keystone V3)."
+ "The same domain applies to user and project"),
]
identity_group = cfg.OptGroup(name='identity',
@@ -119,18 +131,6 @@
cfg.StrOpt('alt_domain_name',
help="Alternate domain name for authentication (Keystone V3)."
"The same domain applies to user and project"),
- cfg.StrOpt('admin_username',
- help="Administrative Username to use for "
- "Keystone API requests."),
- cfg.StrOpt('admin_tenant_name',
- help="Administrative Tenant name to use for Keystone API "
- "requests."),
- cfg.StrOpt('admin_password',
- help="API key to use when authenticating as admin.",
- secret=True),
- cfg.StrOpt('admin_domain_name',
- help="Admin domain name for authentication (Keystone V3)."
- "The same domain applies to user and project"),
]
identity_feature_group = cfg.OptGroup(name='identity-feature-enabled',
@@ -479,6 +479,10 @@
"the extended IPv6 attributes ipv6_ra_mode "
"and ipv6_address_mode"
),
+ cfg.BoolOpt('specify_floating_ip_address_available',
+ default=True,
+ help='Allow passing an IP Address of the floating ip when '
+ 'creating the floating ip'),
]
messaging_group = cfg.OptGroup(name='messaging',
@@ -1148,6 +1152,18 @@
self.input_scenario = cfg.CONF['input-scenario']
self.cli = cfg.CONF.cli
self.negative = cfg.CONF.negative
+
+ self.identity.admin_username = self.auth.admin_username
+ self.identity.admin_password = self.auth.admin_password
+ self.identity.admin_tenant_name = self.auth.admin_tenant_name
+ self.identity.admin_domain_name = self.auth.admin_domain_name
+ self.identity.password = self.auth.admin_password
+ self.identity.tenant_name = 'demo'
+ self.identity.username = 'demo'
+ self.identity.alt_username = 'alt_demo'
+ self.identity.alt_tenant_name = 'alt_demo'
+ self.identity.alt_password = self.auth.admin_password
+
cfg.CONF.set_default('domain_name', self.identity.admin_domain_name,
group='identity')
cfg.CONF.set_default('alt_domain_name',
diff --git a/neutron/tests/tempest/services/network/json/network_client.py b/neutron/tests/tempest/services/network/json/network_client.py
index 862afbe..afcb1fd 100644
--- a/neutron/tests/tempest/services/network/json/network_client.py
+++ b/neutron/tests/tempest/services/network/json/network_client.py
@@ -11,11 +11,9 @@
# under the License.
import time
-import urllib
-
from oslo_serialization import jsonutils as json
-from six.moves.urllib import parse
+from six.moves.urllib import parse as urlparse
from tempest_lib.common.utils import misc
from tempest_lib import exceptions as lib_exc
@@ -106,7 +104,7 @@
def _list(**filters):
uri = self.get_uri(plural_name)
if filters:
- uri += '?' + parse.urlencode(filters, doseq=1)
+ uri += '?' + urlparse.urlencode(filters, doseq=1)
resp, body = self.get(uri)
result = {plural_name: self.deserialize_list(body)}
self.expected_success(200, resp.status)
@@ -132,7 +130,7 @@
plural = self.pluralize(resource_name)
uri = '%s/%s' % (self.get_uri(plural), resource_id)
if fields:
- uri += '?' + parse.urlencode(fields, doseq=1)
+ uri += '?' + urlparse.urlencode(fields, doseq=1)
resp, body = self.get(uri)
body = self.deserialize_single(body)
self.expected_success(200, resp.status)
@@ -592,7 +590,7 @@
def list_qos_policies(self, **filters):
if filters:
uri = '%s/qos/policies?%s' % (self.uri_prefix,
- urllib.urlencode(filters))
+ urlparse.urlencode(filters))
else:
uri = '%s/qos/policies' % self.uri_prefix
resp, body = self.get(uri)