diff --git a/orchestrate.py b/orchestrate.py
index 81e186688e3e8d6aa53821d96328f23005b215c5..e9b6bae73ed1ba6eabc1492784bc5e3d437995c3 100755
--- a/orchestrate.py
+++ b/orchestrate.py
@@ -127,18 +127,22 @@ ff02::2 ip6-allrouters
     if not args.dry_run:
         with open('inventory', 'w') as f:
             f.write('''\
+[all:vars]
+ansible_become=true
+ansible_user=%s
+ansible_ssh_common_args=\'%s -o ForwardAgent=yes -o ProxyCommand="ssh -W {{ ansible_host }}:22 -q \
+{{ ansible_user }}@%s"\'
+
 [masters]
-%s ansible_user=%s ansible_become=true ansible_host=%s ansible_ssh_common_args=\'%s\'
+%s ansible_host=%s
 
 [nodes]
-''' % (master_hostname, user, master_ip, args.ssh_opts))
+''' % (user, args.ssh_opts, master_ip, master_hostname, hosts[master_hostname]))
             for h, ip in hosts.items():
                 if h == master_hostname:
                     continue
                 f.write('\
-%s ansible_user=%s ansible_become=true ansible_host=%s ansible_ssh_common_args=\'%s \
--o ForwardAgent=yes -o ProxyCommand="ssh -W %s:22 -q %s@%s"\'\n' % (h, user, ip, args.ssh_opts,
-                                                                    ip, user, master_ip))
+%s ansible_host=%s \n' % (h, ip))
     if component:
         component.action('files')