summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Dodson <sdodson@redhat.com>2016-07-27 15:16:57 -0400
committerGitHub <noreply@github.com>2016-07-27 15:16:57 -0400
commit21eb39662663939f89b77f2609ccb5f64d699813 (patch)
tree952e348c8a7812ddcee47749320d44f364f5d7ef
parent436701a3d34740acb08f2580118f317113a1b5e0 (diff)
parent3b5e5409e6b2cbb406ece8b5a20ec1f19ab18f72 (diff)
downloadopenshift-21eb39662663939f89b77f2609ccb5f64d699813.tar.gz
openshift-21eb39662663939f89b77f2609ccb5f64d699813.tar.bz2
openshift-21eb39662663939f89b77f2609ccb5f64d699813.tar.xz
openshift-21eb39662663939f89b77f2609ccb5f64d699813.zip
Merge pull request #2228 from smunilla/arbitrary_host_vars
a-o-i: Support for arbitrary host-level variables
-rw-r--r--utils/src/ooinstall/oo_config.py5
-rw-r--r--utils/src/ooinstall/openshift_ansible.py4
2 files changed, 8 insertions, 1 deletions
diff --git a/utils/src/ooinstall/oo_config.py b/utils/src/ooinstall/oo_config.py
index fc06a0c4a..e37892c9b 100644
--- a/utils/src/ooinstall/oo_config.py
+++ b/utils/src/ooinstall/oo_config.py
@@ -56,6 +56,8 @@ class Host(object):
# allowable roles: master, node, etcd, storage, master_lb, new
self.roles = kwargs.get('roles', [])
+ self.other_variables = kwargs.get('other_variables', {})
+
if self.connect_to is None:
raise OOConfigInvalidHostError(
"You must specify either an ip or hostname as 'connect_to'")
@@ -71,7 +73,8 @@ class Host(object):
d = {}
for prop in ['ip', 'hostname', 'public_ip', 'public_hostname', 'connect_to',
- 'preconfigured', 'containerized', 'schedulable', 'roles', 'node_labels']:
+ 'preconfigured', 'containerized', 'schedulable', 'roles', 'node_labels',
+ 'other_variables']:
# If the property is defined (not None or False), export it:
if getattr(self, prop):
d[prop] = getattr(self, prop)
diff --git a/utils/src/ooinstall/openshift_ansible.py b/utils/src/ooinstall/openshift_ansible.py
index b93178e77..a41de7378 100644
--- a/utils/src/ooinstall/openshift_ansible.py
+++ b/utils/src/ooinstall/openshift_ansible.py
@@ -193,6 +193,7 @@ def write_proxy_settings(base_inventory):
pass
+# pylint: disable=too-many-branches
def write_host(host, inventory, schedulable=None):
global CFG
@@ -207,6 +208,9 @@ def write_host(host, inventory, schedulable=None):
facts += ' openshift_public_hostname={}'.format(host.public_hostname)
if host.containerized:
facts += ' containerized={}'.format(host.containerized)
+ if host.other_variables:
+ for variable, value in host.other_variables.iteritems():
+ facts += " {}={}".format(variable, value)
# Distinguish between three states, no schedulability specified (use default),
# explicitly set to True, or explicitly set to False: