diff options
author | Lénaïc Huard <lhuard@amadeus.com> | 2016-03-23 14:39:22 +0100 |
---|---|---|
committer | Lénaïc Huard <lhuard@amadeus.com> | 2016-04-01 17:35:24 +0200 |
commit | 51b2ebf46694e0dc51ef56985a54112ed3933017 (patch) | |
tree | ebe0c4b41a51dbab6cddfd2b60b2b7460ba7cf67 | |
parent | b7ed298359eaa69b1c00acd0edd101511765c6ea (diff) | |
download | openshift-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
-rwxr-xr-x | bin/cluster | 15 | ||||
-rw-r--r-- | playbooks/openstack/openshift-cluster/files/heat_stack.yaml | 4 | ||||
-rw-r--r-- | playbooks/openstack/openshift-cluster/files/user-data | 6 |
3 files changed, 25 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') diff --git a/playbooks/openstack/openshift-cluster/files/heat_stack.yaml b/playbooks/openstack/openshift-cluster/files/heat_stack.yaml index af774aa32..dd6a22cbe 100644 --- a/playbooks/openstack/openshift-cluster/files/heat_stack.yaml +++ b/playbooks/openstack/openshift-cluster/files/heat_stack.yaml @@ -598,6 +598,10 @@ resources: template: | #cloud-config write_files: + - path: /etc/sudoers.d/00-openshift-no-requiretty + permissions: 440 + content: | + Defaults:openshift !requiretty - path: /etc/sysconfig/network-scripts/ifcfg-eth0 content: | DEVICE="eth0" diff --git a/playbooks/openstack/openshift-cluster/files/user-data b/playbooks/openstack/openshift-cluster/files/user-data index e789a5b69..eb65f7cec 100644 --- a/playbooks/openstack/openshift-cluster/files/user-data +++ b/playbooks/openstack/openshift-cluster/files/user-data @@ -5,3 +5,9 @@ system_info: default_user: name: openshift sudo: ["ALL=(ALL) NOPASSWD: ALL"] + +write_files: + - path: /etc/sudoers.d/00-openshift-no-requiretty + permissions: 440 + content: | + Defaults:openshift !requiretty |