From d1ef011b02d56690174afc3ea92dc23597e9f2a5 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Jan 16 2017 21:59:37 +0000 Subject: [backend] allow specifying ssh identity file --- diff --git a/backend/backend/helpers.py b/backend/backend/helpers.py index 4b7e3a3..f63274a 100644 --- a/backend/backend/helpers.py +++ b/backend/backend/helpers.py @@ -300,6 +300,8 @@ class BackendConfigReader(object): opts.ssh = Munch() opts.ssh.port = _get_conf( cp, "ssh", "port", 22, mode="int") + opts.ssh.identity_file = _get_conf( + cp, "ssh", "identity_file", None, mode="path") opts.msg_buses = [] for bus_config in glob.glob('/etc/copr/msgbuses/*.conf'): diff --git a/backend/backend/mockremote/builder.py b/backend/backend/mockremote/builder.py index 0832586..558a1c1 100644 --- a/backend/backend/mockremote/builder.py +++ b/backend/backend/mockremote/builder.py @@ -90,7 +90,8 @@ class Builder(object): conn = paramiko.SSHClient() conn.set_missing_host_key_policy(paramiko.AutoAddPolicy()) conn.connect(hostname=self.hostname, port=self.opts.ssh.port, - username=username or self.opts.build_user) + username=username or self.opts.build_user, + key_filename=self.opts.ssh.identity_file) return conn def _run_ssh_cmd(self, cmd, as_root=False): diff --git a/backend/backend/vm_manage/check.py b/backend/backend/vm_manage/check.py index a1a28ee..72f24a9 100644 --- a/backend/backend/vm_manage/check.py +++ b/backend/backend/vm_manage/check.py @@ -34,7 +34,8 @@ def check_health(opts, vm_name, vm_ip): conn = paramiko.SSHClient() conn.set_missing_host_key_policy(paramiko.AutoAddPolicy()) conn.connect(hostname=vm_ip, port=opts.ssh.port, - username=opts.build_user or "root") + username=opts.build_user or "root", + key_filename=opts.ssh.identity_file) stdin, stdout, stderr = conn.exec_command("echo hello") stdout.channel.recv_exit_status() except Exception as error: diff --git a/backend/docker/files/etc/copr/copr-be.conf b/backend/docker/files/etc/copr/copr-be.conf index 9626e5d..3c11976 100644 --- a/backend/docker/files/etc/copr/copr-be.conf +++ b/backend/docker/files/etc/copr/copr-be.conf @@ -105,3 +105,4 @@ timeout=3600 [ssh] port=2222 +# identity_file=