mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-05 21:37:15 +02:00
90 lines
5.2 KiB
Diff
90 lines
5.2 KiB
Diff
From 648f52bde0069d5e1fc48a87a0170f1ca229f9c9 Mon Sep 17 00:00:00 2001
|
|
From: Natanael Copa <ncopa@alpinelinux.org>
|
|
Date: Tue, 23 Jul 2024 17:21:17 +0200
|
|
Subject: [PATCH] virt-install: fix cloud-init ssh keys
|
|
|
|
Fix the cloud-init config file for --clouduser-ssh key.
|
|
|
|
Also change ssh_authorized_keys to `ssh_authorized_keys`, and make sure
|
|
default user is not deleted when setting ssh key for root.
|
|
|
|
Fixes commit 22478f307dd9 (virt-install: Add --cloud-init clouduser-ssh-key=)
|
|
|
|
Resolves: https://github.com/virt-manager/virt-manager/issues/452
|
|
|
|
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
|
|
---
|
|
.../virt-install-cloud-init-options2.xml | 6 ++++--
|
|
.../virt-install-cloud-init-options3.xml | 3 ++-
|
|
virtinst/install/cloudinit.py | 19 ++++++++++---------
|
|
3 files changed, 16 insertions(+), 12 deletions(-)
|
|
|
|
diff --git a/tests/data/cli/compare/virt-install-cloud-init-options2.xml b/tests/data/cli/compare/virt-install-cloud-init-options2.xml
|
|
index 2a7e6a17..0baf7db4 100644
|
|
--- a/tests/data/cli/compare/virt-install-cloud-init-options2.xml
|
|
+++ b/tests/data/cli/compare/virt-install-cloud-init-options2.xml
|
|
@@ -4,10 +4,12 @@ chpasswd:
|
|
root:[SCRUBBLED]
|
|
expire: False
|
|
users:
|
|
+ - default
|
|
- name: root
|
|
- ssh-authorized-keys:
|
|
+ ssh_authorized_keys:
|
|
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDAuibybX5lw2G/LPIyqgQS5KwgbOnKMA9TZyQPtRmIfKSGypdMJmGQ+Gsf54A9VI8zoL2fnq2t66zQIPJU53XveXU0oqCm7PfsEcoYjnqDeUeiqvCfTye8bIbEmIkLriH0SaISNnzyN0JSfb0VDYIg8Za6iW3/PfPs+tV0PSYyVEm3pBNJ9bHat2liA1/Afk0UWNrhCQG9/5v9kR36aIxNU+4qI9cZ2npFWt61/7t2otz2GcygJDCUYEp6wDlmoW6DHXnaUUj1USjZ9uI1IrgmjZYxfjlt/UaB7AJOJP/3bOC1iPXBe9HKt30YUG23KaVfK9DDeGD/tlAeIklaYK8RZd4zUXSm3eZjeZCGiC3XFYIIyf7e7M/IZE+/DbD1jQEGxGd7AmdVBJZPBFtkAd4Blypaidykx7n1UcfF0WWISfFsae956PHnqnSBKM5OUDh2y5LowgXjWmr/BVJmnaiNbeMhgC3axZVL3EmFSVtvwnup+sRmDwYoHh/RbmInyns=
|
|
- - ssh-authorized-keys: ssh-rsa 123453NzaC1yc2EAAAADAQABAAABgQDAuibybX5lw2G/LPIyqgQS5KwgbOnKMA9TZyQPtRmIfKSGypdMJmGQ+Gsf54A9VI8zoL2fnq2t66zQIPJU53XveXU0oqCm7PfsEcoYjnqDeUeiqvCfTye8bIbEmIkLriH0SaISNnzyN0JSfb0VDYIg8Za6iW3/PfPs+tV0PSYyVEm3pBNJ9bHat2liA1/Afk0UWNrhCQG9/5v9kR36aIxNU+4qI9cZ2npFWt61/7t2otz2GcygJDCUYEp6wDlmoW6DHXnaUUj1USjZ9uI1IrgmjZYxfjlt/UaB7AJOJP/3bOC1iPXBe9HKt30YUG23KaVfK9DDeGD/tlAeIklaYK8RZd4zUXSm3eZjeZCGiC3XFYIIyf7e7M/IZE+/DbD1jQEGxGd7AmdVBJZPBFtkAd4Blypaidykx7n1UcfF0WWISfFsae956PHnqnSBKM5OUDh2y5LowgXjWmr/BVJmnaiNbeMhgC3axZVL3EmFSVtvwnup+sRmDwYoHh/RbmInyns=
|
|
+ssh_authorized_keys:
|
|
+ - ssh-rsa 123453NzaC1yc2EAAAADAQABAAABgQDAuibybX5lw2G/LPIyqgQS5KwgbOnKMA9TZyQPtRmIfKSGypdMJmGQ+Gsf54A9VI8zoL2fnq2t66zQIPJU53XveXU0oqCm7PfsEcoYjnqDeUeiqvCfTye8bIbEmIkLriH0SaISNnzyN0JSfb0VDYIg8Za6iW3/PfPs+tV0PSYyVEm3pBNJ9bHat2liA1/Afk0UWNrhCQG9/5v9kR36aIxNU+4qI9cZ2npFWt61/7t2otz2GcygJDCUYEp6wDlmoW6DHXnaUUj1USjZ9uI1IrgmjZYxfjlt/UaB7AJOJP/3bOC1iPXBe9HKt30YUG23KaVfK9DDeGD/tlAeIklaYK8RZd4zUXSm3eZjeZCGiC3XFYIIyf7e7M/IZE+/DbD1jQEGxGd7AmdVBJZPBFtkAd4Blypaidykx7n1UcfF0WWISfFsae956PHnqnSBKM5OUDh2y5LowgXjWmr/BVJmnaiNbeMhgC3axZVL3EmFSVtvwnup+sRmDwYoHh/RbmInyns=
|
|
|
|
<domain type="test">
|
|
<name>fedora28</name>
|
|
diff --git a/tests/data/cli/compare/virt-install-cloud-init-options3.xml b/tests/data/cli/compare/virt-install-cloud-init-options3.xml
|
|
index c3a7e719..7f4c6d63 100644
|
|
--- a/tests/data/cli/compare/virt-install-cloud-init-options3.xml
|
|
+++ b/tests/data/cli/compare/virt-install-cloud-init-options3.xml
|
|
@@ -1,7 +1,8 @@
|
|
#cloud-config
|
|
users:
|
|
+ - default
|
|
- name: root
|
|
- ssh-authorized-keys:
|
|
+ ssh_authorized_keys:
|
|
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDAuibybX5lw2G/LPIyqgQS5KwgbOnKMA9TZyQPtRmIfKSGypdMJmGQ+Gsf54A9VI8zoL2fnq2t66zQIPJU53XveXU0oqCm7PfsEcoYjnqDeUeiqvCfTye8bIbEmIkLriH0SaISNnzyN0JSfb0VDYIg8Za6iW3/PfPs+tV0PSYyVEm3pBNJ9bHat2liA1/Afk0UWNrhCQG9/5v9kR36aIxNU+4qI9cZ2npFWt61/7t2otz2GcygJDCUYEp6wDlmoW6DHXnaUUj1USjZ9uI1IrgmjZYxfjlt/UaB7AJOJP/3bOC1iPXBe9HKt30YUG23KaVfK9DDeGD/tlAeIklaYK8RZd4zUXSm3eZjeZCGiC3XFYIIyf7e7M/IZE+/DbD1jQEGxGd7AmdVBJZPBFtkAd4Blypaidykx7n1UcfF0WWISfFsae956PHnqnSBKM5OUDh2y5LowgXjWmr/BVJmnaiNbeMhgC3axZVL3EmFSVtvwnup+sRmDwYoHh/RbmInyns=
|
|
|
|
<domain type="test">
|
|
diff --git a/virtinst/install/cloudinit.py b/virtinst/install/cloudinit.py
|
|
index a5a3821f..02f4a046 100644
|
|
--- a/virtinst/install/cloudinit.py
|
|
+++ b/virtinst/install/cloudinit.py
|
|
@@ -81,17 +81,18 @@ def _create_userdata_content(cloudinit_data):
|
|
elif cloudinit_data.root_password_file:
|
|
content += " expire: False\n"
|
|
|
|
- if cloudinit_data.root_ssh_key or cloudinit_data.clouduser_ssh_key:
|
|
- content += "users:\n"
|
|
+ if cloudinit_data.root_ssh_key:
|
|
rootkey = cloudinit_data.get_root_ssh_key()
|
|
- userkey = cloudinit_data.get_clouduser_ssh_key()
|
|
+ content += "users:\n"
|
|
+ content += " - default\n"
|
|
+ content += " - name: root\n"
|
|
+ content += " ssh_authorized_keys:\n"
|
|
+ content += " - %s\n" % rootkey
|
|
|
|
- if rootkey:
|
|
- content += " - name: root\n"
|
|
- content += " ssh-authorized-keys:\n"
|
|
- content += " - %s\n" % rootkey
|
|
- if userkey:
|
|
- content += " - ssh-authorized-keys: %s\n" % userkey
|
|
+ if cloudinit_data.clouduser_ssh_key:
|
|
+ userkey = cloudinit_data.get_clouduser_ssh_key()
|
|
+ content += "ssh_authorized_keys:\n"
|
|
+ content += " - %s\n" % userkey
|
|
|
|
if cloudinit_data.disable:
|
|
content += "runcmd:\n"
|
|
--
|
|
2.45.2
|
|
|