You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by da...@apache.org on 2020/01/09 23:48:19 UTC

[couchdb-infra-cm] 02/02: Make Ansible got faster

This is an automated email from the ASF dual-hosted git repository.

davisp pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-infra-cm.git

commit c26a384e0194426c3161cd888cfea70bc52b2dc1
Author: Paul J. Davis <pa...@gmail.com>
AuthorDate: Thu Jan 9 17:47:46 2020 -0600

    Make Ansible got faster
    
    Still not what I would call fast though.
---
 ansible.cfg      |  4 +++-
 ssh.cfg          | 72 +++++++++++++++++++++++++++++++++++++-------------------
 tools/gen-config | 17 +++++++------
 3 files changed, 61 insertions(+), 32 deletions(-)

diff --git a/ansible.cfg b/ansible.cfg
index d5122a1..de128bb 100644
--- a/ansible.cfg
+++ b/ansible.cfg
@@ -1,7 +1,9 @@
 [defaults]
 inventory = ./production
 vault_password_file = ~/.couchdb-ansible-vault
+forks = 10
 
 [ssh_connection]
 ssh_args = -F ./ssh.cfg
-control_path = ~/.ssh/ansible-%%r@%%h:%%p
+control_path = /tmp/ansible-%%r@%%h:%%p
+pipelining = True
\ No newline at end of file
diff --git a/ssh.cfg b/ssh.cfg
index 95da36a..02ab8fe 100644
--- a/ssh.cfg
+++ b/ssh.cfg
@@ -4,54 +4,78 @@ Host couchdb-bastion-x86-64-debian-dal-1-1
   ForwardAgent yes
   StrictHostKeyChecking no
   ControlMaster auto
-  ControlPath ~/.ssh/ansible-%r@%h:%p
+  ControlPath /tmp/ansible-%r@%h:%p
   ControlPersist 30m
 
-Host couchdb-worker-x86-64-debian-dal-1-08
-  Hostname 10.240.0.16
+Host couchdb-worker-x86-64-debian-dal-1-01
+  Hostname 10.240.0.4
   User root
   StrictHostKeyChecking no
-  ProxyCommand /usr/bin/ssh -W %h:%p -q root@169.48.153.153
+  ProxyCommand /usr/bin/ssh -F ./ssh.cfg -W %h:%p -q root@169.48.153.153
+  ControlMaster auto
+  ControlPath /tmp/ansible-%r@%h:%p
+  ControlPersist 30m
 
-Host couchdb-worker-x86-64-debian-dal-1-05
-  Hostname 10.240.0.10
+Host couchdb-worker-x86-64-debian-dal-1-02
+  Hostname 10.240.0.5
   User root
   StrictHostKeyChecking no
-  ProxyCommand /usr/bin/ssh -W %h:%p -q root@169.48.153.153
+  ProxyCommand /usr/bin/ssh -F ./ssh.cfg -W %h:%p -q root@169.48.153.153
+  ControlMaster auto
+  ControlPath /tmp/ansible-%r@%h:%p
+  ControlPersist 30m
+
+Host couchdb-worker-x86-64-debian-dal-1-03
+  Hostname 10.240.0.6
+  User root
+  StrictHostKeyChecking no
+  ProxyCommand /usr/bin/ssh -F ./ssh.cfg -W %h:%p -q root@169.48.153.153
+  ControlMaster auto
+  ControlPath /tmp/ansible-%r@%h:%p
+  ControlPersist 30m
 
 Host couchdb-worker-x86-64-debian-dal-1-04
   Hostname 10.240.0.9
   User root
   StrictHostKeyChecking no
-  ProxyCommand /usr/bin/ssh -W %h:%p -q root@169.48.153.153
+  ProxyCommand /usr/bin/ssh -F ./ssh.cfg -W %h:%p -q root@169.48.153.153
+  ControlMaster auto
+  ControlPath /tmp/ansible-%r@%h:%p
+  ControlPersist 30m
 
-Host couchdb-worker-x86-64-debian-dal-1-07
-  Hostname 10.240.0.15
+Host couchdb-worker-x86-64-debian-dal-1-05
+  Hostname 10.240.0.10
   User root
   StrictHostKeyChecking no
-  ProxyCommand /usr/bin/ssh -W %h:%p -q root@169.48.153.153
+  ProxyCommand /usr/bin/ssh -F ./ssh.cfg -W %h:%p -q root@169.48.153.153
+  ControlMaster auto
+  ControlPath /tmp/ansible-%r@%h:%p
+  ControlPersist 30m
 
 Host couchdb-worker-x86-64-debian-dal-1-06
   Hostname 10.240.0.14
   User root
   StrictHostKeyChecking no
-  ProxyCommand /usr/bin/ssh -W %h:%p -q root@169.48.153.153
-
-Host couchdb-worker-x86-64-debian-dal-1-01
-  Hostname 10.240.0.4
-  User root
-  StrictHostKeyChecking no
-  ProxyCommand /usr/bin/ssh -W %h:%p -q root@169.48.153.153
+  ProxyCommand /usr/bin/ssh -F ./ssh.cfg -W %h:%p -q root@169.48.153.153
+  ControlMaster auto
+  ControlPath /tmp/ansible-%r@%h:%p
+  ControlPersist 30m
 
-Host couchdb-worker-x86-64-debian-dal-1-03
-  Hostname 10.240.0.6
+Host couchdb-worker-x86-64-debian-dal-1-07
+  Hostname 10.240.0.15
   User root
   StrictHostKeyChecking no
-  ProxyCommand /usr/bin/ssh -W %h:%p -q root@169.48.153.153
+  ProxyCommand /usr/bin/ssh -F ./ssh.cfg -W %h:%p -q root@169.48.153.153
+  ControlMaster auto
+  ControlPath /tmp/ansible-%r@%h:%p
+  ControlPersist 30m
 
-Host couchdb-worker-x86-64-debian-dal-1-02
-  Hostname 10.240.0.5
+Host couchdb-worker-x86-64-debian-dal-1-08
+  Hostname 10.240.0.16
   User root
   StrictHostKeyChecking no
-  ProxyCommand /usr/bin/ssh -W %h:%p -q root@169.48.153.153
+  ProxyCommand /usr/bin/ssh -F ./ssh.cfg -W %h:%p -q root@169.48.153.153
+  ControlMaster auto
+  ControlPath /tmp/ansible-%r@%h:%p
+  ControlPersist 30m
 
diff --git a/tools/gen-config b/tools/gen-config
index 1f39bd9..ffc59d3 100755
--- a/tools/gen-config
+++ b/tools/gen-config
@@ -175,11 +175,11 @@ def assign_bastions(bastions, ci_agents):
 def write_inventory(fname, bastions, ci_agents):
     inventory = {"all": {
         "children": {
-            "ci_agents": {
-                "hosts": ci_agents
-            },
             "bastions": {
                 "hosts": bastions
+            },
+            "ci_agents": {
+                "hosts": ci_agents
             }
         }
     }}
@@ -196,7 +196,7 @@ def write_ssh_cfg(filename, bastions, ci_agents):
           ForwardAgent yes
           StrictHostKeyChecking no
           ControlMaster auto
-          ControlPath ~/.ssh/ansible-%r@%h:%p
+          ControlPath /tmp/ansible-%r@%h:%p
           ControlPersist 30m
 
         """)
@@ -205,18 +205,21 @@ def write_ssh_cfg(filename, bastions, ci_agents):
           Hostname {ip_addr}
           User root
           StrictHostKeyChecking no
-          ProxyCommand /usr/bin/ssh -W %h:%p -q root@{bastion_ip}
+          ProxyCommand /usr/bin/ssh -F ./ssh.cfg -W %h:%p -q root@{bastion_ip}
+          ControlMaster auto
+          ControlPath /tmp/ansible-%r@%h:%p
+          ControlPersist 30m
 
         """)
     with open(filename, "w") as handle:
-        for host, info in bastions.items():
+        for host, info in sorted(bastions.items()):
             args = {
                 "host": host,
                 "ip_addr": info["ip_addrs"]["public"]
             }
             entry = bastion_tmpl.format(**args)
             handle.write(entry)
-        for host, info in ci_agents.items():
+        for host, info in sorted(ci_agents.items()):
             args = {
                 "host": host,
                 "ip_addr": info["ip_addrs"]["private"],