Merge "Specify which key to use to access the cloud"
This commit is contained in:
commit
be1f12b597
|
@ -22,6 +22,7 @@ def main():
|
|||
'driver': 'fuel',
|
||||
'address': 'fuel.local',
|
||||
'username': 'root',
|
||||
'private_key_file': '~/.ssh/os_faults',
|
||||
},
|
||||
'power_management': {
|
||||
'driver': 'libvirt',
|
||||
|
|
|
@ -96,15 +96,22 @@ Options = namedtuple('Options',
|
|||
|
||||
class AnsibleRunner(object):
|
||||
def __init__(self, remote_user='root', password=None, forks=100,
|
||||
ssh_common_args='', become=None):
|
||||
jump_host=None, private_key_file=None, become=None):
|
||||
super(AnsibleRunner, self).__init__()
|
||||
|
||||
module_path = resolve_relative_path('os_faults/ansible/modules')
|
||||
ssh_common_args = ' '.join([ssh_common_args, SSH_COMMON_ARGS])
|
||||
|
||||
ssh_common_args = SSH_COMMON_ARGS
|
||||
if jump_host:
|
||||
ssh_common_args += (
|
||||
' -o ProxyCommand="ssh -i %(key)s -W %%h:%%p '
|
||||
'%(user)s@%(host)s"'
|
||||
% dict(key=private_key_file, user=remote_user, host=jump_host))
|
||||
|
||||
self.options = Options(
|
||||
connection='smart', password=password, module_path=module_path,
|
||||
forks=forks, remote_user=remote_user, private_key_file=None,
|
||||
forks=forks, remote_user=remote_user,
|
||||
private_key_file=private_key_file,
|
||||
ssh_common_args=ssh_common_args, ssh_extra_args=None,
|
||||
sftp_extra_args=None, scp_extra_args=None,
|
||||
become=become, become_method='sudo', become_user='root',
|
||||
|
|
|
@ -103,9 +103,11 @@ class DevStackManagement(cloud_management.CloudManagement):
|
|||
|
||||
self.address = cloud_management_params['address']
|
||||
self.username = cloud_management_params['username']
|
||||
self.private_key_file = cloud_management_params.get('private_key')
|
||||
|
||||
self.executor = executor.AnsibleRunner(remote_user=self.username,
|
||||
become=True)
|
||||
self.executor = executor.AnsibleRunner(
|
||||
remote_user=self.username, private_key_file=self.private_key_file,
|
||||
become=True)
|
||||
self.host = None
|
||||
|
||||
def verify(self):
|
||||
|
|
|
@ -269,14 +269,14 @@ class FuelManagement(cloud_management.CloudManagement):
|
|||
|
||||
self.master_node_address = cloud_management_params['address']
|
||||
self.username = cloud_management_params['username']
|
||||
self.private_key_file = cloud_management_params.get('private_key_file')
|
||||
|
||||
self.master_node_executor = executor.AnsibleRunner(
|
||||
remote_user=self.username)
|
||||
remote_user=self.username, private_key_file=self.private_key_file)
|
||||
|
||||
self.cloud_executor = executor.AnsibleRunner(
|
||||
remote_user=self.username,
|
||||
ssh_common_args='-o ProxyCommand="ssh -W %%h:%%p %s@%s"' %
|
||||
(self.username, self.master_node_address))
|
||||
remote_user=self.username, private_key_file=self.private_key_file,
|
||||
jump_host=self.master_node_address)
|
||||
|
||||
self.cached_cloud_hosts = None
|
||||
self.fqdn_to_hosts = dict()
|
||||
|
|
Loading…
Reference in New Issue