import CS rhel-system-roles-1.23.0-2.21.el8

This commit is contained in:
eabdullin 2024-03-27 20:27:37 +00:00
parent 7880c2f408
commit 8f272ac802
7 changed files with 436 additions and 380 deletions

63
.gitignore vendored
View File

@ -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-posix-1.5.4.tar.gz
SOURCES/ansible-sshd-v0.19.0.tar.gz SOURCES/ansible-sshd-v0.23.2.tar.gz
SOURCES/auto-maintenance-e010c878833e363195dd707d1334ff48a254b092.tar.gz SOURCES/auto-maintenance-11ad785c9bb72611244e7909450ca4247e12db4d.tar.gz
SOURCES/certificate-1.2.1.tar.gz SOURCES/bootloader-1.0.3.tar.gz
SOURCES/cockpit-1.4.7.tar.gz SOURCES/certificate-1.3.3.tar.gz
SOURCES/community-general-7.3.0.tar.gz SOURCES/cockpit-1.5.5.tar.gz
SOURCES/containers-podman-1.10.3.tar.gz SOURCES/community-general-8.3.0.tar.gz
SOURCES/crypto_policies-1.2.11.tar.gz SOURCES/containers-podman-1.12.0.tar.gz
SOURCES/firewall-1.6.3.tar.gz SOURCES/crypto_policies-1.3.2.tar.gz
SOURCES/ha_cluster-1.10.0.tar.gz SOURCES/fapolicyd-1.1.1.tar.gz
SOURCES/journald-1.0.5.tar.gz SOURCES/firewall-1.7.4.tar.gz
SOURCES/kdump-1.3.6.tar.gz SOURCES/ha_cluster-1.14.0.tar.gz
SOURCES/kernel_settings-1.1.17.tar.gz SOURCES/journald-1.2.3.tar.gz
SOURCES/keylime_server-1.0.0.tar.gz SOURCES/kdump-1.4.4.tar.gz
SOURCES/logging-1.11.9.tar.gz SOURCES/kernel_settings-1.2.2.tar.gz
SOURCES/metrics-1.8.6.tar.gz SOURCES/keylime_server-1.1.2.tar.gz
SOURCES/nbde_client-1.2.14.tar.gz SOURCES/logging-1.12.4.tar.gz
SOURCES/nbde_server-1.3.8.tar.gz SOURCES/metrics-1.10.1.tar.gz
SOURCES/network-1.13.1.tar.gz SOURCES/nbde_client-1.2.17.tar.gz
SOURCES/podman-1.3.2.tar.gz SOURCES/nbde_server-1.4.3.tar.gz
SOURCES/postfix-1.3.8.tar.gz SOURCES/network-1.15.1.tar.gz
SOURCES/postgresql-1.1.0.tar.gz SOURCES/podman-1.4.7.tar.gz
SOURCES/rhc-1.2.4.tar.gz SOURCES/postfix-1.4.3.tar.gz
SOURCES/selinux-1.6.1.tar.gz SOURCES/postgresql-1.3.5.tar.gz
SOURCES/ssh-1.2.1.tar.gz SOURCES/rhc-1.6.0.tar.gz
SOURCES/storage-1.12.3.tar.gz SOURCES/selinux-1.7.4.tar.gz
SOURCES/systemd-1.0.1.tar.gz SOURCES/snapshot-1.3.1.tar.gz
SOURCES/timesync-1.7.6.tar.gz SOURCES/ssh-1.3.2.tar.gz
SOURCES/tlog-1.2.16.tar.gz SOURCES/storage-1.16.2.tar.gz
SOURCES/vpn-1.5.8.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

View File

@ -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 da646eb9ba655f1693cc950ecb5c24af39ee1af6 SOURCES/ansible-posix-1.5.4.tar.gz
edcfa5243b2e74c50ab8fd17f514bbc9df693c06 SOURCES/ansible-sshd-v0.19.0.tar.gz ae49d8b3f623a4bf132644f0f2256a92bd4c41ae SOURCES/ansible-sshd-v0.23.2.tar.gz
7b34305ca31a8df71f3ecec3410c7c4d262201bd SOURCES/auto-maintenance-e010c878833e363195dd707d1334ff48a254b092.tar.gz e4df3548cf129b61c40b2d013917e07be2f3ba4e SOURCES/auto-maintenance-11ad785c9bb72611244e7909450ca4247e12db4d.tar.gz
4483962040f0c29fa9c80950dc403ce7e9f17ed7 SOURCES/certificate-1.2.1.tar.gz b84e7d8110638848b22a22c7ed8e94cf865a13d8 SOURCES/bootloader-1.0.3.tar.gz
4ed2794a781e7976ff2a0b4c6abbf008859ef982 SOURCES/cockpit-1.4.7.tar.gz 9eaac83b306b2fb8dd8e82bc4b03b30285d2024f SOURCES/certificate-1.3.3.tar.gz
ee7868c57b3d1ce170b61a1d42c840ba1428aeac SOURCES/community-general-7.3.0.tar.gz dd3d8b4b12aeeeab4cf78bfdad911a194027fc8e SOURCES/cockpit-1.5.5.tar.gz
711423c6503c1e137d7c38b6a0718e5768f40d21 SOURCES/containers-podman-1.10.3.tar.gz 15fd2f2c08ae17cc47efb76bd14fb9ab6f33bc26 SOURCES/community-general-8.3.0.tar.gz
aee5eb307f5a40a8a222a0dd7713b230bc3324a7 SOURCES/crypto_policies-1.2.11.tar.gz ff961816d6e01326a413552b4f3c290ccdb9dc20 SOURCES/containers-podman-1.12.0.tar.gz
81ac41f0c7d06dbb92d70b8d9a0a0b0a6474411c SOURCES/firewall-1.6.3.tar.gz 6705818b1fdf3cc82083937265f7942e3d3ccc2d SOURCES/crypto_policies-1.3.2.tar.gz
aa11011e00fe8a86999688149d60f5d0a4ed5cbf SOURCES/ha_cluster-1.10.0.tar.gz 29505121f6798f527045c5f66656fd5c19bed5fe SOURCES/fapolicyd-1.1.1.tar.gz
88e721b5d804f00e7b044310d47b2dd40ac83f8f SOURCES/journald-1.0.5.tar.gz 1a7a875cebbd3e146f6ca554269ee20845cf877b SOURCES/firewall-1.7.4.tar.gz
64680ec0f3ea03fc5c0a5792ceeaa193d6154fdd SOURCES/kdump-1.3.6.tar.gz 53e8991ca7e0c5c97ab010e843bc1a7c4a98eb96 SOURCES/ha_cluster-1.14.0.tar.gz
43338d3ffdc79961564504822a84462cefa8ff5a SOURCES/kernel_settings-1.1.17.tar.gz e96ba9f5b3ae08a12dbf072f118e316036553b94 SOURCES/journald-1.2.3.tar.gz
81b0e4e1f71f01a008181494eefc542506cd3823 SOURCES/keylime_server-1.0.0.tar.gz de6c6103b7023aa21782906696e712b428600a92 SOURCES/kdump-1.4.4.tar.gz
0963ecef1330048c25bb9a778b5ac15c24e77df2 SOURCES/logging-1.11.9.tar.gz 0f28a0919874f650ef0149409116bae12d2363e0 SOURCES/kernel_settings-1.2.2.tar.gz
af61299d39b4a7d5e37507a898ddba55e3f053d6 SOURCES/metrics-1.8.6.tar.gz 85c14c7e260b247eb7947c8706af82ff5aac07d2 SOURCES/keylime_server-1.1.2.tar.gz
b8c7ff7dadbd84aeb13e94c4be3be0f8ee9549cd SOURCES/nbde_client-1.2.14.tar.gz 15e86d6989a25cd50edb58f5fb479e0d1ae3b755 SOURCES/logging-1.12.4.tar.gz
a5d2a5afd45447edb17f6a9615eabb80501e61f3 SOURCES/nbde_server-1.3.8.tar.gz e795238995d2dfb2cbdb5cc9bf4923f7410ac49a SOURCES/metrics-1.10.1.tar.gz
fe9426eaf3e7a5a31ebe5707e4a17770bca7a6b6 SOURCES/network-1.13.1.tar.gz 8218c40eb96540e2f5d9f5be95deea9e2110ddd8 SOURCES/nbde_client-1.2.17.tar.gz
8b49515b4c5d8b1f5e06be6c7fdeff7ab622c495 SOURCES/podman-1.3.2.tar.gz dce6435ca145b3143c1326a8e413e8173e5655ef SOURCES/nbde_server-1.4.3.tar.gz
b91070ba6fa7b4a9072aa2d1a2ef4b169aab0f00 SOURCES/postfix-1.3.8.tar.gz e89a4d6974a089f035b1f3fc79a1f9cacfa1f933 SOURCES/network-1.15.1.tar.gz
504cde6540ff1b5527b2ddf9aa90a95e29d7ffc3 SOURCES/postgresql-1.1.0.tar.gz fc242b6f776088720ef04e5891c75fd33e6e1e96 SOURCES/podman-1.4.7.tar.gz
a6097168bd1b54a46be8b5f4adfdab9b5ec8ddb5 SOURCES/rhc-1.2.4.tar.gz ddb7e2a575e4b96666ce13dbdbaea97cc2f83954 SOURCES/postfix-1.4.3.tar.gz
bb2a5e711233e527d0a11914bd566f47a2cfe9e6 SOURCES/selinux-1.6.1.tar.gz bf0f12e78bfc2120d85c5458aa7d53b15738e73c SOURCES/postgresql-1.3.5.tar.gz
c03dbda563ec7d3c2ae2c7bfd6aab88c6c19fbac SOURCES/ssh-1.2.1.tar.gz b519a4e35b55e97bf954916d77f1f1f82ec2615b SOURCES/rhc-1.6.0.tar.gz
84085e0f750181aee340e02258fd5888d563698e SOURCES/storage-1.12.3.tar.gz 458b076a73a1c3597485b60bc734b225f3079a86 SOURCES/selinux-1.7.4.tar.gz
1c7ac80df7288f7d3469e376316305eadd2dc2dc SOURCES/systemd-1.0.1.tar.gz 8fdcd362f021d41165c4a959ba79136491389343 SOURCES/snapshot-1.3.1.tar.gz
e4fe253906ffd7ce2ecca71a63a0e96e5f562e0c SOURCES/timesync-1.7.6.tar.gz d2c153993e51ce949db861db2aa15e8ec90b45af SOURCES/ssh-1.3.2.tar.gz
544d0591a0ae73b73c1ab5bc280cdc8d5598f322 SOURCES/tlog-1.2.16.tar.gz e08c1df6c6842f6ad37fff34d2e9d96e9cdddd70 SOURCES/storage-1.16.2.tar.gz
1d959b0b5f6bd261d392b0740fd86915c7b35c17 SOURCES/vpn-1.5.8.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

View File

@ -1,127 +0,0 @@
From 1931ebccaa146bd6ee8365c664ab62d294adaa31 Mon Sep 17 00:00:00 2001
From: Rich Megginson <rmeggins@redhat.com>
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 <rmeggins@redhat.com>
---
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

View File

@ -1,5 +1,52 @@
Changelog 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 [1.22.0] - 2023-08-15
---------------------------- ----------------------------

View File

@ -1,10 +1,10 @@
Source801: https://galaxy.ansible.com/download/ansible-posix-1.5.4.tar.gz 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 Source901: https://galaxy.ansible.com/download/community-general-8.3.0.tar.gz
Source902: https://galaxy.ansible.com/download/containers-podman-1.10.3.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(ansible.posix)) = 1.5.4
Provides: bundled(ansible-collection(community.general)) = 7.3.0 Provides: bundled(ansible-collection(community.general)) = 8.3.0
Provides: bundled(ansible-collection(containers.podman)) = 1.10.3 Provides: bundled(ansible-collection(containers.podman)) = 1.12.0
Source996: CHANGELOG.rst Source996: CHANGELOG.rst
Source998: collection_readme.sh Source998: collection_readme.sh

View File

@ -1,104 +1,102 @@
# Unpack tar.gz to retrieve to be vendored modules and place them in the roles library. # maps the source file to the roles that use that file
# ansible.posix: # value can be string or space delimited list of strings
# - library: # role name `__collection` means - do not vendor into
# - Module selinux and seboolean for the selinux role # role, just vendor directly into the collection
# - Module mount for the storage role declare -A plugin_map=(
declare -A module_map=( ["selinux.py"]="selinux" ["seboolean.py"]="selinux" ["mount.py"]="storage" ) [ansible/posix/plugins/modules/selinux.py]=selinux
for module in "${!module_map[@]}"; do [ansible/posix/plugins/modules/seboolean.py]=selinux
role="${module_map[${module}]}" [ansible/posix/plugins/modules/mount.py]=storage
if [ ! -d $role/library ]; then [ansible/posix/plugins/modules/rhel_facts.py]=__collection
mkdir $role/library [ansible/posix/plugins/modules/rhel_rpm_ostree.py]=__collection
fi [ansible/posix/plugins/module_utils/mount.py]=storage
cp -pL .external/ansible/posix/plugins/modules/$module $role/library/$module [community/general/plugins/modules/ini_file.py]="tlog ad_integration"
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 [community/general/plugins/modules/modprobe.py]=ha_cluster
done [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: declare -a modules mod_utils collection_plugins
# - module_utils: declare -A dests
# - Module_util mount for the storage role # vendor in plugin files - fix documentation, fragments
module_map=( ["mount.py"]="storage" ) for src in "${!plugin_map[@]}"; do
for module in "${!module_map[@]}"; do roles="${plugin_map["$src"]}"
role="${module_map[${module}]}" if [ "$roles" = __collection ]; then
if [ ! -d $role/module_utils/${role}_lsr ]; then collection_plugins+=("$src")
mkdir -p $role/module_utils/${role}_lsr 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 fi
cp -pL .external/ansible/posix/plugins/module_utils/$module $role/module_utils/${role}_lsr/$module for role in $roles; do
done if [ "$role" = __collection ]; then
dest="%{collection_build_path}/plugins${src/#*plugins/}"
# community.general: dests["$dest"]=__collection
# - library: else
# - Module seport, sefcontext and selogin for the selinux role rolename2 case "$src" in
# - Module ini_file for role tlog */plugins/module_utils/*) subdir="module_utils/${role}_lsr" ;;
# - rhc modules esac
# - ha_cluster uses modprobe dest="$role/${src/#*${srcdir}/${subdir}}"
module_map=( ["seport.py"]="selinux" ["sefcontext.py"]="selinux" ["selogin.py"]="selinux" ["ini_file.py"]="tlog" dests["$dest"]="$role"
["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 fi
# version 5.x seems to be broken? destdir="$(dirname "$dest")"
moduledir=.external/community/general/plugins/modules if [ ! -d "$destdir" ]; then
if [ ! -f $moduledir/$module ]; then mkdir -p "$destdir"
moduledir=.external/community/general/plugins/modules/system
fi fi
if [ ! -f $moduledir/$module ]; then cp -pL ".external/$src" "$dest"
moduledir=.external/community/general/plugins/modules/files 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/' \
fi -e '/^extends_documentation_fragment:/,/^[^ -]/{/^extends/d;/^[ -]/d}' \
cp -pL $moduledir/$module $role/library/$module -i "$dest"
ls -alrtF $role/library/$module done
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
done done
# remove the temporary .external directory after vendoring # remove the temporary .external directory after vendoring
rm -rf .external 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 "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 # Replacing "fedora.linux_system_roles." with "redhat.rhel_system_roles" in each role
# This is for the "roles calling other roles" case # 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, # for podman, change the FQCN - using a non-FQCN module name doesn't seem to work,
# even for the legacy role format # even for the legacy role format
# replace community.general for rhc
for rolename in %{rolenames}; do 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" \ sed -e "s/linux-system-roles[.]${rolename}\\>/%{roleinstprefix}${rolename}/g" \
-e "s/fedora[.]linux_system_roles[.]/%{collection_namespace}.%{collection_name}./g" \ -e "s/fedora[.]linux_system_roles[.]/%{collection_namespace}.%{collection_name}./g" \
-e "s/containers[.]podman[.]/%{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/community[.]general[.]/%{collection_namespace}.%{collection_name}./g" \
-e "s/ansible[.]posix[.]/%{collection_namespace}.%{collection_name}./g" \
-i {} \; -i {} \;
done done

View File

@ -11,14 +11,6 @@ BuildRequires: ansible-core >= 2.11.0
%bcond_with collection_artifact %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} %if 0%{?rhel}
Name: rhel-system-roles Name: rhel-system-roles
%else %else
@ -26,8 +18,8 @@ Name: linux-system-roles
%endif %endif
Url: https://github.com/linux-system-roles Url: https://github.com/linux-system-roles
Summary: Set of interfaces for unified system management Summary: Set of interfaces for unified system management
Version: 1.22.0 Version: 1.23.0
Release: 1%{?dist} Release: 2.21%{?dist}
License: GPLv3+ and MIT and BSD and Python License: GPLv3+ and MIT and BSD and Python
%global _pkglicensedir %{_licensedir}/%{name} %global _pkglicensedir %{_licensedir}/%{name}
@ -41,6 +33,9 @@ License: GPLv3+ and MIT and BSD and Python
%endif %endif
%global collection_version %{version} %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: # be compatible with the usual Fedora Provides:
Provides: ansible-collection-%{collection_namespace}-%{collection_name} = %{collection_version}-%{release} 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 rolestodir %%{?rolestodir} %%{roletodir%{1}}
} }
%global mainid e010c878833e363195dd707d1334ff48a254b092 %global mainid 11ad785c9bb72611244e7909450ca4247e12db4d
Source: %{url}/auto-maintenance/archive/%{mainid}/auto-maintenance-%{mainid}.tar.gz Source: %{url}/auto-maintenance/archive/%{mainid}/auto-maintenance-%{mainid}.tar.gz
# BEGIN AUTOGENERATED SOURCES # BEGIN AUTOGENERATED SOURCES
%global rolename1 postfix %global rolename1 postfix
%deftag 1 1.3.8 %deftag 1 1.4.3
%global rolename2 selinux %global rolename2 selinux
%deftag 2 1.6.1 %deftag 2 1.7.4
%global rolename3 timesync %global rolename3 timesync
%deftag 3 1.7.6 %deftag 3 1.8.2
%global rolename4 kdump %global rolename4 kdump
%deftag 4 1.3.6 %deftag 4 1.4.4
%global rolename5 network %global rolename5 network
%deftag 5 1.13.1 %deftag 5 1.15.1
%global rolename6 storage %global rolename6 storage
%deftag 6 1.12.3 %deftag 6 1.16.2
%global rolename7 metrics %global rolename7 metrics
%deftag 7 1.8.6 %deftag 7 1.10.1
%global rolename8 tlog %global rolename8 tlog
%deftag 8 1.2.16 %deftag 8 1.3.3
%global rolename9 kernel_settings %global rolename9 kernel_settings
%deftag 9 1.1.17 %deftag 9 1.2.2
%global rolename10 logging %global rolename10 logging
%deftag 10 1.11.9 %deftag 10 1.12.4
%global rolename11 nbde_server %global rolename11 nbde_server
%deftag 11 1.3.8 %deftag 11 1.4.3
%global rolename12 nbde_client %global rolename12 nbde_client
%deftag 12 1.2.14 %deftag 12 1.2.17
%global rolename13 certificate %global rolename13 certificate
%deftag 13 1.2.1 %deftag 13 1.3.3
%global rolename14 crypto_policies %global rolename14 crypto_policies
%deftag 14 1.2.11 %deftag 14 1.3.2
%global forgeorg15 https://github.com/willshersystems %global forgeorg15 https://github.com/willshersystems
%global repo15 ansible-sshd %global repo15 ansible-sshd
%global rolename15 sshd %global rolename15 sshd
%deftag 15 v0.19.0 %deftag 15 v0.23.2
%global rolename16 ssh %global rolename16 ssh
%deftag 16 1.2.1 %deftag 16 1.3.2
%global rolename17 ha_cluster %global rolename17 ha_cluster
%deftag 17 1.10.0 %deftag 17 1.14.0
%global rolename18 vpn %global rolename18 vpn
%deftag 18 1.5.8 %deftag 18 1.6.3
%global rolename19 firewall %global rolename19 firewall
%deftag 19 1.6.3 %deftag 19 1.7.4
%global rolename20 cockpit %global rolename20 cockpit
%deftag 20 1.4.7 %deftag 20 1.5.5
%global rolename21 podman %global rolename21 podman
%deftag 21 1.3.2 %deftag 21 1.4.7
%global rolename22 ad_integration %global rolename22 ad_integration
%deftag 22 1.1.3 %deftag 22 1.4.2
%global rolename23 rhc %global rolename23 rhc
%deftag 23 1.2.4 %deftag 23 1.6.0
%global rolename24 journald %global rolename24 journald
%deftag 24 1.0.5 %deftag 24 1.2.3
%global rolename25 postgresql %global rolename25 postgresql
%deftag 25 1.1.0 %deftag 25 1.3.5
%global rolename26 systemd %global rolename26 systemd
%deftag 26 1.0.1 %deftag 26 1.1.2
%global rolename27 keylime_server %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} Source1: %{archiveurl1}
Source2: %{archiveurl2} Source2: %{archiveurl2}
@ -200,6 +204,9 @@ Source24: %{archiveurl24}
Source25: %{archiveurl25} Source25: %{archiveurl25}
Source26: %{archiveurl26} Source26: %{archiveurl26}
Source27: %{archiveurl27} Source27: %{archiveurl27}
Source28: %{archiveurl28}
Source29: %{archiveurl29}
Source30: %{archiveurl30}
# END AUTOGENERATED SOURCES # END AUTOGENERATED SOURCES
# Includes with definitions/tags that differ between RHEL and Fedora # Includes with definitions/tags that differ between RHEL and Fedora
@ -217,20 +224,16 @@ Source1004: vendoring-build.inc
Source995: CHANGELOG.md Source995: CHANGELOG.md
Patch2201: 0001-fix-use-command-stdin-for-password-and-do-not-log-pa.patch
BuildArch: noarch BuildArch: noarch
# there is no ansible on i686, so when we get a builder that uses
%if %{with html} # this arch, the build fails with
# Requirements for md2html.sh to build the documentation # No matching package to install: 'ansible-core >= 2.11.0'
%if 0%{?fedora} || 0%{?rhel} >= 9 # unfortunately, this causes the src rpm build tasks to be reported
BuildRequires: rubygem-kramdown-parser-gfm # with the arch of the builder :-( which causes problems with internal
%else # test infrastructure - while we get those issues sorted out, revert
BuildRequires: pandoc # this change - this means that centpkg builds may fail and may have
BuildRequires: asciidoc # to be retried
BuildRequires: highlight # ExcludeArch: i686
%endif
%endif
# Requirements for galaxy_transform.py # Requirements for galaxy_transform.py
BuildRequires: python3 BuildRequires: python3
@ -278,7 +281,7 @@ end
%prep %prep
# BEGIN AUTOGENERATED SETUP # 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 # END AUTOGENERATED SETUP
# vendoring prep steps, if any # vendoring prep steps, if any
@ -297,6 +300,8 @@ for rolename in %{rolenames}; do
fi fi
fi fi
mv "$dir_from_archive" ${rolename} mv "$dir_from_archive" ${rolename}
# Move a hidden .README.html to a not hidden README.html
mv $rolename/.README.html $rolename/README.html
done done
%if 0%{?rhel} %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/ansible-sshd/linux-system-roles.sshd/" \
-e "s/ willshersystems.sshd/ linux-system-roles.sshd/" "$file" -e "s/ willshersystems.sshd/ linux-system-roles.sshd/" "$file"
done 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 sed -r -i -e 's/min_ansible_version: 2.8/min_ansible_version: "2.9"/' meta/main.yml
cd .. cd ..
@ -331,10 +336,6 @@ if [ "$rolesdir" != "$realrolesdir" ]; then
fi fi
cd .. cd ..
cd %{rolename22}
%patch2201 -p1
cd ..
# vendoring build steps, if any # vendoring build steps, if any
%include %{SOURCE1004} %include %{SOURCE1004}
@ -369,31 +370,47 @@ find -type f -executable -name '*.py' -exec \
# remove upstream-only documentation - for example, documentation # remove upstream-only documentation - for example, documentation
# about collection dependencies is not needed in Fedora and EL RPMs # about collection dependencies is not needed in Fedora and EL RPMs
# since the dependencies are already provided # since the dependencies are already provided
sed -e '/^## Requirements/,/^#/s/^See below$/None/' \ sed -e '/# Requirements/,/^#/s/^See below$/None/' \
-e '/^### Collection requirements/,/^#/ {/^### Collection/d;/^#/!d}' \ -e '/# Collection requirements/,/^#/ {/# Collection requirements/d;/^#/!d}' \
-i */README.md -i */README.md
sed -e '/id="requirements">Requirements<\/h/,/^<h/s/See below/None/' \
-e '/id="collection-requirements">/,/^<h/ {/id="collection-requirements">/d;/^<h/!d}' \
-i */README.html
for role in %{rolenames}; do
# awk: Remove collection-requirements from README.html TOC
# 1. If match found, add the line and -2,+1 lines' line number in an array "d".
# 2. Save all lines in an array with line number as index
# 3. Print only those index not in array "d"
awk '/id="toc-collection-requirements">/{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 # 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 -i sshd/README.md
sed -e '/id="optional-requirements">/,/^<h/ {/id="optional-requirements">/d;/^<h/!d}' \
-i sshd/README.html
# Remove optional-requirements from README.html TOC
awk '/id="toc-optional-requirements">/{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/" matchstr="actions/workflows/"
for role in %{rolenames}; do 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 sed -e "1,14 {\\,${matchstr},d; /\!\[/d}" -i $role/README.md
readmes="${readmes} $role/README.md"
done done
sh md2html.sh $readmes
%endif
mkdir .collections if [ ! -d %{collection_dest_path} ]; then
mkdir %{collection_dest_path}
fi
%if 0%{?rhel} %if 0%{?rhel}
# Convert the upstream collection readme to the downstream one # Convert the upstream collection readme to the downstream one
%{SOURCE998} lsr_role2collection/collection_readme.md %{SOURCE998} lsr_role2collection/collection_readme.md
@ -402,7 +419,7 @@ mkdir .collections
"https://linux-system-roles.github.io" \ "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/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://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 > galaxy.yml.tmp
# we vendor-in all of the dependencies on rhel, so remove them # we vendor-in all of the dependencies on rhel, so remove them
rm -f lsr_role2collection/collection_requirements.txt rm -f lsr_role2collection/collection_requirements.txt
@ -431,38 +448,31 @@ extra_mapping="--extra-mapping fedora.linux_system_roles:%{collection_namespace}
extra_mapping="" extra_mapping=""
%endif %endif
LANG=C.utf-8 LC_ALL=C.utf-8 %{python3} release_collection.py --galaxy-yml galaxy.yml \ 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 --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 # Remove internal links from readme files
# They are not rendered properly on AH. # They are not rendered properly on AH.
for role in %{rolenames}; do for role in %{rolenames}; do
sed -r -i -e 's/\[([^[]+)\]\(#[^)]+\)/\1/g' \ 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 done
# Remove test only collection dependencies # Remove test only collection dependencies
# NOTE: These should not be in meta/collection-requirements.yml, they should be # 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 # in tests/collection-requirements.yml, but they can't be moved yet
sed -i -e '/community[.]mysql:/d' -e '/community[.]postgresql:/d' \ 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} \ cp %{SOURCE995} \
.collections/ansible_collections/%{collection_namespace}/%{collection_name}/docs/CHANGELOG.md %{collection_build_path}/docs/CHANGELOG.md
%if 0%{?rhel} %if 0%{?rhel}
cp %{SOURCE996} \ cp %{SOURCE996} \
.collections/ansible_collections/%{collection_namespace}/%{collection_name}/CHANGELOG.rst %{collection_build_path}/CHANGELOG.rst
%endif %endif
# Build the collection # Build the collection
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ pushd %{collection_build_path}
%ansible_collection_build %ansible_collection_build
popd popd
@ -489,10 +499,8 @@ for role in %{rolenames}; do
"%{buildroot}%{_pkgdocdir}/$role" "%{buildroot}%{_pkgdocdir}/$role"
ln -sr "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/README.md" \ ln -sr "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/README.md" \
"%{buildroot}%{_pkgdocdir}/$role" "%{buildroot}%{_pkgdocdir}/$role"
%if %{with html}
ln -sr "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/README.html" \ ln -sr "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/README.html" \
"%{buildroot}%{_pkgdocdir}/$role" "%{buildroot}%{_pkgdocdir}/$role"
%endif
if [ -f "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/COPYING" ]; then if [ -f "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/COPYING" ]; then
ln -sr "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/COPYING" \ ln -sr "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/COPYING" \
"%{buildroot}%{_pkglicensedir}/$role.COPYING" "%{buildroot}%{_pkglicensedir}/$role.COPYING"
@ -532,7 +540,13 @@ done
rm -f %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/semaphore rm -f %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/semaphore
rm -r %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/molecule 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* rm %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/tests/.git*
# NOTE: sshd/examples/example-root-login.yml is # 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 # must be updated if changing the file path
# Install the collection # Install the collection
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ pushd %{collection_build_path}
%ansible_collection_install %ansible_collection_install
popd popd
@ -551,7 +565,7 @@ ln -sr %{buildroot}%{ansible_collection_files}%{collection_name}/README.md \
%{buildroot}%{_pkgdocdir}/collection %{buildroot}%{_pkgdocdir}/collection
for rolename in %{rolenames}; do 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 [ -f %{buildroot}%{ansible_collection_files}%{collection_name}/roles/${rolename}/$file ]; then
if [ ! -d %{buildroot}%{_pkgdocdir}/collection/roles/${rolename} ]; then if [ ! -d %{buildroot}%{_pkgdocdir}/collection/roles/${rolename} ]; then
mkdir -p %{buildroot}%{_pkgdocdir}/collection/roles/${rolename} mkdir -p %{buildroot}%{_pkgdocdir}/collection/roles/${rolename}
@ -562,19 +576,10 @@ for rolename in %{rolenames}; do
done done
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} %if %{with collection_artifact}
# Copy collection artifact to /usr/share/ansible/collections/ for collection-artifact # Copy collection artifact to /usr/share/ansible/collections/ for collection-artifact
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ pushd %{collection_build_path}
mv %{collection_namespace}-%{collection_name}-%{version}.tar.gz \ mv %{collection_namespace}-%{collection_name}-%{version}.tar.gz \
%{buildroot}%{_datadir}/ansible/collections/ %{buildroot}%{_datadir}/ansible/collections/
popd popd
%endif %endif
@ -672,6 +677,133 @@ find %{buildroot}%{ansible_roles_dir} -mindepth 1 -maxdepth 1 | \
%endif %endif
%changelog %changelog
* Mon Feb 26 2024 Rich Megginson <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 1.23.0-2.15
- Resolves: RHEL-22108 : ha_cluster - Setting cluster members' attributes
* Sun Feb 11 2024 Rich Megginson <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 1.23.0-2.12
- Resolves: RHEL-22229 : podman - user linger needed before secrets
* Wed Jan 31 2024 Rich Megginson <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 1.23.0-2.8
- Resolves: RHEL-16553 : snapshot - New Role for storage snapshot management (lvm, etc.)
* Fri Jan 19 2024 Rich Megginson <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 1.23.0-2.6
- Resolves: RHEL-21537 : storage - lvmlockd process is not running - test only
* Mon Jan 15 2024 Rich Megginson <rmeggins@redhat.com> - 1.23.0-2.5
- Resolves: RHEL-3241 : bootloader - Create bootloader role (MVP)
* Tue Dec 12 2023 Rich Megginson <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 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 <rmeggins@redhat.com> - 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 <spetrosi@redhat.com> - 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 <spetrosi@redhat.com> - 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 <rmeggins@redhat.com> - 1.22.0-1 * Tue Aug 15 2023 Rich Megginson <rmeggins@redhat.com> - 1.22.0-1
- Resolves:rhbz#2233183 : ad_integration - red hat "rhel system role" ad_integration leaks credentials when in check_mode - 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 - Resolves:rhbz#2232391 : kdump - role: "Write new authorized_keys if needed" task idempotency issues