From 7c977136e9122fd6c119690016feb6676dac670d Mon Sep 17 00:00:00 2001 From: beierl Date: Fri, 18 Oct 2019 16:48:36 -0400 Subject: [PATCH] SSH improvements for Ansible Adds the juju private key for ansible in case no passwords are being used. Adds a shortened control path in case the model name is too long. Change-Id: I0a5027fdaa8e20641d1a3a0841b1ba3554f825fb Signed-off-by: beierl --- .../generator/ansible-charm/templates/ansible_lib.py.j2 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/descriptor-packages/tools/charm-generator/generator/ansible-charm/templates/ansible_lib.py.j2 b/descriptor-packages/tools/charm-generator/generator/ansible-charm/templates/ansible_lib.py.j2 index 7492c6de..1d6165e4 100644 --- a/descriptor-packages/tools/charm-generator/generator/ansible-charm/templates/ansible_lib.py.j2 +++ b/descriptor-packages/tools/charm-generator/generator/ansible-charm/templates/ansible_lib.py.j2 @@ -49,7 +49,8 @@ def create_hosts(cfg, hosts): with open(inventory_path, 'w') as f: f.write('[{}]\n'.format(hosts)) h1 = '{0} ansible_connection=ssh ansible_ssh_user={1} ansible_ssh_pass={2} ' \ - 'ansible_python_interpreter=/usr/bin/python3\n'.format(cfg['ssh-hostname'], cfg['ssh-username'], + 'ansible_ssh_private_key_file=~/.ssh/id_juju_sshproxy ' \ + 'ansible_python_interpreter=/usr/bin/python\n'.format(cfg['ssh-hostname'], cfg['ssh-username'], cfg['ssh-password']) f.write(h1) @@ -63,6 +64,11 @@ def create_ansible_cfg(): # logs playbook execution attempts to the specified path f.write('log_path = /var/log/ansible.log\n') + f.write('[ssh_connection]\n') + f.write('control_path=%(directory)s/%%h-%%r\n') + f.write('control_path_dir=~/.ansible/cp\n') + + # Function to find the playbook path def find(pattern, path): result = '' -- 2.25.1