From 3b5e5409e6b2cbb406ece8b5a20ec1f19ab18f72 Mon Sep 17 00:00:00 2001 From: Samuel Munilla Date: Wed, 27 Jul 2016 10:58:48 -0400 Subject: a-o-i: Support for arbitrary host-level variables This allows the user to set a block containing any variables they want to set per-host instead of per-role. --- utils/src/ooinstall/oo_config.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'utils/src/ooinstall/oo_config.py') 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) -- cgit v1.2.3