* Mon Jul 01 2024 Miroslav Rezanina <mrezanin@redhat.com> - 23.4-14
- ci-Deprecate-the-users-ssh-authorized-keys-property-516.patch [RHEL-45262] - ci-docs-Add-deprecated-system_info-to-schema-5168.patch [RHEL-45262] - ci-fix-schema-permit-deprecated-hyphenated-keys-under-u.patch [RHEL-45262] - Resolves: RHEL-45262 (Deprecate the users ssh-authorized-keys property and permit deprecated hyphenated keys under users key)
This commit is contained in:
parent
f1f4c0a890
commit
684b2b5395
108
ci-Deprecate-the-users-ssh-authorized-keys-property-516.patch
Normal file
108
ci-Deprecate-the-users-ssh-authorized-keys-property-516.patch
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
From 808cd6f434a4ede1441cc1f5781abf59f53c4153 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Anders=20Bj=C3=B6rklund?= <anders.f.bjorklund@gmail.com>
|
||||||
|
Date: Mon, 22 Apr 2024 17:52:44 +0200
|
||||||
|
Subject: [PATCH 1/3] Deprecate the users ssh-authorized-keys property (#5162)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
RH-Author: Ani Sinha <anisinha@redhat.com>
|
||||||
|
RH-MergeRequest: 95: Deprecate the users ssh-authorized-keys property (#5162)
|
||||||
|
RH-Jira: RHEL-45262
|
||||||
|
RH-Acked-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||||
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
RH-Commit: [1/3] 27d6f99519a28ae91037fe47f9ef654b7fbd6236 (anisinha/cloud-init)
|
||||||
|
|
||||||
|
Deprecate the users ssh-authorized-keys property
|
||||||
|
|
||||||
|
Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
|
||||||
|
(cherry picked from commit 5205b4dd74eb2168ebbeba56579b6f116a272937)
|
||||||
|
---
|
||||||
|
.../schemas/schema-cloud-config-v1.json | 16 ++++++++++
|
||||||
|
.../unittests/config/test_cc_users_groups.py | 30 +++++++++++++++++++
|
||||||
|
tools/.github-cla-signers | 1 +
|
||||||
|
3 files changed, 47 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/cloudinit/config/schemas/schema-cloud-config-v1.json b/cloudinit/config/schemas/schema-cloud-config-v1.json
|
||||||
|
index 8b10fe70..670ef4c2 100644
|
||||||
|
--- a/cloudinit/config/schemas/schema-cloud-config-v1.json
|
||||||
|
+++ b/cloudinit/config/schemas/schema-cloud-config-v1.json
|
||||||
|
@@ -272,6 +272,22 @@
|
||||||
|
},
|
||||||
|
"minItems": 1
|
||||||
|
},
|
||||||
|
+ "ssh-authorized-keys": {
|
||||||
|
+ "allOf": [
|
||||||
|
+ {
|
||||||
|
+ "type": "array",
|
||||||
|
+ "items": {
|
||||||
|
+ "type": "string"
|
||||||
|
+ },
|
||||||
|
+ "minItems": 1
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "deprecated": true,
|
||||||
|
+ "deprecated_version": "18.3",
|
||||||
|
+ "deprecated_description": "Use ``ssh_authorized_keys`` instead."
|
||||||
|
+ }
|
||||||
|
+ ]
|
||||||
|
+ },
|
||||||
|
"ssh_import_id": {
|
||||||
|
"description": "List of SSH IDs to import for user. Can not be combined with ``ssh_redirect_user``.",
|
||||||
|
"type": "array",
|
||||||
|
diff --git a/tests/unittests/config/test_cc_users_groups.py b/tests/unittests/config/test_cc_users_groups.py
|
||||||
|
index 3300b77b..53e231e1 100644
|
||||||
|
--- a/tests/unittests/config/test_cc_users_groups.py
|
||||||
|
+++ b/tests/unittests/config/test_cc_users_groups.py
|
||||||
|
@@ -503,6 +503,36 @@ class TestUsersGroupsSchema:
|
||||||
|
),
|
||||||
|
True,
|
||||||
|
),
|
||||||
|
+ (
|
||||||
|
+ {
|
||||||
|
+ "users": [
|
||||||
|
+ {
|
||||||
|
+ "name": "lima",
|
||||||
|
+ "uid": "1000",
|
||||||
|
+ "homedir": "/home/lima.linux",
|
||||||
|
+ "shell": "/bin/bash",
|
||||||
|
+ "sudo": "ALL=(ALL) NOPASSWD:ALL",
|
||||||
|
+ "lock_passwd": True,
|
||||||
|
+ "ssh-authorized-keys": ["ssh-ed25519 ..."],
|
||||||
|
+ }
|
||||||
|
+ ]
|
||||||
|
+ },
|
||||||
|
+ pytest.raises(
|
||||||
|
+ SchemaValidationError,
|
||||||
|
+ match=(
|
||||||
|
+ "Cloud config schema deprecations: "
|
||||||
|
+ "users.0.ssh-authorized-keys: "
|
||||||
|
+ " Deprecated in version 18.3."
|
||||||
|
+ " Use ``ssh_authorized_keys`` instead."
|
||||||
|
+ ", "
|
||||||
|
+ "users.0.uid: "
|
||||||
|
+ " Changed in version 22.3."
|
||||||
|
+ " The use of ``string`` type is deprecated."
|
||||||
|
+ " Use an ``integer`` instead."
|
||||||
|
+ ),
|
||||||
|
+ ),
|
||||||
|
+ False,
|
||||||
|
+ ),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
@skipUnlessJsonSchema()
|
||||||
|
diff --git a/tools/.github-cla-signers b/tools/.github-cla-signers
|
||||||
|
index f4da0989..8b119025 100644
|
||||||
|
--- a/tools/.github-cla-signers
|
||||||
|
+++ b/tools/.github-cla-signers
|
||||||
|
@@ -3,6 +3,7 @@ aciba90
|
||||||
|
acourdavAkamai
|
||||||
|
ader1990
|
||||||
|
adobley
|
||||||
|
+afbjorklund
|
||||||
|
ajmyyra
|
||||||
|
akutz
|
||||||
|
AlexBaranowski
|
||||||
|
--
|
||||||
|
2.39.3
|
||||||
|
|
166
ci-docs-Add-deprecated-system_info-to-schema-5168.patch
Normal file
166
ci-docs-Add-deprecated-system_info-to-schema-5168.patch
Normal file
@ -0,0 +1,166 @@
|
|||||||
|
From c933187af44a5de1d6eafde5dcd48e8ac369cf34 Mon Sep 17 00:00:00 2001
|
||||||
|
From: James Falcon <james.falcon@canonical.com>
|
||||||
|
Date: Thu, 18 Apr 2024 20:21:14 -0500
|
||||||
|
Subject: [PATCH 2/3] docs: Add deprecated system_info to schema (#5168)
|
||||||
|
|
||||||
|
RH-Author: Ani Sinha <anisinha@redhat.com>
|
||||||
|
RH-MergeRequest: 95: Deprecate the users ssh-authorized-keys property (#5162)
|
||||||
|
RH-Jira: RHEL-45262
|
||||||
|
RH-Acked-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||||
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
RH-Commit: [2/3] c4ea6f45ee0997e2f749c290fb8f2ceb8c05c691 (anisinha/cloud-init)
|
||||||
|
|
||||||
|
In some cases, `system_info` can be passed via user data or vendor data
|
||||||
|
to override the system_info in /etc/cloud/cloud.cfg . While this
|
||||||
|
technically can work, this is a use case we no longer support and should
|
||||||
|
indicate that it is deprecated.
|
||||||
|
|
||||||
|
Also remove/update examples.
|
||||||
|
|
||||||
|
(cherry picked from commit 7c67f7732f04b41600934818f7d5bcb4d085ed7c)
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
cloudinit/config/schemas/schema-cloud-config-v1.json
|
||||||
|
- due to change fdefe08ad19cea5eb ("fix: Fix typos (#4850)") not
|
||||||
|
present in downstream.
|
||||||
|
doc/examples/cloud-config-user-groups.txt
|
||||||
|
- due to change 0aa17cd10bdd6 ("docs: set the home directory using homedir, not home (#5101)")
|
||||||
|
not present downstream.
|
||||||
|
tests/unittests/sources/test_vultr.py
|
||||||
|
- due to change 144782a838 ("test: Remove side effects from tests (#5074)") not present
|
||||||
|
downstream.
|
||||||
|
---
|
||||||
|
.../schemas/schema-cloud-config-v1.json | 7 ++++++
|
||||||
|
doc/examples/cloud-config-apt.txt | 23 -------------------
|
||||||
|
doc/examples/cloud-config-user-groups.txt | 12 ++--------
|
||||||
|
tests/data/user_data.1.txt | 10 --------
|
||||||
|
tests/unittests/runs/test_merge_run.py | 16 ++++++++++++-
|
||||||
|
5 files changed, 24 insertions(+), 44 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/cloudinit/config/schemas/schema-cloud-config-v1.json b/cloudinit/config/schemas/schema-cloud-config-v1.json
|
||||||
|
index 670ef4c2..97cf2b74 100644
|
||||||
|
--- a/cloudinit/config/schemas/schema-cloud-config-v1.json
|
||||||
|
+++ b/cloudinit/config/schemas/schema-cloud-config-v1.json
|
||||||
|
@@ -513,6 +513,12 @@
|
||||||
|
},
|
||||||
|
"merge_type": {
|
||||||
|
"$ref": "#/$defs/merge_defintion"
|
||||||
|
+ },
|
||||||
|
+ "system_info": {
|
||||||
|
+ "type": "object",
|
||||||
|
+ "description": "System and/or distro specific settings. This is not intended to be overridden by user data or vendor data.",
|
||||||
|
+ "deprecated": true,
|
||||||
|
+ "deprecated_version": "24.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
@@ -3905,6 +3911,7 @@
|
||||||
|
"ssh_pwauth": {},
|
||||||
|
"ssh_quiet_keygen": {},
|
||||||
|
"swap": {},
|
||||||
|
+ "system_info": {},
|
||||||
|
"timezone": {},
|
||||||
|
"ubuntu_advantage": {},
|
||||||
|
"updates": {},
|
||||||
|
diff --git a/doc/examples/cloud-config-apt.txt b/doc/examples/cloud-config-apt.txt
|
||||||
|
index dd6a0f6a..04968035 100644
|
||||||
|
--- a/doc/examples/cloud-config-apt.txt
|
||||||
|
+++ b/doc/examples/cloud-config-apt.txt
|
||||||
|
@@ -8,29 +8,6 @@
|
||||||
|
# Number: Set pipelining to some number (not recommended)
|
||||||
|
apt_pipelining: False
|
||||||
|
|
||||||
|
-## apt config via system_info:
|
||||||
|
-# under the 'system_info', you can customize cloud-init's interaction
|
||||||
|
-# with apt.
|
||||||
|
-# system_info:
|
||||||
|
-# apt_get_command: [command, argument, argument]
|
||||||
|
-# apt_get_upgrade_subcommand: dist-upgrade
|
||||||
|
-#
|
||||||
|
-# apt_get_command:
|
||||||
|
-# To specify a different 'apt-get' command, set 'apt_get_command'.
|
||||||
|
-# This must be a list, and the subcommand (update, upgrade) is appended to it.
|
||||||
|
-# default is:
|
||||||
|
-# ['apt-get', '--option=Dpkg::Options::=--force-confold',
|
||||||
|
-# '--option=Dpkg::options::=--force-unsafe-io', '--assume-yes', '--quiet']
|
||||||
|
-#
|
||||||
|
-# apt_get_upgrade_subcommand: "dist-upgrade"
|
||||||
|
-# Specify a different subcommand for 'upgrade. The default is 'dist-upgrade'.
|
||||||
|
-# This is the subcommand that is invoked for package_upgrade.
|
||||||
|
-#
|
||||||
|
-# apt_get_wrapper:
|
||||||
|
-# command: eatmydata
|
||||||
|
-# enabled: [True, False, "auto"]
|
||||||
|
-#
|
||||||
|
-
|
||||||
|
# Install additional packages on first boot
|
||||||
|
#
|
||||||
|
# Default: none
|
||||||
|
diff --git a/doc/examples/cloud-config-user-groups.txt b/doc/examples/cloud-config-user-groups.txt
|
||||||
|
index 56eb674f..2cafef88 100644
|
||||||
|
--- a/doc/examples/cloud-config-user-groups.txt
|
||||||
|
+++ b/doc/examples/cloud-config-user-groups.txt
|
||||||
|
@@ -143,13 +143,5 @@ users:
|
||||||
|
#
|
||||||
|
# users[0] (the first user in users) overrides the user directive.
|
||||||
|
#
|
||||||
|
-# The 'default' user above references the distro's config:
|
||||||
|
-# system_info:
|
||||||
|
-# default_user:
|
||||||
|
-# name: Ubuntu
|
||||||
|
-# plain_text_passwd: 'ubuntu'
|
||||||
|
-# home: /home/ubuntu
|
||||||
|
-# shell: /bin/bash
|
||||||
|
-# lock_passwd: True
|
||||||
|
-# gecos: Ubuntu
|
||||||
|
-# groups: [adm, cdrom, dip, lxd, sudo]
|
||||||
|
+# The 'default' user above references the distro's config set in
|
||||||
|
+# /etc/cloud/cloud.cfg.
|
||||||
|
diff --git a/tests/data/user_data.1.txt b/tests/data/user_data.1.txt
|
||||||
|
index 4c4543de..a1b5aa60 100644
|
||||||
|
--- a/tests/data/user_data.1.txt
|
||||||
|
+++ b/tests/data/user_data.1.txt
|
||||||
|
@@ -3,13 +3,3 @@ write_files:
|
||||||
|
- content: blah
|
||||||
|
path: /etc/blah.ini
|
||||||
|
permissions: 493
|
||||||
|
-
|
||||||
|
-system_info:
|
||||||
|
- package_mirrors:
|
||||||
|
- - arches: [i386, amd64, blah]
|
||||||
|
- failsafe:
|
||||||
|
- primary: http://my.archive.mydomain.com/ubuntu
|
||||||
|
- security: http://my.security.mydomain.com/ubuntu
|
||||||
|
- search:
|
||||||
|
- primary: []
|
||||||
|
- security: []
|
||||||
|
diff --git a/tests/unittests/runs/test_merge_run.py b/tests/unittests/runs/test_merge_run.py
|
||||||
|
index afc256ec..251c5ae5 100644
|
||||||
|
--- a/tests/unittests/runs/test_merge_run.py
|
||||||
|
+++ b/tests/unittests/runs/test_merge_run.py
|
||||||
|
@@ -22,7 +22,21 @@ class TestMergeRun(helpers.FilesystemMockingTestCase):
|
||||||
|
cfg = {
|
||||||
|
"datasource_list": ["None"],
|
||||||
|
"cloud_init_modules": ["write_files"],
|
||||||
|
- "system_info": {"paths": {"run_dir": new_root}},
|
||||||
|
+ "system_info": {
|
||||||
|
+ "paths": {"run_dir": new_root},
|
||||||
|
+ "package_mirrors": [
|
||||||
|
+ {
|
||||||
|
+ "arches": ["i386", "amd64", "blah"],
|
||||||
|
+ "failsafe": {
|
||||||
|
+ "primary": "http://my.archive.mydomain.com/ubuntu",
|
||||||
|
+ "security": (
|
||||||
|
+ "http://my.security.mydomain.com/ubuntu"
|
||||||
|
+ ),
|
||||||
|
+ },
|
||||||
|
+ "search": {"primary": [], "security": []},
|
||||||
|
+ },
|
||||||
|
+ ],
|
||||||
|
+ },
|
||||||
|
}
|
||||||
|
ud = helpers.readResource("user_data.1.txt")
|
||||||
|
cloud_cfg = safeyaml.dumps(cfg)
|
||||||
|
--
|
||||||
|
2.39.3
|
||||||
|
|
412
ci-fix-schema-permit-deprecated-hyphenated-keys-under-u.patch
Normal file
412
ci-fix-schema-permit-deprecated-hyphenated-keys-under-u.patch
Normal file
@ -0,0 +1,412 @@
|
|||||||
|
From ce69cd178d9c05827db1ca1654de82dc3f9f521e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chad Smith <chad.smith@canonical.com>
|
||||||
|
Date: Thu, 27 Jun 2024 18:12:31 -0600
|
||||||
|
Subject: [PATCH 3/3] fix(schema): permit deprecated hyphenated keys under
|
||||||
|
users key (#5456)
|
||||||
|
|
||||||
|
RH-Author: Ani Sinha <anisinha@redhat.com>
|
||||||
|
RH-MergeRequest: 95: Deprecate the users ssh-authorized-keys property (#5162)
|
||||||
|
RH-Jira: RHEL-45262
|
||||||
|
RH-Acked-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||||
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
RH-Commit: [3/3] 76804599a9166796dc52bab2031a706993ad2e3c (anisinha/cloud-init)
|
||||||
|
|
||||||
|
Both hyphenated and underscore delimited key names are permitted
|
||||||
|
by cloudinit/distros/ug_util.py#L114 due to magic replacement
|
||||||
|
of key names.
|
||||||
|
|
||||||
|
Since this is still valid json schema, add the necessary hyphenated
|
||||||
|
aliases for all users/groups keys. Because the goal in the future is
|
||||||
|
to only support one config key for a given configuraion option, add
|
||||||
|
deprecated keys to those schema definitions.
|
||||||
|
|
||||||
|
Also drop the description key from the deprecates lock-passwd schema
|
||||||
|
key.
|
||||||
|
|
||||||
|
Any deprecated schema key which provides a suggested replacement should
|
||||||
|
not provide duplicated key descriptions as the preferred replacement
|
||||||
|
will provided the necessary context.
|
||||||
|
|
||||||
|
Fixes GH-5454
|
||||||
|
|
||||||
|
(cherry picked from commit b3618d44a37ae6345f0c3d935b77ae0ae9dd1c92)
|
||||||
|
---
|
||||||
|
.../schemas/schema-cloud-config-v1.json | 103 +++++++++++++-----
|
||||||
|
tests/unittests/config/test_cc_grub_dpkg.py | 4 +-
|
||||||
|
.../test_cc_package_update_upgrade_install.py | 11 +-
|
||||||
|
.../unittests/config/test_cc_users_groups.py | 33 +++---
|
||||||
|
tests/unittests/config/test_schema.py | 15 ++-
|
||||||
|
5 files changed, 108 insertions(+), 58 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/cloudinit/config/schemas/schema-cloud-config-v1.json b/cloudinit/config/schemas/schema-cloud-config-v1.json
|
||||||
|
index 97cf2b74..03e723e2 100644
|
||||||
|
--- a/cloudinit/config/schemas/schema-cloud-config-v1.json
|
||||||
|
+++ b/cloudinit/config/schemas/schema-cloud-config-v1.json
|
||||||
|
@@ -178,9 +178,9 @@
|
||||||
|
"patternProperties": {
|
||||||
|
"^.+$": {
|
||||||
|
"label": "<group_name>",
|
||||||
|
- "description": "When providing an object for users.groups the ``<group_name>`` keys are the groups to add this user to",
|
||||||
|
"deprecated": true,
|
||||||
|
"deprecated_version": "23.1",
|
||||||
|
+ "deprecated_description": "The use of ``object`` type is deprecated. Use ``string`` or ``array`` of ``string`` instead.",
|
||||||
|
"type": [
|
||||||
|
"null"
|
||||||
|
],
|
||||||
|
@@ -203,9 +203,7 @@
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"lock-passwd": {
|
||||||
|
- "default": true,
|
||||||
|
"type": "boolean",
|
||||||
|
- "description": "Default: ``true``",
|
||||||
|
"deprecated": true,
|
||||||
|
"deprecated_version": "22.3",
|
||||||
|
"deprecated_description": "Use ``lock_passwd`` instead."
|
||||||
|
@@ -215,16 +213,34 @@
|
||||||
|
"description": "Disable password login. Default: ``true``",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
+ "no-create-home": {
|
||||||
|
+ "type": "boolean",
|
||||||
|
+ "deprecated": true,
|
||||||
|
+ "deprecated_version": "24.2",
|
||||||
|
+ "deprecated_description": "Use ``no_create_home`` instead."
|
||||||
|
+ },
|
||||||
|
"no_create_home": {
|
||||||
|
"default": false,
|
||||||
|
"description": "Do not create home directory. Default: ``false``",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
+ "no-log-init": {
|
||||||
|
+ "type": "boolean",
|
||||||
|
+ "deprecated": true,
|
||||||
|
+ "deprecated_version": "24.2",
|
||||||
|
+ "deprecated_description": "Use ``no_log_init`` instead."
|
||||||
|
+ },
|
||||||
|
"no_log_init": {
|
||||||
|
"default": false,
|
||||||
|
"description": "Do not initialize lastlog and faillog for user. Default: ``false``",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
+ "no-user-group": {
|
||||||
|
+ "type": "boolean",
|
||||||
|
+ "deprecated": true,
|
||||||
|
+ "deprecated_version": "24.2",
|
||||||
|
+ "deprecated_description": "Use ``no_user_group`` instead."
|
||||||
|
+ },
|
||||||
|
"no_user_group": {
|
||||||
|
"default": false,
|
||||||
|
"description": "Do not create group named after user. Default: ``false``",
|
||||||
|
@@ -234,24 +250,54 @@
|
||||||
|
"description": "Hash of user password applied when user does not exist. This will NOT be applied if the user already exists. To generate this hash, run: mkpasswd --method=SHA-512 --rounds=4096. **Note:** While hashed password is better than plain text, using ``passwd`` in user-data represents a security risk as user-data could be accessible by third-parties depending on your cloud platform.",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
+ "hashed-passwd": {
|
||||||
|
+ "type": "string",
|
||||||
|
+ "deprecated": true,
|
||||||
|
+ "deprecated_version": "24.2",
|
||||||
|
+ "deprecated_description": "Use ``hashed_passwd`` instead."
|
||||||
|
+ },
|
||||||
|
"hashed_passwd": {
|
||||||
|
"description": "Hash of user password to be applied. This will be applied even if the user is pre-existing. To generate this hash, run: mkpasswd --method=SHA-512 --rounds=4096. **Note:** While ``hashed_password`` is better than ``plain_text_passwd``, using ``passwd`` in user-data represents a security risk as user-data could be accessible by third-parties depending on your cloud platform.",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
+ "plain-text-passwd": {
|
||||||
|
+ "type": "string",
|
||||||
|
+ "deprecated": true,
|
||||||
|
+ "deprecated_version": "24.2",
|
||||||
|
+ "deprecated_description": "Use ``plain_text_passwd`` instead."
|
||||||
|
+ },
|
||||||
|
"plain_text_passwd": {
|
||||||
|
"description": "Clear text of user password to be applied. This will be applied even if the user is pre-existing. There are many more secure options than using plain text passwords, such as ``ssh_import_id`` or ``hashed_passwd``. Do not use this in production as user-data and your password can be exposed.",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
+ "create-groups": {
|
||||||
|
+ "type": "boolean",
|
||||||
|
+ "deprecated": true,
|
||||||
|
+ "deprecated_version": "24.2",
|
||||||
|
+ "deprecated_description": "Use ``create_groups`` instead."
|
||||||
|
+ },
|
||||||
|
"create_groups": {
|
||||||
|
"default": true,
|
||||||
|
"description": "Boolean set ``false`` to disable creation of specified user ``groups``. Default: ``true``.",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
+ "primary-group": {
|
||||||
|
+ "type": "string",
|
||||||
|
+ "deprecated": true,
|
||||||
|
+ "deprecated_version": "24.2",
|
||||||
|
+ "deprecated_description": "Use ``primary_group`` instead."
|
||||||
|
+ },
|
||||||
|
"primary_group": {
|
||||||
|
"default": "``<username>``",
|
||||||
|
"description": "Primary group for user. Default: ``<username>``",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
+ "selinux-user": {
|
||||||
|
+ "type": "string",
|
||||||
|
+ "deprecated": true,
|
||||||
|
+ "deprecated_version": "24.2",
|
||||||
|
+ "deprecated_description": "Use ``selinux_user`` instead."
|
||||||
|
+ },
|
||||||
|
"selinux_user": {
|
||||||
|
"description": "SELinux user for user's login. Default to default SELinux user.",
|
||||||
|
"type": "string"
|
||||||
|
@@ -273,20 +319,24 @@
|
||||||
|
"minItems": 1
|
||||||
|
},
|
||||||
|
"ssh-authorized-keys": {
|
||||||
|
- "allOf": [
|
||||||
|
- {
|
||||||
|
- "type": "array",
|
||||||
|
- "items": {
|
||||||
|
- "type": "string"
|
||||||
|
- },
|
||||||
|
- "minItems": 1
|
||||||
|
- },
|
||||||
|
- {
|
||||||
|
- "deprecated": true,
|
||||||
|
- "deprecated_version": "18.3",
|
||||||
|
- "deprecated_description": "Use ``ssh_authorized_keys`` instead."
|
||||||
|
- }
|
||||||
|
- ]
|
||||||
|
+ "type": "array",
|
||||||
|
+ "items": {
|
||||||
|
+ "type": "string"
|
||||||
|
+ },
|
||||||
|
+ "minItems": 1,
|
||||||
|
+ "deprecated": true,
|
||||||
|
+ "deprecated_version": "18.3",
|
||||||
|
+ "deprecated_description": "Use ``ssh_authorized_keys`` instead."
|
||||||
|
+ },
|
||||||
|
+ "ssh-import-id": {
|
||||||
|
+ "type": "array",
|
||||||
|
+ "items": {
|
||||||
|
+ "type": "string"
|
||||||
|
+ },
|
||||||
|
+ "minItems": 1,
|
||||||
|
+ "deprecated": true,
|
||||||
|
+ "deprecated_version": "24.2",
|
||||||
|
+ "deprecated_description": "Use ``ssh_import_id`` instead."
|
||||||
|
},
|
||||||
|
"ssh_import_id": {
|
||||||
|
"description": "List of SSH IDs to import for user. Can not be combined with ``ssh_redirect_user``.",
|
||||||
|
@@ -296,6 +346,12 @@
|
||||||
|
},
|
||||||
|
"minItems": 1
|
||||||
|
},
|
||||||
|
+ "ssh-redirect-user": {
|
||||||
|
+ "type": "boolean",
|
||||||
|
+ "deprecated": true,
|
||||||
|
+ "deprecated_version": "24.2",
|
||||||
|
+ "deprecated_description": "Use ``ssh_redirect_user`` instead."
|
||||||
|
+ },
|
||||||
|
"ssh_redirect_user": {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false,
|
||||||
|
@@ -398,7 +454,6 @@
|
||||||
|
"properties": {
|
||||||
|
"remove-defaults": {
|
||||||
|
"type": "boolean",
|
||||||
|
- "default": false,
|
||||||
|
"deprecated": true,
|
||||||
|
"deprecated_version": "22.3",
|
||||||
|
"deprecated_description": "Use ``remove_defaults`` instead."
|
||||||
|
@@ -516,9 +571,9 @@
|
||||||
|
},
|
||||||
|
"system_info": {
|
||||||
|
"type": "object",
|
||||||
|
- "description": "System and/or distro specific settings. This is not intended to be overridden by user data or vendor data.",
|
||||||
|
"deprecated": true,
|
||||||
|
- "deprecated_version": "24.2"
|
||||||
|
+ "deprecated_version": "24.2",
|
||||||
|
+ "deprecated_description": "System and/or distro specific settings. This is not intended to be overridden by user data or vendor data."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
@@ -1483,7 +1538,6 @@
|
||||||
|
},
|
||||||
|
"grub-dpkg": {
|
||||||
|
"type": "object",
|
||||||
|
- "description": "An alias for ``grub_dpkg``",
|
||||||
|
"deprecated": true,
|
||||||
|
"deprecated_version": "22.2",
|
||||||
|
"deprecated_description": "Use ``grub_dpkg`` instead."
|
||||||
|
@@ -2082,24 +2136,18 @@
|
||||||
|
},
|
||||||
|
"apt_update": {
|
||||||
|
"type": "boolean",
|
||||||
|
- "default": false,
|
||||||
|
- "description": "Default: ``false``.",
|
||||||
|
"deprecated": true,
|
||||||
|
"deprecated_version": "22.2",
|
||||||
|
"deprecated_description": "Use ``package_update`` instead."
|
||||||
|
},
|
||||||
|
"apt_upgrade": {
|
||||||
|
"type": "boolean",
|
||||||
|
- "default": false,
|
||||||
|
- "description": "Default: ``false``.",
|
||||||
|
"deprecated": true,
|
||||||
|
"deprecated_version": "22.2",
|
||||||
|
"deprecated_description": "Use ``package_upgrade`` instead."
|
||||||
|
},
|
||||||
|
"apt_reboot_if_required": {
|
||||||
|
"type": "boolean",
|
||||||
|
- "default": false,
|
||||||
|
- "description": "Default: ``false``.",
|
||||||
|
"deprecated": true,
|
||||||
|
"deprecated_version": "22.2",
|
||||||
|
"deprecated_description": "Use ``package_reboot_if_required`` instead."
|
||||||
|
@@ -2798,7 +2846,6 @@
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"minItems": 1,
|
||||||
|
- "description": "List of ``username:password`` pairs. Each user will have the corresponding password set. A password can be randomly generated by specifying ``RANDOM`` or ``R`` as a user's password. A hashed password, created by a tool like ``mkpasswd``, can be specified. A regex (``r'\\$(1|2a|2y|5|6)(\\$.+){2}'``) is used to determine if a password value should be treated as a hash.",
|
||||||
|
"deprecated": true,
|
||||||
|
"deprecated_version": "22.2",
|
||||||
|
"deprecated_description": "Use ``users`` instead."
|
||||||
|
diff --git a/tests/unittests/config/test_cc_grub_dpkg.py b/tests/unittests/config/test_cc_grub_dpkg.py
|
||||||
|
index b4bd48df..36ef7fd9 100644
|
||||||
|
--- a/tests/unittests/config/test_cc_grub_dpkg.py
|
||||||
|
+++ b/tests/unittests/config/test_cc_grub_dpkg.py
|
||||||
|
@@ -300,8 +300,8 @@ class TestGrubDpkgSchema:
|
||||||
|
pytest.raises(
|
||||||
|
SchemaValidationError,
|
||||||
|
match=(
|
||||||
|
- "Cloud config schema deprecations: grub-dpkg: An alias"
|
||||||
|
- " for ``grub_dpkg`` Deprecated in version 22.2. Use "
|
||||||
|
+ "Cloud config schema deprecations: grub-dpkg:"
|
||||||
|
+ " Deprecated in version 22.2. Use "
|
||||||
|
"``grub_dpkg`` instead."
|
||||||
|
),
|
||||||
|
),
|
||||||
|
diff --git a/tests/unittests/config/test_cc_package_update_upgrade_install.py b/tests/unittests/config/test_cc_package_update_upgrade_install.py
|
||||||
|
index 9ba7f178..734dbc53 100644
|
||||||
|
--- a/tests/unittests/config/test_cc_package_update_upgrade_install.py
|
||||||
|
+++ b/tests/unittests/config/test_cc_package_update_upgrade_install.py
|
||||||
|
@@ -192,16 +192,16 @@ class TestPackageUpdateUpgradeSchema:
|
||||||
|
(
|
||||||
|
{"apt_update": False},
|
||||||
|
(
|
||||||
|
- "Cloud config schema deprecations: apt_update: "
|
||||||
|
- "Default: ``false``. Deprecated in version 22.2. "
|
||||||
|
+ "Cloud config schema deprecations: apt_update: "
|
||||||
|
+ "Deprecated in version 22.2. "
|
||||||
|
"Use ``package_update`` instead."
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
{"apt_upgrade": False},
|
||||||
|
(
|
||||||
|
- "Cloud config schema deprecations: apt_upgrade: "
|
||||||
|
- "Default: ``false``. Deprecated in version 22.2. "
|
||||||
|
+ "Cloud config schema deprecations: apt_upgrade: "
|
||||||
|
+ "Deprecated in version 22.2. "
|
||||||
|
"Use ``package_upgrade`` instead."
|
||||||
|
),
|
||||||
|
),
|
||||||
|
@@ -209,8 +209,7 @@ class TestPackageUpdateUpgradeSchema:
|
||||||
|
{"apt_reboot_if_required": False},
|
||||||
|
(
|
||||||
|
"Cloud config schema deprecations: "
|
||||||
|
- "apt_reboot_if_required: Default: ``false``. "
|
||||||
|
- "Deprecated in version 22.2. Use "
|
||||||
|
+ "apt_reboot_if_required: Deprecated in version 22.2. Use "
|
||||||
|
"``package_reboot_if_required`` instead."
|
||||||
|
),
|
||||||
|
),
|
||||||
|
diff --git a/tests/unittests/config/test_cc_users_groups.py b/tests/unittests/config/test_cc_users_groups.py
|
||||||
|
index 53e231e1..4ca67f77 100644
|
||||||
|
--- a/tests/unittests/config/test_cc_users_groups.py
|
||||||
|
+++ b/tests/unittests/config/test_cc_users_groups.py
|
||||||
|
@@ -371,9 +371,20 @@ class TestUsersGroupsSchema:
|
||||||
|
SchemaValidationError,
|
||||||
|
match=(
|
||||||
|
"Cloud config schema deprecations: "
|
||||||
|
- "users.0.lock-passwd: Default: ``true`` "
|
||||||
|
- "Deprecated in version 22.3. Use "
|
||||||
|
- "``lock_passwd`` instead."
|
||||||
|
+ "users.0.lock-passwd: Deprecated in version 22.3."
|
||||||
|
+ " Use ``lock_passwd`` instead."
|
||||||
|
+ ),
|
||||||
|
+ ),
|
||||||
|
+ False,
|
||||||
|
+ ),
|
||||||
|
+ (
|
||||||
|
+ {"users": [{"name": "bbsw", "no-create-home": True}]},
|
||||||
|
+ pytest.raises(
|
||||||
|
+ SchemaValidationError,
|
||||||
|
+ match=(
|
||||||
|
+ "Cloud config schema deprecations: "
|
||||||
|
+ "users.0.no-create-home: Deprecated in version 24.2."
|
||||||
|
+ " Use ``no_create_home`` instead."
|
||||||
|
),
|
||||||
|
),
|
||||||
|
False,
|
||||||
|
@@ -394,13 +405,10 @@ class TestUsersGroupsSchema:
|
||||||
|
SchemaValidationError,
|
||||||
|
match=(
|
||||||
|
"Cloud config schema deprecations: "
|
||||||
|
- "users.0.groups.adm: When providing an object "
|
||||||
|
- "for users.groups the ``<group_name>`` keys "
|
||||||
|
- "are the groups to add this user to Deprecated"
|
||||||
|
- " in version 23.1., users.0.groups.sudo: When "
|
||||||
|
- "providing an object for users.groups the "
|
||||||
|
- "``<group_name>`` keys are the groups to add "
|
||||||
|
- "this user to Deprecated in version 23.1."
|
||||||
|
+ "users.0.groups.adm: Deprecated in version 23.1. "
|
||||||
|
+ "The use of ``object`` type is deprecated. Use "
|
||||||
|
+ "``string`` or ``array`` of ``string`` instead., "
|
||||||
|
+ "users.0.groups.sudo: Deprecated in version 23.1."
|
||||||
|
),
|
||||||
|
),
|
||||||
|
False,
|
||||||
|
@@ -456,10 +464,7 @@ class TestUsersGroupsSchema:
|
||||||
|
SchemaValidationError,
|
||||||
|
match=(
|
||||||
|
"Cloud config schema deprecations: "
|
||||||
|
- "user.groups.sbuild: When providing an object "
|
||||||
|
- "for users.groups the ``<group_name>`` keys "
|
||||||
|
- "are the groups to add this user to Deprecated"
|
||||||
|
- " in version 23.1."
|
||||||
|
+ "user.groups.sbuild: Deprecated in version 23.1."
|
||||||
|
),
|
||||||
|
),
|
||||||
|
False,
|
||||||
|
diff --git a/tests/unittests/config/test_schema.py b/tests/unittests/config/test_schema.py
|
||||||
|
index 52667332..8208affc 100644
|
||||||
|
--- a/tests/unittests/config/test_schema.py
|
||||||
|
+++ b/tests/unittests/config/test_schema.py
|
||||||
|
@@ -2251,9 +2251,9 @@ class TestHandleSchemaArgs:
|
||||||
|
apt_reboot_if_required: true # D3
|
||||||
|
|
||||||
|
# Deprecations: -------------
|
||||||
|
- # D1: Default: ``false``. Deprecated in version 22.2. Use ``package_update`` instead.
|
||||||
|
- # D2: Default: ``false``. Deprecated in version 22.2. Use ``package_upgrade`` instead.
|
||||||
|
- # D3: Default: ``false``. Deprecated in version 22.2. Use ``package_reboot_if_required`` instead.
|
||||||
|
+ # D1: Deprecated in version 22.2. Use ``package_update`` instead.
|
||||||
|
+ # D2: Deprecated in version 22.2. Use ``package_upgrade`` instead.
|
||||||
|
+ # D3: Deprecated in version 22.2. Use ``package_reboot_if_required`` instead.
|
||||||
|
|
||||||
|
Valid schema {cfg_file}
|
||||||
|
""" # noqa: E501
|
||||||
|
@@ -2264,11 +2264,10 @@ class TestHandleSchemaArgs:
|
||||||
|
dedent(
|
||||||
|
"""\
|
||||||
|
Cloud config schema deprecations: \
|
||||||
|
-apt_reboot_if_required: Default: ``false``. Deprecated in version 22.2.\
|
||||||
|
- Use ``package_reboot_if_required`` instead., apt_update: Default: \
|
||||||
|
-``false``. Deprecated in version 22.2. Use ``package_update`` instead.,\
|
||||||
|
- apt_upgrade: Default: ``false``. Deprecated in version 22.2. Use \
|
||||||
|
-``package_upgrade`` instead.\
|
||||||
|
+apt_reboot_if_required: Deprecated in version 22.2. Use\
|
||||||
|
+ ``package_reboot_if_required`` instead., apt_update: Deprecated in version\
|
||||||
|
+ 22.2. Use ``package_update`` instead., apt_upgrade: Deprecated in version\
|
||||||
|
+ 22.2. Use ``package_upgrade`` instead.\
|
||||||
|
Valid schema {cfg_file}
|
||||||
|
""" # noqa: E501
|
||||||
|
),
|
||||||
|
--
|
||||||
|
2.39.3
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
Name: cloud-init
|
Name: cloud-init
|
||||||
Version: 23.4
|
Version: 23.4
|
||||||
Release: 13%{?dist}
|
Release: 14%{?dist}
|
||||||
Summary: Cloud instance init scripts
|
Summary: Cloud instance init scripts
|
||||||
License: ASL 2.0 or GPLv3
|
License: ASL 2.0 or GPLv3
|
||||||
URL: http://launchpad.net/cloud-init
|
URL: http://launchpad.net/cloud-init
|
||||||
@ -47,6 +47,12 @@ Patch22: ci-fix-dhcp-Guard-against-FileNotFoundError-and-NameErr.patch
|
|||||||
Patch23: ci-fix-Address-TIOBE-abstract-interpretation-issues-486.patch
|
Patch23: ci-fix-Address-TIOBE-abstract-interpretation-issues-486.patch
|
||||||
# For RHEL-44598 - fix pylint error and support python 3.12
|
# For RHEL-44598 - fix pylint error and support python 3.12
|
||||||
Patch24: ci-Update-pylint-version-to-support-python-3.12-5338.patch
|
Patch24: ci-Update-pylint-version-to-support-python-3.12-5338.patch
|
||||||
|
# For RHEL-45262 - Deprecate the users ssh-authorized-keys property and permit deprecated hyphenated keys under users key
|
||||||
|
Patch25: ci-Deprecate-the-users-ssh-authorized-keys-property-516.patch
|
||||||
|
# For RHEL-45262 - Deprecate the users ssh-authorized-keys property and permit deprecated hyphenated keys under users key
|
||||||
|
Patch26: ci-docs-Add-deprecated-system_info-to-schema-5168.patch
|
||||||
|
# For RHEL-45262 - Deprecate the users ssh-authorized-keys property and permit deprecated hyphenated keys under users key
|
||||||
|
Patch27: ci-fix-schema-permit-deprecated-hyphenated-keys-under-u.patch
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
@ -261,6 +267,13 @@ fi
|
|||||||
%config(noreplace) %{_sysconfdir}/rsyslog.d/21-cloudinit.conf
|
%config(noreplace) %{_sysconfdir}/rsyslog.d/21-cloudinit.conf
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jul 01 2024 Miroslav Rezanina <mrezanin@redhat.com> - 23.4-14
|
||||||
|
- ci-Deprecate-the-users-ssh-authorized-keys-property-516.patch [RHEL-45262]
|
||||||
|
- ci-docs-Add-deprecated-system_info-to-schema-5168.patch [RHEL-45262]
|
||||||
|
- ci-fix-schema-permit-deprecated-hyphenated-keys-under-u.patch [RHEL-45262]
|
||||||
|
- Resolves: RHEL-45262
|
||||||
|
(Deprecate the users ssh-authorized-keys property and permit deprecated hyphenated keys under users key)
|
||||||
|
|
||||||
* Tue Jun 25 2024 Miroslav Rezanina <mrezanin@redhat.com> - 23.4-13
|
* Tue Jun 25 2024 Miroslav Rezanina <mrezanin@redhat.com> - 23.4-13
|
||||||
- ci-feat-sysconfig-Add-DNS-from-interface-config-to-reso.patch [RHEL-17961]
|
- ci-feat-sysconfig-Add-DNS-from-interface-config-to-reso.patch [RHEL-17961]
|
||||||
- ci-fix-jsonschema-Add-missing-sudo-definition-5418.patch [RHEL-44337]
|
- ci-fix-jsonschema-Add-missing-sudo-definition-5418.patch [RHEL-44337]
|
||||||
|
Loading…
Reference in New Issue
Block a user