summaryrefslogtreecommitdiffstats
path: root/bin/cluster
diff options
context:
space:
mode:
authorLénaïc Huard <lhuard@amadeus.com>2016-03-23 14:39:22 +0100
committerLénaïc Huard <lhuard@amadeus.com>2016-04-01 17:35:24 +0200
commit51b2ebf46694e0dc51ef56985a54112ed3933017 (patch)
treeebe0c4b41a51dbab6cddfd2b60b2b7460ba7cf67 /bin/cluster
parentb7ed298359eaa69b1c00acd0edd101511765c6ea (diff)
downloadopenshift-51b2ebf46694e0dc51ef56985a54112ed3933017.tar.gz
openshift-51b2ebf46694e0dc51ef56985a54112ed3933017.tar.bz2
openshift-51b2ebf46694e0dc51ef56985a54112ed3933017.tar.xz
openshift-51b2ebf46694e0dc51ef56985a54112ed3933017.zip
Enable Ansible ssh pipelining to speedup deployment
https://docs.ansible.com/ansible/intro_configuration.html#pipelining
Diffstat (limited to 'bin/cluster')
-rwxr-xr-xbin/cluster15
1 files changed, 15 insertions, 0 deletions
diff --git a/bin/cluster b/bin/cluster
index ecb8bc58e..fcab685ef 100755
--- a/bin/cluster
+++ b/bin/cluster
@@ -34,6 +34,8 @@ class Cluster(object):
os.environ['ANSIBLE_HOST_KEY_CHECKING'] = 'False'
# TODO: A more secure way to proceed would consist in dynamically
# retrieving the ssh host public keys from the IaaS interface
+ if 'ANSIBLE_SSH_PIPELINING' not in os.environ:
+ os.environ['ANSIBLE_SSH_PIPELINING'] = 'True'
def get_deployment_type(self, args):
"""
@@ -284,7 +286,20 @@ if __name__ == '__main__':
cluster = Cluster()
parser = argparse.ArgumentParser(
+ formatter_class=argparse.RawDescriptionHelpFormatter,
description='Python wrapper to ensure proper configuration for OpenShift ansible playbooks',
+ epilog='''\
+This wrapper is overriding the following ansible variables:
+
+ * ANSIBLE_SSH_ARGS:
+ If not set in the environment, this wrapper will use the following value:
+ `-o ForwardAgent=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ControlMaster=auto -o ControlPersist=600s`
+ If set in the environment, the environment variable value is left untouched and used.
+
+ * ANSIBLE_SSH_PIPELINING:
+ If not set in the environment, this wrapper will set it to `True`.
+ If you experience issue with Ansible ssh pipelining, you can disable it by explicitely set this environment variable to `False`.
+'''
)
parser.add_argument('-v', '--verbose', action='count',
help='Multiple -v options increase the verbosity')