diff options
author | Rich Megginson <rmeggins@redhat.com> | 2017-05-03 18:14:16 -0600 |
---|---|---|
committer | Rich Megginson <rmeggins@redhat.com> | 2017-05-30 10:39:02 -0600 |
commit | a1cfec9bbe43dd005ab16792c90cc949555cce12 (patch) | |
tree | 8ac6efa0782dd6e6dbd74a6164249c730a607a69 /roles/lib_openshift/src/class | |
parent | 46411cfc431f7960df542c5bdcf62c65f612a965 (diff) | |
download | openshift-a1cfec9bbe43dd005ab16792c90cc949555cce12.tar.gz openshift-a1cfec9bbe43dd005ab16792c90cc949555cce12.tar.bz2 openshift-a1cfec9bbe43dd005ab16792c90cc949555cce12.tar.xz openshift-a1cfec9bbe43dd005ab16792c90cc949555cce12.zip |
add support for oc_service for labels, externalIPs
Add support for `labels` and `externalIPs` in Services
This also adds support for the `labels` parameter of `oadm registry`
and `oadm router` to be a `dict` of values.
This also converts `labels` dict values in the router and registry
classes into a comma delimited list of `key=value` pairs.
The list of `--labels` is sorted for consistency in key pair positioning
in the output (and for consistency in testing) - otherwise, the order
of the list is not guarantee and has actually been observed to be
different from run to run.
Diffstat (limited to 'roles/lib_openshift/src/class')
-rw-r--r-- | roles/lib_openshift/src/class/oc_adm_registry.py | 2 | ||||
-rw-r--r-- | roles/lib_openshift/src/class/oc_adm_router.py | 2 | ||||
-rw-r--r-- | roles/lib_openshift/src/class/oc_service.py | 5 |
3 files changed, 6 insertions, 3 deletions
diff --git a/roles/lib_openshift/src/class/oc_adm_registry.py b/roles/lib_openshift/src/class/oc_adm_registry.py index 3c130fe28..ad6869bb6 100644 --- a/roles/lib_openshift/src/class/oc_adm_registry.py +++ b/roles/lib_openshift/src/class/oc_adm_registry.py @@ -143,7 +143,7 @@ class Registry(OpenShiftCLI): def prepare_registry(self): ''' prepare a registry for instantiation ''' - options = self.config.to_option_list() + options = self.config.to_option_list(ascommalist='labels') cmd = ['registry'] cmd.extend(options) diff --git a/roles/lib_openshift/src/class/oc_adm_router.py b/roles/lib_openshift/src/class/oc_adm_router.py index 1a0b94b80..0d50116d1 100644 --- a/roles/lib_openshift/src/class/oc_adm_router.py +++ b/roles/lib_openshift/src/class/oc_adm_router.py @@ -222,7 +222,7 @@ class Router(OpenShiftCLI): # No certificate was passed to us. do not pass one to oc adm router self.config.config_options['default_cert']['include'] = False - options = self.config.to_option_list() + options = self.config.to_option_list(ascommalist='labels') cmd = ['router', self.config.name] cmd.extend(options) diff --git a/roles/lib_openshift/src/class/oc_service.py b/roles/lib_openshift/src/class/oc_service.py index 20cf23df5..7268a0c88 100644 --- a/roles/lib_openshift/src/class/oc_service.py +++ b/roles/lib_openshift/src/class/oc_service.py @@ -19,13 +19,15 @@ class OCService(OpenShiftCLI): ports, session_affinity, service_type, + external_ips, kubeconfig='/etc/origin/master/admin.kubeconfig', verbose=False): ''' Constructor for OCVolume ''' super(OCService, self).__init__(namespace, kubeconfig, verbose) self.namespace = namespace self.config = ServiceConfig(sname, namespace, ports, selector, labels, - cluster_ip, portal_ip, session_affinity, service_type) + cluster_ip, portal_ip, session_affinity, service_type, + external_ips) self.user_svc = Service(content=self.config.data) self.svc = None @@ -94,6 +96,7 @@ class OCService(OpenShiftCLI): params['ports'], params['session_affinity'], params['service_type'], + params['external_ips'], params['kubeconfig'], params['debug']) |