Add labels option for cluster template
Add a config option `labels`, which is passed to create cluster template Change-Id: Ic44f8e9e7d09d5f3d4d7b2bcc24d16d03c14673e
This commit is contained in:
parent
7762c6e801
commit
fc301ca240
|
@ -15,6 +15,7 @@ import warnings
|
||||||
from tempest import config
|
from tempest import config
|
||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
|
from oslo_utils import strutils
|
||||||
|
|
||||||
CONF = config.CONF
|
CONF = config.CONF
|
||||||
|
|
||||||
|
@ -95,6 +96,21 @@ class Config(object):
|
||||||
raise Exception('config missing image_id key')
|
raise Exception('config missing image_id key')
|
||||||
cls.image_id = CONF.magnum.image_id
|
cls.image_id = CONF.magnum.image_id
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_labels(cls, config):
|
||||||
|
labels = {}
|
||||||
|
ls = strutils.split_by_commas(CONF.magnum.get('labels', None))
|
||||||
|
for l in ls:
|
||||||
|
try:
|
||||||
|
(k, v) = l.split(('='), 1)
|
||||||
|
except ValueError:
|
||||||
|
raise Exception('labels must be in format key1=val1,key2-val2')
|
||||||
|
if k not in labels:
|
||||||
|
labels[k] = v
|
||||||
|
else:
|
||||||
|
raise Exception('key %s in labels defined multiple times')
|
||||||
|
cls.labels = labels
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def set_nic_id(cls, config):
|
def set_nic_id(cls, config):
|
||||||
if 'nic_id' not in CONF.magnum:
|
if 'nic_id' not in CONF.magnum:
|
||||||
|
@ -168,6 +184,7 @@ class Config(object):
|
||||||
cls.set_docker_storage_driver(config)
|
cls.set_docker_storage_driver(config)
|
||||||
cls.set_region(config)
|
cls.set_region(config)
|
||||||
cls.set_image_id(config)
|
cls.set_image_id(config)
|
||||||
|
cls.set_labels(config)
|
||||||
cls.set_nic_id(config)
|
cls.set_nic_id(config)
|
||||||
cls.set_keypair_name(config)
|
cls.set_keypair_name(config)
|
||||||
cls.set_flavor_id(config)
|
cls.set_flavor_id(config)
|
||||||
|
|
|
@ -225,7 +225,8 @@ def valid_kubernetes_baymodel(is_public=False):
|
||||||
cluster_distro=None,
|
cluster_distro=None,
|
||||||
external_network_id=config.Config.nic_id,
|
external_network_id=config.Config.nic_id,
|
||||||
http_proxy=None, https_proxy=None, no_proxy=None,
|
http_proxy=None, https_proxy=None, no_proxy=None,
|
||||||
network_driver=None, volume_driver=None, labels={},
|
network_driver=None, volume_driver=None,
|
||||||
|
labels=config.Config.labels,
|
||||||
tls_disabled=False)
|
tls_disabled=False)
|
||||||
|
|
||||||
|
|
||||||
|
@ -505,7 +506,7 @@ def valid_cluster_template(is_public=False):
|
||||||
external_network_id=config.Config.nic_id,
|
external_network_id=config.Config.nic_id,
|
||||||
http_proxy=None, https_proxy=None,
|
http_proxy=None, https_proxy=None,
|
||||||
no_proxy=None, network_driver=config.Config.network_driver,
|
no_proxy=None, network_driver=config.Config.network_driver,
|
||||||
volume_driver=None, labels={},
|
volume_driver=None, labels=config.Config.labels,
|
||||||
docker_storage_driver=config.Config.docker_storage_driver,
|
docker_storage_driver=config.Config.docker_storage_driver,
|
||||||
tls_disabled=False)
|
tls_disabled=False)
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,8 @@ MagnumGroup = [
|
||||||
cfg.StrOpt("image_id",
|
cfg.StrOpt("image_id",
|
||||||
default="fedora-coreos-latest",
|
default="fedora-coreos-latest",
|
||||||
help="Image id to be used for ClusterTemplate."),
|
help="Image id to be used for ClusterTemplate."),
|
||||||
|
cfg.StrOpt("labels",
|
||||||
|
help="Labels in format key1=value1,key2=value2."),
|
||||||
cfg.StrOpt("nic_id",
|
cfg.StrOpt("nic_id",
|
||||||
default="public",
|
default="public",
|
||||||
help="NIC id."),
|
help="NIC id."),
|
||||||
|
|
Loading…
Reference in New Issue