From 8f272ac802f44c1b76f62f9cbb07b52e0c999535 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 27 Mar 2024 20:27:37 +0000 Subject: [PATCH] import CS rhel-system-roles-1.23.0-2.21.el8 --- .gitignore | 63 ++-- .rhel-system-roles.metadata | 63 ++-- ...stdin-for-password-and-do-not-log-pa.patch | 127 ------- SOURCES/CHANGELOG.md | 47 +++ SOURCES/extrasources.inc | 8 +- SOURCES/vendoring-build.inc | 168 +++++---- SPECS/rhel-system-roles.spec | 340 ++++++++++++------ 7 files changed, 436 insertions(+), 380 deletions(-) delete mode 100644 SOURCES/0001-fix-use-command-stdin-for-password-and-do-not-log-pa.patch diff --git a/.gitignore b/.gitignore index 001b2bd..179d5e6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,31 +1,34 @@ -SOURCES/ad_integration-1.1.3.tar.gz +SOURCES/ad_integration-1.4.2.tar.gz SOURCES/ansible-posix-1.5.4.tar.gz -SOURCES/ansible-sshd-v0.19.0.tar.gz -SOURCES/auto-maintenance-e010c878833e363195dd707d1334ff48a254b092.tar.gz -SOURCES/certificate-1.2.1.tar.gz -SOURCES/cockpit-1.4.7.tar.gz -SOURCES/community-general-7.3.0.tar.gz -SOURCES/containers-podman-1.10.3.tar.gz -SOURCES/crypto_policies-1.2.11.tar.gz -SOURCES/firewall-1.6.3.tar.gz -SOURCES/ha_cluster-1.10.0.tar.gz -SOURCES/journald-1.0.5.tar.gz -SOURCES/kdump-1.3.6.tar.gz -SOURCES/kernel_settings-1.1.17.tar.gz -SOURCES/keylime_server-1.0.0.tar.gz -SOURCES/logging-1.11.9.tar.gz -SOURCES/metrics-1.8.6.tar.gz -SOURCES/nbde_client-1.2.14.tar.gz -SOURCES/nbde_server-1.3.8.tar.gz -SOURCES/network-1.13.1.tar.gz -SOURCES/podman-1.3.2.tar.gz -SOURCES/postfix-1.3.8.tar.gz -SOURCES/postgresql-1.1.0.tar.gz -SOURCES/rhc-1.2.4.tar.gz -SOURCES/selinux-1.6.1.tar.gz -SOURCES/ssh-1.2.1.tar.gz -SOURCES/storage-1.12.3.tar.gz -SOURCES/systemd-1.0.1.tar.gz -SOURCES/timesync-1.7.6.tar.gz -SOURCES/tlog-1.2.16.tar.gz -SOURCES/vpn-1.5.8.tar.gz +SOURCES/ansible-sshd-v0.23.2.tar.gz +SOURCES/auto-maintenance-11ad785c9bb72611244e7909450ca4247e12db4d.tar.gz +SOURCES/bootloader-1.0.3.tar.gz +SOURCES/certificate-1.3.3.tar.gz +SOURCES/cockpit-1.5.5.tar.gz +SOURCES/community-general-8.3.0.tar.gz +SOURCES/containers-podman-1.12.0.tar.gz +SOURCES/crypto_policies-1.3.2.tar.gz +SOURCES/fapolicyd-1.1.1.tar.gz +SOURCES/firewall-1.7.4.tar.gz +SOURCES/ha_cluster-1.14.0.tar.gz +SOURCES/journald-1.2.3.tar.gz +SOURCES/kdump-1.4.4.tar.gz +SOURCES/kernel_settings-1.2.2.tar.gz +SOURCES/keylime_server-1.1.2.tar.gz +SOURCES/logging-1.12.4.tar.gz +SOURCES/metrics-1.10.1.tar.gz +SOURCES/nbde_client-1.2.17.tar.gz +SOURCES/nbde_server-1.4.3.tar.gz +SOURCES/network-1.15.1.tar.gz +SOURCES/podman-1.4.7.tar.gz +SOURCES/postfix-1.4.3.tar.gz +SOURCES/postgresql-1.3.5.tar.gz +SOURCES/rhc-1.6.0.tar.gz +SOURCES/selinux-1.7.4.tar.gz +SOURCES/snapshot-1.3.1.tar.gz +SOURCES/ssh-1.3.2.tar.gz +SOURCES/storage-1.16.2.tar.gz +SOURCES/systemd-1.1.2.tar.gz +SOURCES/timesync-1.8.2.tar.gz +SOURCES/tlog-1.3.3.tar.gz +SOURCES/vpn-1.6.3.tar.gz diff --git a/.rhel-system-roles.metadata b/.rhel-system-roles.metadata index 03291d4..9a9fcfe 100644 --- a/.rhel-system-roles.metadata +++ b/.rhel-system-roles.metadata @@ -1,31 +1,34 @@ -4ed72d2549af3a2bf5232944dcd84c4203ec1f49 SOURCES/ad_integration-1.1.3.tar.gz +5141bc9c1084d08fc347e017bb1c91963bcbe441 SOURCES/ad_integration-1.4.2.tar.gz da646eb9ba655f1693cc950ecb5c24af39ee1af6 SOURCES/ansible-posix-1.5.4.tar.gz -edcfa5243b2e74c50ab8fd17f514bbc9df693c06 SOURCES/ansible-sshd-v0.19.0.tar.gz -7b34305ca31a8df71f3ecec3410c7c4d262201bd SOURCES/auto-maintenance-e010c878833e363195dd707d1334ff48a254b092.tar.gz -4483962040f0c29fa9c80950dc403ce7e9f17ed7 SOURCES/certificate-1.2.1.tar.gz -4ed2794a781e7976ff2a0b4c6abbf008859ef982 SOURCES/cockpit-1.4.7.tar.gz -ee7868c57b3d1ce170b61a1d42c840ba1428aeac SOURCES/community-general-7.3.0.tar.gz -711423c6503c1e137d7c38b6a0718e5768f40d21 SOURCES/containers-podman-1.10.3.tar.gz -aee5eb307f5a40a8a222a0dd7713b230bc3324a7 SOURCES/crypto_policies-1.2.11.tar.gz -81ac41f0c7d06dbb92d70b8d9a0a0b0a6474411c SOURCES/firewall-1.6.3.tar.gz -aa11011e00fe8a86999688149d60f5d0a4ed5cbf SOURCES/ha_cluster-1.10.0.tar.gz -88e721b5d804f00e7b044310d47b2dd40ac83f8f SOURCES/journald-1.0.5.tar.gz -64680ec0f3ea03fc5c0a5792ceeaa193d6154fdd SOURCES/kdump-1.3.6.tar.gz -43338d3ffdc79961564504822a84462cefa8ff5a SOURCES/kernel_settings-1.1.17.tar.gz -81b0e4e1f71f01a008181494eefc542506cd3823 SOURCES/keylime_server-1.0.0.tar.gz -0963ecef1330048c25bb9a778b5ac15c24e77df2 SOURCES/logging-1.11.9.tar.gz -af61299d39b4a7d5e37507a898ddba55e3f053d6 SOURCES/metrics-1.8.6.tar.gz -b8c7ff7dadbd84aeb13e94c4be3be0f8ee9549cd SOURCES/nbde_client-1.2.14.tar.gz -a5d2a5afd45447edb17f6a9615eabb80501e61f3 SOURCES/nbde_server-1.3.8.tar.gz -fe9426eaf3e7a5a31ebe5707e4a17770bca7a6b6 SOURCES/network-1.13.1.tar.gz -8b49515b4c5d8b1f5e06be6c7fdeff7ab622c495 SOURCES/podman-1.3.2.tar.gz -b91070ba6fa7b4a9072aa2d1a2ef4b169aab0f00 SOURCES/postfix-1.3.8.tar.gz -504cde6540ff1b5527b2ddf9aa90a95e29d7ffc3 SOURCES/postgresql-1.1.0.tar.gz -a6097168bd1b54a46be8b5f4adfdab9b5ec8ddb5 SOURCES/rhc-1.2.4.tar.gz -bb2a5e711233e527d0a11914bd566f47a2cfe9e6 SOURCES/selinux-1.6.1.tar.gz -c03dbda563ec7d3c2ae2c7bfd6aab88c6c19fbac SOURCES/ssh-1.2.1.tar.gz -84085e0f750181aee340e02258fd5888d563698e SOURCES/storage-1.12.3.tar.gz -1c7ac80df7288f7d3469e376316305eadd2dc2dc SOURCES/systemd-1.0.1.tar.gz -e4fe253906ffd7ce2ecca71a63a0e96e5f562e0c SOURCES/timesync-1.7.6.tar.gz -544d0591a0ae73b73c1ab5bc280cdc8d5598f322 SOURCES/tlog-1.2.16.tar.gz -1d959b0b5f6bd261d392b0740fd86915c7b35c17 SOURCES/vpn-1.5.8.tar.gz +ae49d8b3f623a4bf132644f0f2256a92bd4c41ae SOURCES/ansible-sshd-v0.23.2.tar.gz +e4df3548cf129b61c40b2d013917e07be2f3ba4e SOURCES/auto-maintenance-11ad785c9bb72611244e7909450ca4247e12db4d.tar.gz +b84e7d8110638848b22a22c7ed8e94cf865a13d8 SOURCES/bootloader-1.0.3.tar.gz +9eaac83b306b2fb8dd8e82bc4b03b30285d2024f SOURCES/certificate-1.3.3.tar.gz +dd3d8b4b12aeeeab4cf78bfdad911a194027fc8e SOURCES/cockpit-1.5.5.tar.gz +15fd2f2c08ae17cc47efb76bd14fb9ab6f33bc26 SOURCES/community-general-8.3.0.tar.gz +ff961816d6e01326a413552b4f3c290ccdb9dc20 SOURCES/containers-podman-1.12.0.tar.gz +6705818b1fdf3cc82083937265f7942e3d3ccc2d SOURCES/crypto_policies-1.3.2.tar.gz +29505121f6798f527045c5f66656fd5c19bed5fe SOURCES/fapolicyd-1.1.1.tar.gz +1a7a875cebbd3e146f6ca554269ee20845cf877b SOURCES/firewall-1.7.4.tar.gz +53e8991ca7e0c5c97ab010e843bc1a7c4a98eb96 SOURCES/ha_cluster-1.14.0.tar.gz +e96ba9f5b3ae08a12dbf072f118e316036553b94 SOURCES/journald-1.2.3.tar.gz +de6c6103b7023aa21782906696e712b428600a92 SOURCES/kdump-1.4.4.tar.gz +0f28a0919874f650ef0149409116bae12d2363e0 SOURCES/kernel_settings-1.2.2.tar.gz +85c14c7e260b247eb7947c8706af82ff5aac07d2 SOURCES/keylime_server-1.1.2.tar.gz +15e86d6989a25cd50edb58f5fb479e0d1ae3b755 SOURCES/logging-1.12.4.tar.gz +e795238995d2dfb2cbdb5cc9bf4923f7410ac49a SOURCES/metrics-1.10.1.tar.gz +8218c40eb96540e2f5d9f5be95deea9e2110ddd8 SOURCES/nbde_client-1.2.17.tar.gz +dce6435ca145b3143c1326a8e413e8173e5655ef SOURCES/nbde_server-1.4.3.tar.gz +e89a4d6974a089f035b1f3fc79a1f9cacfa1f933 SOURCES/network-1.15.1.tar.gz +fc242b6f776088720ef04e5891c75fd33e6e1e96 SOURCES/podman-1.4.7.tar.gz +ddb7e2a575e4b96666ce13dbdbaea97cc2f83954 SOURCES/postfix-1.4.3.tar.gz +bf0f12e78bfc2120d85c5458aa7d53b15738e73c SOURCES/postgresql-1.3.5.tar.gz +b519a4e35b55e97bf954916d77f1f1f82ec2615b SOURCES/rhc-1.6.0.tar.gz +458b076a73a1c3597485b60bc734b225f3079a86 SOURCES/selinux-1.7.4.tar.gz +8fdcd362f021d41165c4a959ba79136491389343 SOURCES/snapshot-1.3.1.tar.gz +d2c153993e51ce949db861db2aa15e8ec90b45af SOURCES/ssh-1.3.2.tar.gz +e08c1df6c6842f6ad37fff34d2e9d96e9cdddd70 SOURCES/storage-1.16.2.tar.gz +df8f2896ad761da73872d17a0f0cd8cfd34e0671 SOURCES/systemd-1.1.2.tar.gz +47be5d4b967970eefecf72a79a1d8d9bc7c72f18 SOURCES/timesync-1.8.2.tar.gz +6d559dc44f44bc7e505602b36b51b4d1b60f2754 SOURCES/tlog-1.3.3.tar.gz +27395883fa555658257e70287e709f8ccc1d8392 SOURCES/vpn-1.6.3.tar.gz diff --git a/SOURCES/0001-fix-use-command-stdin-for-password-and-do-not-log-pa.patch b/SOURCES/0001-fix-use-command-stdin-for-password-and-do-not-log-pa.patch deleted file mode 100644 index bba4a2b..0000000 --- a/SOURCES/0001-fix-use-command-stdin-for-password-and-do-not-log-pa.patch +++ /dev/null @@ -1,127 +0,0 @@ -From 1931ebccaa146bd6ee8365c664ab62d294adaa31 Mon Sep 17 00:00:00 2001 -From: Rich Megginson -Date: Fri, 18 Aug 2023 12:35:44 -0600 -Subject: [PATCH] fix: use command stdin for password, and do not log password - -Cause: The code was constructing the realm join command to be passed -via the shell module, including piping the password into the command, -and was showing the command, including the password, when using -check mode. - -Consequence: The clear text password was available in the logs when -using check mode. - -Fix: Use command with stdin for the password instead of shell. The -password is not part of the command. command with stdin is more -secure than using shell. The debug output has been changed to -show the command with the `ad_integration_join_parameters` removed, -because we cannot know if those parameters contain data which should -not be logged. Those parameters will still be passed to the actual -realm join command. - -Result: The password is not logged. The role is more secure. - -Signed-off-by: Rich Megginson ---- - tasks/main.yml | 57 ++++++++++++++++++++++++++++---------------------- - 1 file changed, 32 insertions(+), 25 deletions(-) - -diff --git a/tasks/main.yml b/tasks/main.yml -index fe2602e..265c6fe 100644 ---- a/tasks/main.yml -+++ b/tasks/main.yml -@@ -3,8 +3,7 @@ - - name: Ensure that mandatory variable ad_integration_realm is available - fail: - msg: Variable ad_integration_realm must be provided! -- when: -- - not ad_integration_realm -+ when: not ad_integration_realm - - - name: Assume managing timesync if timesource is set - set_fact: -@@ -26,8 +25,7 @@ - - name: Assume managing crypto policies if allow_rc4_crypto is set - set_fact: - ad_integration_manage_crypto_policies: true -- when: -- - ad_integration_allow_rc4_crypto | bool -+ when: ad_integration_allow_rc4_crypto | bool - - - name: Ensure manage_crypt_policies is set with crypto_allow_rc4 - fail: -@@ -141,41 +139,50 @@ - - - name: Build Command - Join to a specific Domain Controller - set_fact: -- __ad_integration_join_command: | -- set -euo pipefail -- echo {{ ad_integration_password | quote }} | realm join -U \ -- {{ ad_integration_user | quote }} --membership-software \ -- {{ ad_integration_membership_software | quote }} \ -- {{ ad_integration_join_parameters }} \ -- {{ ad_integration_join_to_dc | quote }} -+ __ad_integration_join_command: >- -+ realm join -U {{ ad_integration_user | quote }} --membership-software -+ {{ ad_integration_membership_software | quote }} -+ {{ ad_integration_join_parameters }} -+ {{ ad_integration_join_to_dc | quote }} -+ __ad_integration_debug_command: >- -+ realm join -U {{ ad_integration_user | quote }} --membership-software -+ {{ ad_integration_membership_software | quote }} -+ {{ ad_integration_join_to_dc | quote }} - no_log: true -- when: -- - ad_integration_join_to_dc is not none -+ when: ad_integration_join_to_dc is not none - - - name: Build Join Command - Perform discovery-based realm join operation - set_fact: -- __ad_integration_join_command: | -- set -euo pipefail -- echo {{ ad_integration_password | quote }} | realm join -U \ -- {{ ad_integration_user | quote }} --membership-software \ -- {{ ad_integration_membership_software | quote }} \ -- {{ ad_integration_join_parameters }} \ -- {{ ad_integration_realm | quote }} -+ __ad_integration_join_command: >- -+ realm join -U {{ ad_integration_user | quote }} --membership-software -+ {{ ad_integration_membership_software | quote }} -+ {{ ad_integration_join_parameters }} -+ {{ ad_integration_realm | quote }} -+ __ad_integration_debug_command: >- -+ realm join -U {{ ad_integration_user | quote }} --membership-software -+ {{ ad_integration_membership_software | quote }} -+ {{ ad_integration_realm | quote }} - no_log: true -- when: -- - ad_integration_join_to_dc is none -+ when: ad_integration_join_to_dc is none - - - name: Show the join command for debug - debug: -- msg: "Would run: '{{ __ad_integration_join_command }}'" -+ msg: -+ - >- -+ Would run the following command. Note that -+ ad_integration_join_parameters have been removed for security purposes, -+ the role will pass them to the actual realm join command when running -+ without check mode. -+ - "{{ __ad_integration_debug_command }}" - when: - - ad_integration_join_to_dc == __ad_integration_sample_dc - or ad_integration_realm == __ad_integration_sample_realm - or ansible_check_mode - - - name: Run realm join command -- # noqa command-instead-of-shell -- shell: "{{ __ad_integration_join_command }}" -+ command: "{{ __ad_integration_join_command }}" -+ args: -+ stdin: "{{ ad_integration_password }}" - no_log: true - when: - - ad_integration_join_to_dc != __ad_integration_sample_dc --- -2.41.0 - diff --git a/SOURCES/CHANGELOG.md b/SOURCES/CHANGELOG.md index 18c1dce..c8a77fc 100644 --- a/SOURCES/CHANGELOG.md +++ b/SOURCES/CHANGELOG.md @@ -1,5 +1,52 @@ Changelog ========= +[1.23.0] - 2024-01-15 +---------------------------- + +### New Features + +- [RHEL for Edge support in system roles](https://issues.redhat.com/browse/RHEL-15872) +- [ad_integration - feat: Add sssd custom settings](https://issues.redhat.com/browse/RHEL-17667) +- [ad_integration - Enable AD dynamic DNS updates](https://issues.redhat.com/browse/RHEL-1119) +- [ad_integration - feat: add ad_integration_preserve_authselect_profile](https://issues.redhat.com/browse/RHEL-21383) +- [ad_integration - feat: Add SSSD parameters support](https://issues.redhat.com/browse/RHEL-21134) +- [bootloader - Create bootloader role (MVP)](https://issues.redhat.com/browse/RHEL-3241) +- [fapolicyd - feat: Import code for fapolicyd system role](https://issues.redhat.com/browse/RHEL-16542) +- [ha_cluster - [RFE] HA Cluster system role should be able to enable Resilient Storage repository](https://issues.redhat.com/browse/RHEL-14090) +- [ha_cluster - [FutureFeature] Allow ha_cluster role to configure fencing topology](https://issues.redhat.com/browse/RHEL-4624) +- [ha_cluster - [FutureFeature] Allow ha_cluster role to configure all qdevice options](https://issues.redhat.com/browse/RHEL-3264) +- [ha_cluster - Setting cluster members attributes](https://issues.redhat.com/browse/RHEL-22108) +- [journald - feat: Add support for ForwardToSyslog](https://issues.redhat.com/browse/RHEL-21123) +- [logging - feat: Add support for the global config option preserveFQDN with a new logg…](https://issues.redhat.com/browse/RHEL-15933) +- [logging - feat: Add support for general queue and general action parameters](https://issues.redhat.com/browse/RHEL-15440) +- [metrics - [RFE] Metrics system role support for configuring PMIE webhooks](https://issues.redhat.com/browse/RHEL-18170) +- [network - Add blackhole type route](https://issues.redhat.com/browse/RHEL-21491) +- [postgresql - feat: Enable support for Postgresql 16](https://issues.redhat.com/browse/RHEL-18963) +- [rhc - support RHEL 7 managed nodes](https://issues.redhat.com/browse/RHEL-16977) +- [rhc - new rhc_insights.ansible_host parameter](https://issues.redhat.com/browse/RHEL-16975) +- [rhc - new rhc_insights.display_name parameter](https://issues.redhat.com/browse/RHEL-16965) +- [snapshot - New Role for storage snapshot management (lvm, etc.)](https://issues.redhat.com/browse/RHEL-16553) +- [sshd - ansible-sshd Manage SSH certificates](https://issues.redhat.com/browse/RHEL-5985) +- [storage - feat: Support for creating volumes without a FS](https://issues.redhat.com/browse/RHEL-16213) +- [storage - Basic support for creating shared logical volumes (RHEL 8)](https://issues.redhat.com/browse/RHEL-14022) + +### Bug Fixes + +- [ha_cluster - high-availability firewall service is not added on qdevice node](https://issues.redhat.com/browse/RHEL-17874) +- [ha_cluster - Timeout issue between SBD with delay-start and systemd unit](https://issues.redhat.com/browse/RHEL-4684) +- [kdump - fix: retry read of kexec_crash_size](https://issues.redhat.com/browse/RHEL-3354) +- [keylime_server - won't detect registrar start failure](https://issues.redhat.com/browse/RHEL-21946) +- [logging - fix: check that logging_max_message_size is set, not rsyslog_max_message_size](https://issues.redhat.com/browse/RHEL-15038) +- [nbde_server - fix: Allow tangd socket override directory to be managed outside of the role](https://issues.redhat.com/browse/RHEL-25509) +- [network - Ansible RHEL network system role issue with ipv6.routing-rules the prefix length for 'from' cannot be zero"](https://issues.redhat.com/browse/RHEL-16501) +- [podman - fix: cast secret data to string in order to allow JSON valued strings](https://issues.redhat.com/browse/RHEL-22310) +- [podman - fix: name of volume quadlet service should be basename-volume.service](https://issues.redhat.com/browse/RHEL-21402) +- [podman - fix: add no_log: true for tasks that can log secret data](https://issues.redhat.com/browse/RHEL-19242) +- [podman - fix: user linger needed before secrets](https://issues.redhat.com/browse/RHEL-22229) +- [postgresql - PostgreSQL system role: unable to install PostgreSQL version 15 on RHEL 9](https://issues.redhat.com/browse/RHEL-21400) +- [selinux - fix: Use `ignore_selinux_state` module option](https://issues.redhat.com/browse/RHEL-15871) +- [selinux - fix: Print an error message when module to be created doesn't exist](https://issues.redhat.com/browse/RHEL-19044) +- [selinux - fix: no longer use "item" as a loop variable](https://issues.redhat.com/browse/RHEL-19042) [1.22.0] - 2023-08-15 ---------------------------- diff --git a/SOURCES/extrasources.inc b/SOURCES/extrasources.inc index 8ee7e1f..d056b78 100644 --- a/SOURCES/extrasources.inc +++ b/SOURCES/extrasources.inc @@ -1,10 +1,10 @@ Source801: https://galaxy.ansible.com/download/ansible-posix-1.5.4.tar.gz -Source901: https://galaxy.ansible.com/download/community-general-7.3.0.tar.gz -Source902: https://galaxy.ansible.com/download/containers-podman-1.10.3.tar.gz +Source901: https://galaxy.ansible.com/download/community-general-8.3.0.tar.gz +Source902: https://galaxy.ansible.com/download/containers-podman-1.12.0.tar.gz Provides: bundled(ansible-collection(ansible.posix)) = 1.5.4 -Provides: bundled(ansible-collection(community.general)) = 7.3.0 -Provides: bundled(ansible-collection(containers.podman)) = 1.10.3 +Provides: bundled(ansible-collection(community.general)) = 8.3.0 +Provides: bundled(ansible-collection(containers.podman)) = 1.12.0 Source996: CHANGELOG.rst Source998: collection_readme.sh diff --git a/SOURCES/vendoring-build.inc b/SOURCES/vendoring-build.inc index 090e67b..9ca374d 100644 --- a/SOURCES/vendoring-build.inc +++ b/SOURCES/vendoring-build.inc @@ -1,104 +1,102 @@ -# Unpack tar.gz to retrieve to be vendored modules and place them in the roles library. -# ansible.posix: -# - library: -# - Module selinux and seboolean for the selinux role -# - Module mount for the storage role -declare -A module_map=( ["selinux.py"]="selinux" ["seboolean.py"]="selinux" ["mount.py"]="storage" ) -for module in "${!module_map[@]}"; do - role="${module_map[${module}]}" - if [ ! -d $role/library ]; then - mkdir $role/library - fi - cp -pL .external/ansible/posix/plugins/modules/$module $role/library/$module - sed -i -e ':a;N;$!ba;s/description:\n\( *\)/description:\n\1- WARNING: Do not use this module directly! It is only for role internal use.\n\1/' -e "s/ansible_collections.ansible.posix.plugins.module_utils/ansible.module_utils.${role}_lsr/" $role/library/$module -done +# maps the source file to the roles that use that file +# value can be string or space delimited list of strings +# role name `__collection` means - do not vendor into +# role, just vendor directly into the collection +declare -A plugin_map=( + [ansible/posix/plugins/modules/selinux.py]=selinux + [ansible/posix/plugins/modules/seboolean.py]=selinux + [ansible/posix/plugins/modules/mount.py]=storage + [ansible/posix/plugins/modules/rhel_facts.py]=__collection + [ansible/posix/plugins/modules/rhel_rpm_ostree.py]=__collection + [ansible/posix/plugins/module_utils/mount.py]=storage + [community/general/plugins/modules/ini_file.py]="tlog ad_integration" + [community/general/plugins/modules/modprobe.py]=ha_cluster + [community/general/plugins/modules/redhat_subscription.py]=rhc + [community/general/plugins/modules/rhsm_release.py]=rhc + [community/general/plugins/modules/rhsm_repository.py]=rhc + [community/general/plugins/modules/seport.py]=selinux + [community/general/plugins/modules/sefcontext.py]=selinux + [community/general/plugins/modules/selogin.py]=selinux + [containers/podman/plugins/modules/podman_container_info.py]=podman + [containers/podman/plugins/modules/podman_image.py]=podman + [containers/podman/plugins/modules/podman_play.py]=podman + [containers/podman/plugins/modules/podman_secret.py]=podman + [containers/podman/plugins/module_utils/podman/common.py]=podman +) -# ansible.posix: -# - module_utils: -# - Module_util mount for the storage role -module_map=( ["mount.py"]="storage" ) -for module in "${!module_map[@]}"; do - role="${module_map[${module}]}" - if [ ! -d $role/module_utils/${role}_lsr ]; then - mkdir -p $role/module_utils/${role}_lsr +declare -a modules mod_utils collection_plugins +declare -A dests +# vendor in plugin files - fix documentation, fragments +for src in "${!plugin_map[@]}"; do + roles="${plugin_map["$src"]}" + if [ "$roles" = __collection ]; then + collection_plugins+=("$src") + else + case "$src" in + */plugins/modules/*) srcdir=plugins/modules; subdir=library; modules+=("$src") ;; + */plugins/module_utils/*) srcdir=plugins/module_utils; mod_utils+=("$src") ;; + */plugins/action/*) srcdir=plugins/action ;; + esac fi - cp -pL .external/ansible/posix/plugins/module_utils/$module $role/module_utils/${role}_lsr/$module -done - -# community.general: -# - library: -# - Module seport, sefcontext and selogin for the selinux role rolename2 -# - Module ini_file for role tlog -# - rhc modules -# - ha_cluster uses modprobe -module_map=( ["seport.py"]="selinux" ["sefcontext.py"]="selinux" ["selogin.py"]="selinux" ["ini_file.py"]="tlog" - ["redhat_subscription.py"]="rhc" ["rhsm_release.py"]="rhc" ["rhsm_repository.py"]="rhc" - ["modprobe.py"]="ha_cluster" ) -for module in "${!module_map[@]}"; do - role="${module_map[${module}]}" - if [ ! -d $role/library ]; then - mkdir $role/library - fi - # version 5.x seems to be broken? - moduledir=.external/community/general/plugins/modules - if [ ! -f $moduledir/$module ]; then - moduledir=.external/community/general/plugins/modules/system - fi - if [ ! -f $moduledir/$module ]; then - moduledir=.external/community/general/plugins/modules/files - fi - cp -pL $moduledir/$module $role/library/$module - ls -alrtF $role/library/$module - sed -i -e ':a;N;$!ba;s/description:\n\( *\)/description:\n\1- WARNING: Do not use this module directly! It is only for role internal use.\n\1/' $role/library/$module - - # Remove doc_fragments - sed -i '/^extends_documentation_fragment:/,/^[^ -]/{/^extends/d;/^[ -]/d}' $role/library/$module -done - -# containers.podman: -# - library: -# - Module podman_container_info, podman_image and podman_play for the podman role -module_map=( ["podman_container_info.py"]="podman" ["podman_image.py"]="podman" ["podman_play.py"]="podman" - ["podman_secret.py"]="podman" ) -for module in "${!module_map[@]}"; do - role="${module_map[${module}]}" - if [ ! -d $role/library ]; then - mkdir $role/library - fi - moduledir=.external/containers/podman/plugins/modules - cp -pL $moduledir/$module $role/library/$module - ls -alrtF $role/library/$module - sed -i -e ':a;N;$!ba;s/description:\n\( *\)/description:\n\1- WARNING: Do not use this module directly! It is only for role internal use.\n\1/' \ - -e "s/ansible_collections.containers.podman.plugins.module_utils.podman/ansible.module_utils.${role}_lsr/" \ - $role/library/$module -done - -# containers.podman: -# - module_utils: -# - Module_util common for the podman role -module_map=( ["common.py"]="podman" ) -for module in "${!module_map[@]}"; do - role="${module_map[${module}]}" - if [ ! -d $role/module_utils/${role}_lsr ]; then - mkdir -p $role/module_utils/${role}_lsr - fi - cp -pL .external/containers/podman/plugins/module_utils/podman/$module $role/module_utils/${role}_lsr/$module + for role in $roles; do + if [ "$role" = __collection ]; then + dest="%{collection_build_path}/plugins${src/#*plugins/}" + dests["$dest"]=__collection + else + case "$src" in + */plugins/module_utils/*) subdir="module_utils/${role}_lsr" ;; + esac + dest="$role/${src/#*${srcdir}/${subdir}}" + dests["$dest"]="$role" + fi + destdir="$(dirname "$dest")" + if [ ! -d "$destdir" ]; then + mkdir -p "$destdir" + fi + cp -pL ".external/$src" "$dest" + sed -e ':a;N;$!ba;s/description:\n\( *\)/description:\n\1- WARNING: Do not use this plugin directly! It is only for role internal use.\n\1/' \ + -e '/^extends_documentation_fragment:/,/^[^ -]/{/^extends/d;/^[ -]/d}' \ + -i "$dest" + done done # remove the temporary .external directory after vendoring rm -rf .external +# fix python imports to point from the old name to the new name +for dest in "${!dests[@]}"; do + role="${dests["$dest"]}" + for module in "${modules[@]}"; do + python_name="$(dirname "$module")" + python_name="${python_name////[.]}" + sed -e "s/ansible_collections[.]${python_name}[.]/ansible.modules./" -i "$dest" + done + for mod_util in "${mod_utils[@]}"; do + # some mod_utils have subdirs, some do not + split=(${mod_util//// }) + python_name="ansible_collections[.]${split[0]}[.]${split[1]}[.]plugins[.]module_utils[.]" + sed -e "s/${python_name}/ansible.module_utils.${role}_lsr./" -i "$dest" + done + for plugin in "${collection_plugins[@]}"; do + python_name="$(dirname "$plugin")" + dest_python_name="%{collection_namespace}/%{collection_name}/plugins${python_name/#*plugins/}" + src_python_name="ansible_collections.${python_name////[.]}" + dest_python_name="ansible_collections.${dest_python_name////.}" + sed -e "s/${src_python_name}/${dest_python_name}/" -i "$dest" + done +done + # Replacing "linux-system-roles.rolename" with "rhel-system-roles.rolename" in each role # Replacing "fedora.linux_system_roles." with "redhat.rhel_system_roles" in each role # This is for the "roles calling other roles" case # for podman, change the FQCN - using a non-FQCN module name doesn't seem to work, # even for the legacy role format -# replace community.general for rhc for rolename in %{rolenames}; do - find $rolename -type f -exec \ + find "$rolename" -type f -exec \ sed -e "s/linux-system-roles[.]${rolename}\\>/%{roleinstprefix}${rolename}/g" \ -e "s/fedora[.]linux_system_roles[.]/%{collection_namespace}.%{collection_name}./g" \ -e "s/containers[.]podman[.]/%{collection_namespace}.%{collection_name}./g" \ -e "s/community[.]general[.]/%{collection_namespace}.%{collection_name}./g" \ + -e "s/ansible[.]posix[.]/%{collection_namespace}.%{collection_name}./g" \ -i {} \; done diff --git a/SPECS/rhel-system-roles.spec b/SPECS/rhel-system-roles.spec index 0e201df..638c43f 100644 --- a/SPECS/rhel-system-roles.spec +++ b/SPECS/rhel-system-roles.spec @@ -11,14 +11,6 @@ BuildRequires: ansible-core >= 2.11.0 %bcond_with collection_artifact -%if 0%{?fedora} || 0%{?rhel} >= 8 -%bcond_without html -%else -# pandoc is not supported in rhel 7 and older, -# which is needed for converting .md to .html. -%bcond_with html -%endif - %if 0%{?rhel} Name: rhel-system-roles %else @@ -26,8 +18,8 @@ Name: linux-system-roles %endif Url: https://github.com/linux-system-roles Summary: Set of interfaces for unified system management -Version: 1.22.0 -Release: 1%{?dist} +Version: 1.23.0 +Release: 2.21%{?dist} License: GPLv3+ and MIT and BSD and Python %global _pkglicensedir %{_licensedir}/%{name} @@ -41,6 +33,9 @@ License: GPLv3+ and MIT and BSD and Python %endif %global collection_version %{version} +# this is where we stage the collection files for building +%global collection_dest_path .collections +%global collection_build_path %{collection_dest_path}/ansible_collections/%{collection_namespace}/%{collection_name} # be compatible with the usual Fedora Provides: Provides: ansible-collection-%{collection_namespace}-%{collection_name} = %{collection_version}-%{release} @@ -86,92 +81,101 @@ Requires: (ansible-core >= 2.11.0 or ansible >= 2.9.0) %%global rolestodir %%{?rolestodir} %%{roletodir%{1}} } -%global mainid e010c878833e363195dd707d1334ff48a254b092 +%global mainid 11ad785c9bb72611244e7909450ca4247e12db4d Source: %{url}/auto-maintenance/archive/%{mainid}/auto-maintenance-%{mainid}.tar.gz # BEGIN AUTOGENERATED SOURCES %global rolename1 postfix -%deftag 1 1.3.8 +%deftag 1 1.4.3 %global rolename2 selinux -%deftag 2 1.6.1 +%deftag 2 1.7.4 %global rolename3 timesync -%deftag 3 1.7.6 +%deftag 3 1.8.2 %global rolename4 kdump -%deftag 4 1.3.6 +%deftag 4 1.4.4 %global rolename5 network -%deftag 5 1.13.1 +%deftag 5 1.15.1 %global rolename6 storage -%deftag 6 1.12.3 +%deftag 6 1.16.2 %global rolename7 metrics -%deftag 7 1.8.6 +%deftag 7 1.10.1 %global rolename8 tlog -%deftag 8 1.2.16 +%deftag 8 1.3.3 %global rolename9 kernel_settings -%deftag 9 1.1.17 +%deftag 9 1.2.2 %global rolename10 logging -%deftag 10 1.11.9 +%deftag 10 1.12.4 %global rolename11 nbde_server -%deftag 11 1.3.8 +%deftag 11 1.4.3 %global rolename12 nbde_client -%deftag 12 1.2.14 +%deftag 12 1.2.17 %global rolename13 certificate -%deftag 13 1.2.1 +%deftag 13 1.3.3 %global rolename14 crypto_policies -%deftag 14 1.2.11 +%deftag 14 1.3.2 %global forgeorg15 https://github.com/willshersystems %global repo15 ansible-sshd %global rolename15 sshd -%deftag 15 v0.19.0 +%deftag 15 v0.23.2 %global rolename16 ssh -%deftag 16 1.2.1 +%deftag 16 1.3.2 %global rolename17 ha_cluster -%deftag 17 1.10.0 +%deftag 17 1.14.0 %global rolename18 vpn -%deftag 18 1.5.8 +%deftag 18 1.6.3 %global rolename19 firewall -%deftag 19 1.6.3 +%deftag 19 1.7.4 %global rolename20 cockpit -%deftag 20 1.4.7 +%deftag 20 1.5.5 %global rolename21 podman -%deftag 21 1.3.2 +%deftag 21 1.4.7 %global rolename22 ad_integration -%deftag 22 1.1.3 +%deftag 22 1.4.2 %global rolename23 rhc -%deftag 23 1.2.4 +%deftag 23 1.6.0 %global rolename24 journald -%deftag 24 1.0.5 +%deftag 24 1.2.3 %global rolename25 postgresql -%deftag 25 1.1.0 +%deftag 25 1.3.5 %global rolename26 systemd -%deftag 26 1.0.1 +%deftag 26 1.1.2 %global rolename27 keylime_server -%deftag 27 1.0.0 +%deftag 27 1.1.2 + +%global rolename28 fapolicyd +%deftag 28 1.1.1 + +%global rolename29 bootloader +%deftag 29 1.0.3 + +%global rolename30 snapshot +%deftag 30 1.3.1 Source1: %{archiveurl1} Source2: %{archiveurl2} @@ -200,6 +204,9 @@ Source24: %{archiveurl24} Source25: %{archiveurl25} Source26: %{archiveurl26} Source27: %{archiveurl27} +Source28: %{archiveurl28} +Source29: %{archiveurl29} +Source30: %{archiveurl30} # END AUTOGENERATED SOURCES # Includes with definitions/tags that differ between RHEL and Fedora @@ -217,20 +224,16 @@ Source1004: vendoring-build.inc Source995: CHANGELOG.md -Patch2201: 0001-fix-use-command-stdin-for-password-and-do-not-log-pa.patch - BuildArch: noarch - -%if %{with html} -# Requirements for md2html.sh to build the documentation -%if 0%{?fedora} || 0%{?rhel} >= 9 -BuildRequires: rubygem-kramdown-parser-gfm -%else -BuildRequires: pandoc -BuildRequires: asciidoc -BuildRequires: highlight -%endif -%endif +# there is no ansible on i686, so when we get a builder that uses +# this arch, the build fails with +# No matching package to install: 'ansible-core >= 2.11.0' +# unfortunately, this causes the src rpm build tasks to be reported +# with the arch of the builder :-( which causes problems with internal +# test infrastructure - while we get those issues sorted out, revert +# this change - this means that centpkg builds may fail and may have +# to be retried +# ExcludeArch: i686 # Requirements for galaxy_transform.py BuildRequires: python3 @@ -278,7 +281,7 @@ end %prep # BEGIN AUTOGENERATED SETUP -%setup -q -a1 -a2 -a3 -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11 -a12 -a13 -a14 -a15 -a16 -a17 -a18 -a19 -a20 -a21 -a22 -a23 -a24 -a25 -a26 -a27 -n %{getarchivedir 0} +%setup -q -a1 -a2 -a3 -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11 -a12 -a13 -a14 -a15 -a16 -a17 -a18 -a19 -a20 -a21 -a22 -a23 -a24 -a25 -a26 -a27 -a28 -a29 -a30 -n %{getarchivedir 0} # END AUTOGENERATED SETUP # vendoring prep steps, if any @@ -297,6 +300,8 @@ for rolename in %{rolenames}; do fi fi mv "$dir_from_archive" ${rolename} + # Move a hidden .README.html to a not hidden README.html + mv $rolename/.README.html $rolename/README.html done %if 0%{?rhel} @@ -314,7 +319,7 @@ find -P tests examples -name \*.yml | while read file; do -e "s/ansible-sshd/linux-system-roles.sshd/" \ -e "s/ willshersystems.sshd/ linux-system-roles.sshd/" "$file" done -sed -r -i -e "s/ willshersystems.sshd/ linux-system-roles.sshd/" README.md +sed -r -i -e "s/ willshersystems.sshd/ linux-system-roles.sshd/" README.md README.html sed -r -i -e 's/min_ansible_version: 2.8/min_ansible_version: "2.9"/' meta/main.yml cd .. @@ -331,10 +336,6 @@ if [ "$rolesdir" != "$realrolesdir" ]; then fi cd .. -cd %{rolename22} -%patch2201 -p1 -cd .. - # vendoring build steps, if any %include %{SOURCE1004} @@ -369,31 +370,47 @@ find -type f -executable -name '*.py' -exec \ # remove upstream-only documentation - for example, documentation # about collection dependencies is not needed in Fedora and EL RPMs # since the dependencies are already provided -sed -e '/^## Requirements/,/^#/s/^See below$/None/' \ - -e '/^### Collection requirements/,/^#/ {/^### Collection/d;/^#/!d}' \ +sed -e '/# Requirements/,/^#/s/^See below$/None/' \ + -e '/# Collection requirements/,/^#/ {/# Collection requirements/d;/^#/!d}' \ -i */README.md +sed -e '/id="requirements">Requirements<\/h/,/^/,/^/d;/^/{for(x=NR-2;x<=NR+1;x++)d[x];} \ + {a[NR]=$0} \ + END{for(i=1;i<=NR;i++)if(!(i in d))print a[i]}' \ + $role/README.html > $role/README.html.tmp + mv $role/README.html.tmp $role/README.html +done + # sshd README is not in the same format -sed -e '/^### Optional requirements/,/^Role variables/ {/^### Optional/d;/^Role variables/!d}' \ +sed -e '/# Optional requirements/,/# Role variables/ {/# Optional/d;/# Role variables/!d}' \ -i sshd/README.md +sed -e '/id="optional-requirements">/,/^/d;/^/{for(x=NR-2;x<=NR+1;x++)d[x];} \ + {a[NR]=$0} \ + END{for(i=1;i<=NR;i++)if(!(i in d))print a[i]}' \ + sshd/README.html > sshd/README.html.tml +mv sshd/README.html.tml sshd/README.html - -%if %{with html} -# HACK HACK HACK -# pandoc/asciidoc on rhel 8.9 does not like the journald README badge links -# remove all of the badge links from all README.md files -# in the first 14 lines of the file, remove any line that looks like a -# github action badge -# HACK HACK HACK -readmes="" matchstr="actions/workflows/" for role in %{rolenames}; do + # in the first 14 lines of README.md, remove any line that looks like a + # github action badge. README.html doesn't have these lines. sed -e "1,14 {\\,${matchstr},d; /\!\[/d}" -i $role/README.md - readmes="${readmes} $role/README.md" done -sh md2html.sh $readmes -%endif -mkdir .collections +if [ ! -d %{collection_dest_path} ]; then + mkdir %{collection_dest_path} +fi %if 0%{?rhel} # Convert the upstream collection readme to the downstream one %{SOURCE998} lsr_role2collection/collection_readme.md @@ -402,7 +419,7 @@ mkdir .collections "https://linux-system-roles.github.io" \ "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/administration_and_configuration_tasks_using_system_roles_in_rhel" \ "https://access.redhat.com/articles/3050101" \ - "https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%208&component=rhel-system-roles" \ + "https://issues.redhat.com/secure/CreateIssueDetails!init.jspa?pid=12332745&summary=Your%20request%20summary&issuetype=1&priority=10200&labels=Partner-Feature-Request&components=12380283" \ > galaxy.yml.tmp # we vendor-in all of the dependencies on rhel, so remove them rm -f lsr_role2collection/collection_requirements.txt @@ -431,38 +448,31 @@ extra_mapping="--extra-mapping fedora.linux_system_roles:%{collection_namespace} extra_mapping="" %endif LANG=C.utf-8 LC_ALL=C.utf-8 %{python3} release_collection.py --galaxy-yml galaxy.yml \ - --src-path $(pwd) --dest-path $(pwd)/.collections $includes --force --no-update \ + --src-path $(pwd) --dest-path $(pwd)/%{collection_dest_path} $includes --keep --no-update \ --src-owner %{name} --skip-git --skip-check --skip-changelog $extra_mapping --debug -# Remove table of contents from logging README.md -# It is not needed for html and AH/Galaxy -sed -i -e 's/^\(## Table of Contents\)/## Background\n\1/' \ - .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/logging/README.md -sed -i -e '/^## Table of Contents/,/^## Background/d' \ - .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/logging/README.md - # Remove internal links from readme files # They are not rendered properly on AH. for role in %{rolenames}; do sed -r -i -e 's/\[([^[]+)\]\(#[^)]+\)/\1/g' \ - .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/$role/README.md + %{collection_build_path}/roles/$role/README.md done # Remove test only collection dependencies # NOTE: These should not be in meta/collection-requirements.yml, they should be # in tests/collection-requirements.yml, but they can't be moved yet sed -i -e '/community[.]mysql:/d' -e '/community[.]postgresql:/d' \ - .collections/ansible_collections/%{collection_namespace}/%{collection_name}/galaxy.yml + %{collection_build_path}/galaxy.yml cp %{SOURCE995} \ - .collections/ansible_collections/%{collection_namespace}/%{collection_name}/docs/CHANGELOG.md + %{collection_build_path}/docs/CHANGELOG.md %if 0%{?rhel} cp %{SOURCE996} \ - .collections/ansible_collections/%{collection_namespace}/%{collection_name}/CHANGELOG.rst + %{collection_build_path}/CHANGELOG.rst %endif # Build the collection -pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ +pushd %{collection_build_path} %ansible_collection_build popd @@ -489,10 +499,8 @@ for role in %{rolenames}; do "%{buildroot}%{_pkgdocdir}/$role" ln -sr "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/README.md" \ "%{buildroot}%{_pkgdocdir}/$role" -%if %{with html} ln -sr "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/README.html" \ "%{buildroot}%{_pkgdocdir}/$role" -%endif if [ -f "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/COPYING" ]; then ln -sr "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/COPYING" \ "%{buildroot}%{_pkglicensedir}/$role.COPYING" @@ -532,7 +540,13 @@ done rm -f %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/semaphore rm -r %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/molecule -rm -r %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/.[A-Za-z]* +# remove .dot files/directories, but keep the .ostree directory +for item in %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/.[A-Za-z]*; do + if [ "$(basename "$item")" = .ostree ]; then + continue + fi + rm -r "$item" +done rm %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/tests/.git* # NOTE: sshd/examples/example-root-login.yml is @@ -540,7 +554,7 @@ rm %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/tests/.git* # must be updated if changing the file path # Install the collection -pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ +pushd %{collection_build_path} %ansible_collection_install popd @@ -551,7 +565,7 @@ ln -sr %{buildroot}%{ansible_collection_files}%{collection_name}/README.md \ %{buildroot}%{_pkgdocdir}/collection for rolename in %{rolenames}; do - for file in CHANGELOG.md README.md; do + for file in CHANGELOG.md README.md README.html; do if [ -f %{buildroot}%{ansible_collection_files}%{collection_name}/roles/${rolename}/$file ]; then if [ ! -d %{buildroot}%{_pkgdocdir}/collection/roles/${rolename} ]; then mkdir -p %{buildroot}%{_pkgdocdir}/collection/roles/${rolename} @@ -562,20 +576,11 @@ for rolename in %{rolenames}; do done done -%if %{with html} -# converting README.md to README.html for collection in %%{buildroot}%%{_pkgdocdir}/collection -readmes="%{buildroot}%{_pkgdocdir}/collection/README.md" -for role in %{rolenames}; do - readmes="${readmes} %{buildroot}%{_pkgdocdir}/collection/roles/${role}/README.md" -done -sh md2html.sh $readmes -%endif - %if %{with collection_artifact} # Copy collection artifact to /usr/share/ansible/collections/ for collection-artifact -pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ - mv %{collection_namespace}-%{collection_name}-%{version}.tar.gz \ - %{buildroot}%{_datadir}/ansible/collections/ +pushd %{collection_build_path} +mv %{collection_namespace}-%{collection_name}-%{version}.tar.gz \ + %{buildroot}%{_datadir}/ansible/collections/ popd %endif @@ -672,6 +677,133 @@ find %{buildroot}%{ansible_roles_dir} -mindepth 1 -maxdepth 1 | \ %endif %changelog +* Mon Feb 26 2024 Rich Megginson - 1.23.0-2.21 +- Resolves: RHEL-3241 : bootloader - Create bootloader role (MVP) + fix issue with path on arches other than x86_64, and EFI systems +- Resolves: RHEL-15872 : RHEL for Edge support in system roles + cockpit - fixed issue with test cleanup + postgresql - fixed issue with test cleanup + +* Wed Feb 21 2024 Rich Megginson - 1.23.0-2.20 +- Resolves: RHEL-16965 : rhc - new rhc_insights.display_name parameter +- Resolves: RHEL-16553 : snapshot - New Role for storage snapshot management (lvm, etc.) + fixes error handling + +* Tue Feb 20 2024 Rich Megginson - 1.23.0-2.19 +- Resolves: RHEL-16553 : snapshot - New Role for storage snapshot management (lvm, etc.) + fixes idempotency, check mode, cleanup, basic-smoke-test + +* Tue Feb 20 2024 Rich Megginson - 1.23.0-2.18 +- Resolves: RHEL-22229 : podman - user linger needed before secrets + fixed issue with ANSIBLE_GATHERING=explicit +- Resolves: RHEL-5985 ansible-sshd - Manage SSH certificates + fixed issue with RHEL7 tests + +* Thu Feb 15 2024 Rich Megginson - 1.23.0-2.17 +- Resolves: RHEL-25509 : nbde_server - fix: Allow tangd socket override directory to be managed outside of the role +- Resolves: RHEL-21491 : network - Add blackhole type route to rhel-system-roles.network +- Fixed issues with ANSIBLE_GATHERING=explicit in several roles +- Fixed test cleanup issues in several roles + +* Tue Feb 13 2024 Rich Megginson - 1.23.0-2.16 +- Resolves: RHEL-16553 : snapshot - New Role for storage snapshot management (lvm, etc.) + this is the MVP candidate for the snapshot role + +* Mon Feb 12 2024 Rich Megginson - 1.23.0-2.15 +- Resolves: RHEL-22108 : ha_cluster - Setting cluster members' attributes + +* Sun Feb 11 2024 Rich Megginson - 1.23.0-2.14 +- Resolves: RHEL-3241 : bootloader - Create bootloader role (MVP) +- Resolves: RHEL-21400 : postgresql - PostgreSQL system role: unable to install PostgreSQL version 15 on RHEL 9 + +* Fri Feb 9 2024 Rich Megginson - 1.23.0-2.13 +- Resolves: RHEL-16975 : rhc - rhc: new rhc_insights.ansible_host parameter + Rename test playbook from .yaml to .yml + +* Thu Feb 8 2024 Rich Megginson - 1.23.0-2.12 +- Resolves: RHEL-22229 : podman - user linger needed before secrets + +* Wed Jan 31 2024 Rich Megginson - 1.23.0-2.11 +- Resolves: RHEL-21400 : postgresql - PostgreSQL system role: unable to install PostgreSQL version 15 on RHEL 9 +- Resolves: RHEL-23309 : storage - tests_lvm_auto_size_cap_nvme_generated failed at "Assert expected size is actual size" + +* Sat Jan 27 2024 Rich Megginson - 1.23.0-2.10 +- Resolves: RHEL-14022 : storage - Basic support for creating shared logical volumes + GFS2 support in blivet is enabled + +* Fri Jan 26 2024 Rich Megginson - 1.23.0-2.9 +- Resolves: RHEL-21383 : ad_integration - feat: add ad_integration_preserve_authselect_profile +- Resolves: RHEL-21134 : ad_integration - feat: Add SSSD parameters support +- Resolves: RHEL-21123 : journald - feat: Add support for ForwardToSyslog +- Resolves: RHEL-22310 : podman - fix: cast secret data to string in order to allow JSON valued strings +- Resolves: RHEL-21402 : podman - fix: name of volume quadlet service should be basename-volume.service +- Resolves: RHEL-21400 : postgresql - PostgreSQL system role: unable to install PostgreSQL version 15 on RHEL 9 +- Resolves: RHEL-16975 : rhc - rhc: new rhc_insights.ansible_host parameter + +* Wed Jan 24 2024 Rich Megginson - 1.23.0-2.8 +- Resolves: RHEL-16553 : snapshot - New Role for storage snapshot management (lvm, etc.) + +* Fri Jan 19 2024 Rich Megginson - 1.23.0-2.7 +- Add ExcludeArch i686 to fix build issues with ansible-core +- Resolves: RHEL-21946 : keylime_server - won't detect registrar start failure + +* Thu Jan 18 2024 Rich Megginson - 1.23.0-2.6 +- Resolves: RHEL-21537 : storage - lvmlockd process is not running - test only + +* Mon Jan 15 2024 Rich Megginson - 1.23.0-2.5 +- Resolves: RHEL-3241 : bootloader - Create bootloader role (MVP) + +* Tue Dec 12 2023 Rich Megginson - 1.23.0-2.4 +- Resolves: RHEL-15872 : RHEL for Edge support in system roles + updated several roles with ostree improvements + metrics role support for ostree +- Resolves: RHEL-16542 : fapolicyd - feat: Import code for fapolicyd system role + several role improvements +- Resolves: RHEL-4684 : ha_cluster - fix: set sbd.service timeout based on SBD_START_DELAY +- Resolves: RHEL-19047 : logging - fix: avoid conf of RatelimitBurst when RatelimitInterval is zero +- Resolves: RHEL-18170 : metrics - [RFE] Metrics system role support for configuring PMIE webhooks +- Resolves: RHEL-19242 : podman - fix: add no_log: true for tasks that can log secret data +- Resolves: RHEL-18963 : postgresql - feat: enable using postgresql 16 +- Resolves: RHEL-16977 : rhc - rhc: support RHEL 7 managed nodes +- Resolves: RHEL-19042 : selinux - fix: no longer use "item" as a loop variable +- Resolves: RHEL-19044 : selinux - fix: Print an error message when module to be created doesn't exist +- Resolves: RHEL-14022 : storage - Basic support for creating shared logical volumes + +* Fri Dec 1 2023 Rich Megginson - 1.23.0-2.3 +- Resolves: RHEL-17874 : ha_cluster - high-availability firewall service is not added on qdevice node + +* Thu Nov 30 2023 Rich Megginson - 1.23.0-2.2 +- Resolves: RHEL-15872 : RHEL for Edge support in system roles + vpn - fixed issue with test cleanup + +* Thu Nov 30 2023 Rich Megginson - 1.23.0-2.1 +- Resolves: RHEL-15872 : - RHEL for Edge support in system roles + except for nbde_client, rhc, metrics +- Resolves: RHEL-17667 : ad_integration - feat: Add sssd custom settings +- Resolves: RHEL-16542 : fapolicyd - feat: Import code for fapolicyd system role +- Resolves: RHEL-14090 : ha_cluster - [RFE] HA Cluster system role should be able to enable Resilient Storage repository +- Resolves: RHEL-4624 : ha_cluster - [FutureFeature] Allow ha_cluster role to configure fencing topology +- Resolves: RHEL-3264 : ha_cluster - [FutureFeature] Allow ha_cluster role to configure all qdevice options +- Resolves: RHEL-3354 : kdump - fix: retry read of kexec_crash_size +- Resolves: RHEL-15933 : logging - feat: Add support for the global config option preserveFQDN with a new logg… +- Resolves: RHEL-15440 : logging - feat: Add support for general queue and general action parameters +- Resolves: RHEL-15038 : logging - fix: check that logging_max_message_size is set, not rsyslog_max_message_size +- Resolves: RHEL-16501 : network - Ansible RHEL network system role issue with ipv6.routing-rules the prefix length for 'from' cannot be zero" +- Resolves: RHEL-15871 : selinux - fix: Use `ignore_selinux_state` module option +- Resolves: RHEL-16213 : storage - feat: Support for creating volumes without a FS + +* Thu Nov 9 2023 Sergei Petrosian - 1.23.0-2 +- RHEL-1119: ad_integration: Support for dynamic DNS Updates + Update to a new version with fixed tests + +* Wed Sep 20 2023 Sergei Petrosian - 1.23.0-1 +- Resolves: RHEL-5345 spec - Remove with_html, instead use built-in .README.html +- Resolves: RHEL-5985 ansible-sshd - Manage SSH certificates +- rhbz#2224648: Remove ad_integration patch and use the latest ad_integration + version instead. Vendor community-general.ini_files for +- RHEL-1119: ad_integration: Support for dynamic DNS Updates +- Change link to open new issue in galaxy.yml from deprecated BZ to Jira + * Tue Aug 15 2023 Rich Megginson - 1.22.0-1 - Resolves:rhbz#2233183 : ad_integration - red hat "rhel system role" ad_integration leaks credentials when in check_mode - Resolves:rhbz#2232391 : kdump - role: "Write new authorized_keys if needed" task idempotency issues