Browse Source

Merge "Functional tests should support DNS nameserver config"

changes/99/303299/6
Jenkins 6 years ago committed by Gerrit Code Review
parent
commit
46749e7957
  1. 6
      doc/source/dev/functional-test.rst
  2. 1
      magnum/tests/contrib/post_test_hook.sh
  3. 7
      magnum/tests/functional/common/config.py
  4. 2
      magnum/tests/functional/common/datagen.py
  5. 5
      magnum/tests/functional/python_client_base.py
  6. 1
      magnum/tests/functional/swarm/test_swarm_python_client.py
  7. 4
      magnum/tests/functional/tempest_tests/config.py

6
doc/source/dev/functional-test.rst

@ -39,6 +39,12 @@ If you're using devstack, you can copy and modify the devstack configuration::
source /opt/stack/devstack/openrc demo demo
iniset functional_creds.conf auth password $OS_PASSWORD
Set the DNS name server to be used in your bay nodes (e.g. 8.8.8.8)::
# update DNS name server
source /opt/stack/devstack/openrc demo demo
iniset functional_creds.conf magnum dns_nameserver <dns-svr-ip-address>
Create the necessary keypair and flavor::
source /opt/stack/devstack/openrc admin admin

1
magnum/tests/contrib/post_test_hook.sh

@ -67,6 +67,7 @@ flavor_id = s1.magnum
master_flavor_id = m1.magnum
copy_logs = true
csr_location = $MAGNUM_DIR/default.csr
dns_nameserver = 8.8.8.8
EOF
# Note(eliqiao): Let's keep this only for debugging on gate.

7
magnum/tests/functional/common/config.py

@ -103,6 +103,12 @@ class Config(object):
raise Exception('config missing csr_location key')
cls.csr_location = CONF.magnum.csr_location
@classmethod
def set_dns_nameserver(cls, config):
if 'dns_nameserver' not in CONF.magnum:
raise Exception('config missing dns_nameserver')
cls.dns_nameserver = CONF.magnum.dns_nameserver
@classmethod
def set_copy_logs(cls, config):
if 'copy_logs' not in CONF.magnum:
@ -125,4 +131,5 @@ class Config(object):
cls.set_magnum_url(config)
cls.set_master_flavor_id(config)
cls.set_csr_location(config)
cls.set_dns_nameserver(config)
cls.set_copy_logs(config)

2
magnum/tests/functional/common/datagen.py

@ -203,7 +203,7 @@ def valid_swarm_baymodel():
return baymodel_data(image_id=config.Config.image_id,
fixed_network="192.168.0.0/24",
flavor_id=config.Config.flavor_id, public=False,
dns_nameserver="8.8.8.8",
dns_nameserver=config.Config.dns_nameserver,
master_flavor_id=config.Config.master_flavor_id,
keypair_id=config.Config.keypair_id, coe="swarm",
docker_volume_size=3, cluster_distro=None,

5
magnum/tests/functional/python_client_base.py

@ -54,6 +54,7 @@ class BaseMagnumClient(base.BaseMagnumTest):
flavor_id = cliutils.env('FLAVOR_ID')
master_flavor_id = cliutils.env('MASTER_FLAVOR_ID')
keypair_id = cliutils.env('KEYPAIR_ID')
dns_nameserver = cliutils.env('DNS_NAMESERVER')
copy_logs = cliutils.env('COPY_LOGS')
config = configparser.RawConfigParser()
@ -71,6 +72,8 @@ class BaseMagnumClient(base.BaseMagnumTest):
master_flavor_id = master_flavor_id or config.get(
'magnum', 'master_flavor_id')
keypair_id = keypair_id or config.get('magnum', 'keypair_id')
dns_nameserver = dns_nameserver or config.get(
'magnum', 'dns_nameserver')
try:
copy_logs = copy_logs or config.get('magnum', 'copy_logs')
except configparser.NoOptionError:
@ -81,6 +84,7 @@ class BaseMagnumClient(base.BaseMagnumTest):
cls.flavor_id = flavor_id
cls.master_flavor_id = master_flavor_id
cls.keypair_id = keypair_id
cls.dns_nameserver = dns_nameserver
cls.copy_logs = bool(copy_logs)
cls.cs = v1client.Client(username=user,
api_key=passwd,
@ -132,6 +136,7 @@ class BaseMagnumClient(base.BaseMagnumTest):
docker_volume_size=docker_volume_size,
network_driver=network_driver,
volume_driver=volume_driver,
dns_nameserver=cls.dns_nameserver,
coe=coe,
labels=labels,
tls_disabled=tls_disabled,

1
magnum/tests/functional/swarm/test_swarm_python_client.py

@ -39,7 +39,6 @@ class TestSwarmAPIs(BayTest):
"network_driver": None,
"volume_driver": None,
"fixed_network": '192.168.0.0/24',
"dns_nameserver": '8.8.8.8',
"labels": {}
}

4
magnum/tests/functional/tempest_tests/config.py

@ -56,6 +56,10 @@ MagnumGroup = [
default="/opt/stack/new/magnum/default.csr",
help="CSR location for certificates."),
cfg.StrOpt("dns_nameserver",
default="8.8.8.8",
help="DNS nameserver to use for baymodels."),
cfg.StrOpt("copy_logs",
default=True,
help="Specify whether to copy nova server logs on failure."),

Loading…
Cancel
Save