d0ca280108
- Resolves: RHEL-37285 IPA Web UI not showing replication agreement for non-admin users - Resolves: RHEL-42703 PSKC.xml issues with ipa_otptoken_import.py - Resolves: RHEL-41194 ipa-client rpm post script creates always ssh_config.orig even if nothing needs to be changed - Resolves: RHEL-39477 kdc.crt certificate not getting automatically renewed by certmonger in IPA Hidden replica - Resolves: RHEL-46559 Include latest fixes in python3-ipatests packages - Resolves: RHEL-22188 [RFE] Allow IPA SIDgen task to continue if it finds an entity that SID can't be assigned to Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
70 lines
2.9 KiB
Diff
70 lines
2.9 KiB
Diff
From 4d51446bd3cd9ab222f9978f8f5def1f3a37fa0e Mon Sep 17 00:00:00 2001
|
|
From: Florence Blanc-Renaud <flo@redhat.com>
|
|
Date: Thu, 20 Jun 2024 08:13:27 +0200
|
|
Subject: [PATCH] ipatests: add test for ticket 9610
|
|
|
|
Test scenario:
|
|
- ensure there is no /etc/ssh/ssh_config.orig file
|
|
- force ipa-client package reinstallation
|
|
- ensure no backup file is created in /etc/ssh/ssh_config.orig
|
|
|
|
Related: https://pagure.io/freeipa/issue/9610
|
|
Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
|
|
Reviewed-By: Michal Polovka <mpolovka@redhat.com>
|
|
---
|
|
ipatests/pytest_ipa/integration/tasks.py | 15 +++++++++++++++
|
|
ipatests/test_integration/test_upgrade.py | 14 ++++++++++++++
|
|
2 files changed, 29 insertions(+)
|
|
|
|
diff --git a/ipatests/pytest_ipa/integration/tasks.py b/ipatests/pytest_ipa/integration/tasks.py
|
|
index 6665f361e0880a149ecca8c6f7c3fe1feb1f42d0..9d6b5f67a311a28c335801d59e0ff0f0c7faccdd 100755
|
|
--- a/ipatests/pytest_ipa/integration/tasks.py
|
|
+++ b/ipatests/pytest_ipa/integration/tasks.py
|
|
@@ -2550,6 +2550,21 @@ def install_packages(host, pkgs):
|
|
host.run_command(install_cmd + pkgs)
|
|
|
|
|
|
+def reinstall_packages(host, pkgs):
|
|
+ """Install packages on a remote host.
|
|
+ :param host: the host where the installation takes place
|
|
+ :param pkgs: packages to install, provided as a list of strings
|
|
+ """
|
|
+ platform = get_platform(host)
|
|
+ if platform in {'rhel', 'fedora'}:
|
|
+ install_cmd = ['/usr/bin/dnf', 'reinstall', '-y']
|
|
+ elif platform in {'debian', 'ubuntu'}:
|
|
+ install_cmd = ['apt-get', '--reinstall', 'install', '-y']
|
|
+ else:
|
|
+ raise ValueError('install_packages: unknown platform %s' % platform)
|
|
+ host.run_command(install_cmd + pkgs)
|
|
+
|
|
+
|
|
def download_packages(host, pkgs):
|
|
"""Download packages on a remote host.
|
|
:param host: the host where the download takes place
|
|
diff --git a/ipatests/test_integration/test_upgrade.py b/ipatests/test_integration/test_upgrade.py
|
|
index 182e3b5da3c758cc10913ad4eed119b0983fcc23..011de939e92790734d63da2f85be1c25349116a8 100644
|
|
--- a/ipatests/test_integration/test_upgrade.py
|
|
+++ b/ipatests/test_integration/test_upgrade.py
|
|
@@ -477,3 +477,17 @@ class TestUpgrade(IntegrationTest):
|
|
self.master.run_command(['ipa-server-upgrade'])
|
|
assert self.master.transport.file_exists(
|
|
paths.SYSTEMD_PKI_TOMCAT_IPA_CONF)
|
|
+
|
|
+ def test_ssh_config(self):
|
|
+ """Test that pkg upgrade does not create /etc/ssh/ssh_config.orig
|
|
+
|
|
+ Test for ticket 9610
|
|
+ The upgrade of ipa-client package should not create a backup file
|
|
+ /etc/ssh/ssh_config.orig if no change is applied.
|
|
+ """
|
|
+ # Ensure there is no backup file before the test
|
|
+ self.master.run_command(["rm", "-f", paths.SSH_CONFIG + ".orig"])
|
|
+ # Force client package reinstallation to trigger %post scriptlet
|
|
+ tasks.reinstall_packages(self.master, ['*ipa-client'])
|
|
+ assert not self.master.transport.file_exists(
|
|
+ paths.SSH_CONFIG + ".orig")
|
|
--
|
|
2.45.2
|
|
|