diff options
author | Scott Dodson <sdodson@redhat.com> | 2016-07-27 15:16:57 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-27 15:16:57 -0400 |
commit | 21eb39662663939f89b77f2609ccb5f64d699813 (patch) | |
tree | 952e348c8a7812ddcee47749320d44f364f5d7ef | |
parent | 436701a3d34740acb08f2580118f317113a1b5e0 (diff) | |
parent | 3b5e5409e6b2cbb406ece8b5a20ec1f19ab18f72 (diff) | |
download | openshift-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.py | 5 | ||||
-rw-r--r-- | utils/src/ooinstall/openshift_ansible.py | 4 |
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: |