# NOTE: ansible-core is in rhel-8.6 and newer, but not installable # in buildroot as it depended on modular Python. # It has been installable at buildtime in 8.8 and newer. %if 0%{?fedora} BuildRequires: ansible-packaging %else %if 0%{?rhel} >= 8 BuildRequires: ansible-core >= 2.11.0 %endif %endif %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 Name: linux-system-roles %endif Url: https://github.com/linux-system-roles Summary: Set of interfaces for unified system management Version: 1.21.2 Release: 1%{?dist} License: GPLv3+ and MIT and BSD and Python %global _pkglicensedir %{_licensedir}/%{name} %global roleinstprefix %{name}. %if 0%{?rhel} %global collection_namespace redhat %global collection_name rhel_system_roles %else %global collection_namespace fedora %global collection_name linux_system_roles %endif %global collection_version %{version} # be compatible with the usual Fedora Provides: Provides: ansible-collection-%{collection_namespace}-%{collection_name} = %{collection_version}-%{release} # ansible-core is in rhel 8.6 and later - default to ansible-core, but allow # the use of ansible if present - we may revisit this if the automatic dependency # generator is added to ansible-core in RHEL # Fedora - the automatic generator will add this - no need to explicit declare # it in the spec file # EL7 - no dependency on ansible because there is no ansible in el7 - user is # responsible for knowing they have to install ansible %if 0%{?rhel} >= 8 Requires: (ansible-core >= 2.11.0 or ansible >= 2.9.0) %endif # For each role, call either defcommit() or deftag(). The other macros # (%%id and %%shortid) can be then used in the same way in both cases. # This way the rest of the spec file des not need to know whether we are # dealing with a tag or a commit. %global archiveext tar.gz # list of role names %global rolenames %nil # list of assignments that can be used to populate a bash associative array variable %global rolestodir %nil %define getarchivedir() %(p=%{basename:%{S:%{1}}}; echo ${p%%.%{archiveext}}) %define defcommit() %{expand:%%global ref%{1} %{2} %%global shortcommit%{1} %%(c=%%{ref%{1}}; echo ${c:0:7}) %%global extractdir%{1} %%{expand:%%getarchivedir %{1}} %%{!?repo%{1}:%%global repo%{1} %%{rolename%{1}}} %%global archiveurl%{1} %%{?forgeorg%{1}}%%{!?forgeorg%{1}:%%{url}}/%%{repo%{1}}/archive/%%{ref%{1}}/%%{repo%{1}}-%%{ref%{1}}.tar.gz %%global rolenames %%{?rolenames} %%{rolename%{1}} %%global roletodir%{1} [%{rolename%{1}}]="%{extractdir%{1}}" %%global rolestodir %%{?rolestodir} %{roletodir%{1}} } %define deftag() %{expand:%%global ref%{1} %{2} %%global extractdir%{1} %%{expand:%%getarchivedir %{1}} %%{!?repo%{1}:%%global repo%{1} %%{rolename%{1}}} %%global archiveurl%{1} %%{?forgeorg%{1}}%%{!?forgeorg%{1}:%%{url}}/%%{repo%{1}}/archive/%%{ref%{1}}/%%{repo%{1}}-%%{ref%{1}}.tar.gz %%global rolenames %%{?rolenames} %%{rolename%{1}} %%global roletodir%{1} [%{rolename%{1}}]="%{extractdir%{1}}" %%global rolestodir %%{?rolestodir} %%{roletodir%{1}} } %global mainid f8932b3155a3cb7579a2b3c453578f7bee6bb837 Source: %{url}/auto-maintenance/archive/%{mainid}/auto-maintenance-%{mainid}.tar.gz # BEGIN AUTOGENERATED SOURCES %global rolename1 postfix %deftag 1 1.3.6 %global rolename2 selinux %deftag 2 1.5.9 %global rolename3 timesync %deftag 3 1.7.5 %global rolename4 kdump %deftag 4 1.2.9 %global rolename5 network %deftag 5 1.11.4 %global rolename6 storage %deftag 6 1.9.8 %global rolename7 metrics %deftag 7 1.8.4 %global rolename8 tlog %deftag 8 1.2.14 %global rolename9 kernel_settings %deftag 9 1.1.15 %global rolename10 logging %deftag 10 1.11.7 %global rolename11 nbde_server %deftag 11 1.3.5 %global rolename12 nbde_client %deftag 12 1.2.13 %global rolename13 certificate %deftag 13 1.1.11 %global rolename14 crypto_policies %deftag 14 1.2.9 %global forgeorg15 https://github.com/willshersystems %global repo15 ansible-sshd %global rolename15 sshd %deftag 15 v0.19.0 %global rolename16 ssh %deftag 16 1.1.15 %global rolename17 ha_cluster %deftag 17 1.9.2 %global rolename18 vpn %deftag 18 1.5.6 %global rolename19 firewall %deftag 19 1.4.4 %global rolename20 cockpit %deftag 20 1.4.5 %global rolename21 podman %deftag 21 1.1.5 %global rolename22 ad_integration %deftag 22 1.1.0 %global rolename23 rhc %deftag 23 1.1.2 %global rolename24 journald %deftag 24 1.0.3 #%%global rolename25 postgresql #%%deftag 25 1.0.3 Source1: %{archiveurl1} Source2: %{archiveurl2} Source3: %{archiveurl3} Source4: %{archiveurl4} Source5: %{archiveurl5} Source6: %{archiveurl6} Source7: %{archiveurl7} Source8: %{archiveurl8} Source9: %{archiveurl9} Source10: %{archiveurl10} Source11: %{archiveurl11} Source12: %{archiveurl12} Source13: %{archiveurl13} Source14: %{archiveurl14} Source15: %{archiveurl15} Source16: %{archiveurl16} Source17: %{archiveurl17} Source18: %{archiveurl18} Source19: %{archiveurl19} Source20: %{archiveurl20} Source21: %{archiveurl21} Source22: %{archiveurl22} Source23: %{archiveurl23} Source24: %{archiveurl24} #Source25: %{archiveurl25} # END AUTOGENERATED SOURCES # Includes with definitions/tags that differ between RHEL and Fedora Source1001: extrasources.inc %include %{SOURCE1001} # Includes with ansible_collection_build/_install that differ between RHEL versions Source1002: ansible-packaging.inc %include %{SOURCE1002} Source1003: vendoring-prep.inc Source1004: vendoring-build.inc Source995: CHANGELOG.md 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 # Requirements for galaxy_transform.py BuildRequires: python3 BuildRequires: python%{python3_pkgversion}-ruamel-yaml # We must put %%description within the if block to avoid empty lines showing up. %if 0%{?rhel} %description Collection of Ansible roles and modules that provide a stable and consistent configuration interface for managing multiple versions of Red Hat Enterprise Linux. %else %description Collection of Ansible roles and modules that provide a stable and consistent configuration interface for managing multiple versions of Fedora, Red Hat Enterprise Linux & CentOS. %endif %if %{with collection_artifact} %package collection-artifact Summary: Collection artifact to import to Automation Hub / Ansible Galaxy %description collection-artifact Collection artifact for %{name}. This package contains %{collection_namespace}-%{collection_name}-%{version}.tar.gz %endif # Fix issue with package update introduce with changing symlink to directory # in 1.21.1-5 %pretrans -p roles = { "certificate", "cockpit", "crypto_policies", "firewall", "ha_cluster", "kdump", "kernel_settings", "logging", "metrics", "nbde_client", "nbde_server", "network", "postfix", "selinux", "ssh", "sshd", "storage", "timesync", "tlog", "vpn" } for i,v in ipairs(roles) do path = "/usr/share/ansible/roles/linux-system-roles." .. v st = posix.stat(path) if st and st.type == "link" then os.remove(path) end 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 -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 -n %{getarchivedir 0} # END AUTOGENERATED SETUP # vendoring prep steps, if any %include %{SOURCE1003} declare -A ROLESTODIR=(%{rolestodir}) for rolename in %{rolenames}; do dir_from_archive="${ROLESTODIR[${rolename}]}" if [ ! -d "$dir_from_archive" ]; then # ansible-sshd uses tags like vX.Y.Z # using the github archive/ link with a tag like this strips # the leading v from the tag used to construct the directory # name in the archive if [[ "$dir_from_archive" =~ %{repo15}-v([0-9]+[.][0-9]+.*) ]]; then dir_from_archive="%{repo15}-${BASH_REMATCH[1]}" fi fi mv "$dir_from_archive" ${rolename} done %if 0%{?rhel} cd %{rolename2}/tests # this test causes avcs we want to ignore sed -r -i -e '/hosts: all/a\ tags:\ - tests::avc' tests_selinux_disabled.yml cd ../.. %endif cd %{rolename15} find -P tests examples -name \*.yml | while read file; do sed -r -i -e "s/willshersystems:ansible-sshd/system_role:sshd/" \ -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/min_ansible_version: 2.8/min_ansible_version: "2.9"/' meta/main.yml cd .. cd %{rolename7} # metrics roles dir is a symlink to the vendored dir. # rpm upgrade doesn't like the symlink. Replace the # symlink with the real dir rolesdir=$(pwd)/roles realrolesdir=$(realpath "$rolesdir") if [ "$rolesdir" != "$realrolesdir" ]; then rm -rf roles mv "$realrolesdir" . rm -rf vendor fi cd .. # vendoring build steps, if any %include %{SOURCE1004} # Removing symlinks in tests/roles for rolename in %{rolenames}; do if [ -d ${rolename}/tests/roles ]; then find ${rolename}/tests/roles -type l -exec rm {} \; if [ -d ${rolename}/tests/roles/linux-system-roles.${rolename} ]; then rm -r ${rolename}/tests/roles/linux-system-roles.${rolename} fi fi done rm %{rolename5}/tests/modules rm %{rolename5}/tests/module_utils rm %{rolename5}/tests/playbooks/roles # Drop network/{scripts/print_all_options.py,tests/ensure_provider_tests.py} # from rpm. These 2 files fail in brp-python-bytecompile due to f-strings # when python2 is default python. rm %{rolename5}/scripts/print_all_options.py rm %{rolename5}/tests/ensure_provider_tests.py # Drop storage tests/scripts rm -rf %{rolename6}/tests/scripts # fix system_roles fingerprint in "external" roles python3 lsr_fingerprint.py # transform ambiguous #!/usr/bin/env python shebangs to python3 to stop brp-mangle-shebangs complaining find -type f -executable -name '*.py' -exec \ sed -i -r -e '1s@^(#! */usr/bin/env python)(\s|$)@#\13\2@' '{}' + %build %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 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 0%{?rhel} # Convert the upstream collection readme to the downstream one %{SOURCE998} lsr_role2collection/collection_readme.md %{python3} ./galaxy_transform.py "%{collection_namespace}" "%{collection_name}" "%{collection_version}" \ "Red Hat Enterprise Linux System Roles Ansible Collection" \ "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" \ > galaxy.yml.tmp # we vendor-in all of the dependencies on rhel, so remove them rm -f lsr_role2collection/collection_requirements.txt # but leave bindep.txt %else ./galaxy_transform.py "%{collection_namespace}" "%{collection_name}" "%{collection_version}" \ "Linux System Roles Ansible Collection" \ > galaxy.yml.tmp %endif mv galaxy.yml.tmp galaxy.yml includes="" for role in %{rolenames}; do includes="$includes --include $role" %if 0%{?rhel} # we vendor-in all of the dependencies on rhel, so remove them rm -f "$role/meta/requirements.yml" "$role/meta/collection-requirements.yml" \ "$role/tests/collection-requirements.yml" %endif done # do not process changelogs on RHEL %if 0%{?rhel} extra_mapping="--extra-mapping fedora.linux_system_roles:%{collection_namespace}.%{collection_name}" %else 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-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 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 cp %{SOURCE995} \ .collections/ansible_collections/%{collection_namespace}/%{collection_name}/docs/CHANGELOG.md %if 0%{?rhel} cp %{SOURCE996} \ .collections/ansible_collections/%{collection_namespace}/%{collection_name}/CHANGELOG.rst %endif # Build the collection pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ %ansible_collection_build popd %install mkdir -p %{buildroot}%{ansible_roles_dir} for role in %{rolenames}; do cp -pR "$role" "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role" done %if 0%{?rhel} # Create symlinks for roles in /usr/share/ansible/roles/linux-system-roles.$rolename # That's required to make roles work with upstream naming too for role in %{rolenames}; do ln -s "%{name}.$role" "%{buildroot}%{ansible_roles_dir}/linux-system-roles.$role" done %endif mkdir -p %{buildroot}%{_pkglicensedir} rm %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}network/examples/roles for role in %{rolenames}; do mkdir -p "%{buildroot}%{_pkgdocdir}/$role" ln -sr "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/CHANGELOG.md" \ "%{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" fi if [ -f "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/LICENSE" ]; then ln -sr "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/LICENSE" \ "%{buildroot}%{_pkglicensedir}/$role.LICENSE" fi if [ -d "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/examples" ]; then for file in "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/examples/"* ; do if [[ "$file" == *.yml ]]; then basename=$(basename "$file" .yml) newname="$basename" if [[ "$newname" != example-* ]]; then newname="example-$newname" fi if [[ "$newname" != *-playbook ]]; then newname="${newname}-playbook" fi cp "$file" "%{buildroot}%{_pkgdocdir}/$role/${newname}.yml" else cp "$file" "%{buildroot}%{_pkgdocdir}/$role" fi rm "$file" done if [ -f "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/examples/inventory" ]; then cp "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/examples/inventory" \ "%{buildroot}%{_pkgdocdir}/$role/example-inventory" rm "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/examples/inventory" fi # special case for network # this will error if the directory is unexpectedly empty rmdir "%{buildroot}%{ansible_roles_dir}/%{roleinstprefix}$role/examples" fi 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]* rm %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/tests/.git* # NOTE: sshd/examples/example-root-login.yml is # referenced in the configuring-openssh-servers-using-the-sshd-system-role documentation module # must be updated if changing the file path # Install the collection pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ %ansible_collection_install popd mkdir -p %{buildroot}%{_pkgdocdir}/collection mkdir -p %{buildroot}%{_pkgdocdir}/collection/roles 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 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} fi ln -sr %{buildroot}%{ansible_collection_files}%{collection_name}/roles/${rolename}/$file \ %{buildroot}%{_pkgdocdir}/collection/roles/${rolename} fi 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/ popd %endif # Generate the %%files section in files_section.txt # Bulk files inclusion is not possible because roles store doc and licence # files together with other files format_item_for_files() { # $1 is directory or file name in buildroot # $2 - if true, and item is a directory, use %%dir local item local files_item item="$1" # full path including buildroot files_item=${item##"%{buildroot}"} # path with cut buildroot to be added to %%files if [ -L "$item" ]; then echo "$files_item" elif [ -d "$item" ]; then if [[ "$item" == */doc* ]]; then echo "%doc $files_item" elif [ "${2:-false}" = true ]; then echo "%dir $files_item" else echo "$files_item" fi elif [[ "$item" == */README.md ]] || [[ "$item" == */README.html ]] || [[ "$item" == */CHANGELOG.md ]]; then if [[ "$item" == */private_* ]]; then # mark as regular file, not %%doc echo "$files_item" else echo "%doc $files_item" fi elif [[ "$item" == */COPYING* ]] || [[ "$item" == */LICENSE* ]]; then echo "%""%""license" "$files_item" else echo "$files_item" fi } files_section=files_section.txt rm -f $files_section touch $files_section # Dynamically generate files section entries for %%{ansible_collection_files} find %{buildroot}%{ansible_collection_files}%{collection_name} -mindepth 1 -maxdepth 1 | \ while read item; do if [[ "$item" == */roles ]]; then format_item_for_files "$item" true >> $files_section find "$item" -mindepth 1 -maxdepth 1 | while read roles_dir; do format_item_for_files "$roles_dir" true >> $files_section find "$roles_dir" -mindepth 1 -maxdepth 1 | while read roles_item; do format_item_for_files "$roles_item" >> $files_section done done else format_item_for_files "$item" >> $files_section fi done # Dynamically generate files section entries for %%{ansible_roles_dir} find %{buildroot}%{ansible_roles_dir} -mindepth 1 -maxdepth 1 | \ while read item; do if [ -d "$item" ]; then format_item_for_files "$item" true >> $files_section find "$item" -mindepth 1 -maxdepth 1 | while read roles_item; do format_item_for_files "$roles_item" >> $files_section done else format_item_for_files "$item" >> $files_section fi done %files -f files_section.txt %dir %{_datadir}/ansible %dir %{ansible_roles_dir} %dir %{ansible_collection_files} %dir %{ansible_collection_files}%{collection_name} %doc %{_pkgdocdir} %license %{_pkglicensedir} %if 0%{?rhel} && 0%{?rhel} < 8 # Needs to list excluded files in this hardcoded style since when # format_item_for_files is executed, brp-python-bytecompile is not # executed yet. %exclude %{ansible_roles_dir}/*/*.py? %exclude %{ansible_roles_dir}/*/*/*.py? %exclude %{ansible_roles_dir}/*/*/*/*.py? %exclude %{ansible_roles_dir}/*/*/*/*/*.py? %exclude %{ansible_collection_files}/%{collection_name}/*/*/*.py? %exclude %{ansible_collection_files}/%{collection_name}/*/*/*/*.py? %exclude %{ansible_collection_files}/%{collection_name}/*/*/*/*/*.py? %endif %if %{with collection_artifact} %files collection-artifact %{_datadir}/ansible/collections/%{collection_namespace}-%{collection_name}-%{version}.tar.gz %endif %changelog * Wed May 10 2023 Rich Megginson - 1.21.2-1 - Resolves:rhbz#2186913 : rhc - RHC system role: activation key registration fails if system is already registered - Resolves:rhbz#2189194 : roles should support running with gather_facts: false - Resolves:rhbz#2188332 : failing test podman/tests_basic.yml: Set per-container variables part 0 - Resolves:rhbz#2188384 : failing test - sshd/tests_firewall_selinux.yml - No package matching 'firewalld' found available, installed or updated - move vendoring into included files - Resolves:rhbz#2175324 : use ansible-galaxy collection build/install instead of tar * Thu Apr 6 2023 Sergei Petrosian - 1.21.1-2 - Resolves: rhbz#2185002 : Remove doc fragments from vendored modules - Build collection artifact in the same directory on Fedora and RHEL * Thu Mar 16 2023 Rich Megginson - 1.21.1-1 - Resolves:rhbz#2144877 : rhc - new role for subscription management/registration/insights - includes the fix for tests_proxy.yml selinux and some test refactoring * Wed Feb 22 2023 Rich Megginson - 1.21.0-2 - Resolves:rhbz#2144877 : rhc - new role for subscription management/registration/insights - remove role until https://bugzilla.redhat.com/show_bug.cgi?id=2171829 is fixed * Mon Feb 20 2023 Rich Megginson - 1.21.0-1 - Resolves:rhbz#2162617 : network - RedHat Role rhel-system-roles.network should route traffic via correct bond * Thu Feb 16 2023 Rich Megginson - 1.21.0-0.19 - Resolves:rhbz#2144877 : rhc - new role for subscription management/registration/insights - vendor in modules required by rhc role - Resolves:rhbz#2167941 : ha_cluster - Fix stonith watchdog timeout * Wed Feb 15 2023 Rich Megginson - 1.21.0-0.18 - Resolves:rhbz#2144877 : rhc - new role for subscription management/registration/insights - ad_integration - fix issue with using the network role to configure DNS * Thu Feb 09 2023 Rich Megginson - 1.21.0-0.17 - Resolves:rhbz#2164879 : selinux - managing modules is not idempotent - Fix nbde_server test issue * Fri Feb 03 2023 Rich Megginson - 1.21.0-0.16 - Resolves:rhbz#2165176 : journald - New role - journald - manage systemd-journald - Resolves:rhbz#2159972 : nbde_client - nbde_client_clevis fails with a traceback and prints sensitive data - Resolves:rhbz#2164879 : selinux - managing modules is not idempotent - fix storage tests_swap and tests_misc - swap size < 128GB on EL7 - fix podman general-meta issue - ha_cluster non-x86_64 tests issue - certificate non-x86_64 tests issue * Fri Jan 20 2023 Rich Megginson - 1.21.0-0.15 - Resolves:rhbz#2162788 : network - role should support running tests with ANSIBLE_GATHERING=explicit - Resolves:rhbz#2149683 : Synchronize automation-related changes from Fedora spec file - Fix ansible-test issues in several roles - Fix nbde_server tang test failure * Fri Jan 13 2023 Rich Megginson - 1.21.0-0.14 - Resolves:rhbz#2143814 : ha_cluster - Allow quorum device configuration - Resolves:rhbz#2153081 : ha_cluster - Allow enabled SBD on disabled cluster - Resolves:rhbz#2127497 : ha_cluster - use no_log in tasks looping over pot. secret parameters - community.general 6.2.0 - replace community.general with namespace.name for rhc role * Thu Jan 12 2023 Noriko Hosoi - 1.20.1-4 - Resolves:rhbz#2138213: nbde_client - use fedora.linux_system_roles.nbde_server for tests * Thu Dec 15 2022 Rich Megginson - 1.21.0-0.13 - Resolves:rhbz#2151355 : storage - [RHEL8] disks_needed need to be set for the raid test cases - Resolves:rhbz#2154143 : storage - [RHEL8] tests_create_thinp_then_remove_scsi_generated.yml failed at "assertion": "(storage_test_expected_size|int - storage_test_actual_size.bytes)|abs / storage_test_expected_size|int < 0.01" - Resolves:rhbz#2151342 : storage - [RHEL9] ansible.parsing.yaml.objects.AnsibleUnicode object' has no attribute 'bytes' - Resolves:rhbz#2151351 : storage - [RHEL9 system role] storage role vdo tests failed about "VDO deduplication is off but it should not" * Thu Dec 15 2022 Rich Megginson - 1.21.0-0.12 - Resolves:rhbz#2153080 - tlog - Unconditionally enable the files provider * Tue Dec 13 2022 Rich Megginson - 1.21.0-0.11 - Resolves:rhbz#2130362 : logging - [RFE] convert logging role to use firewall, selinux role, and certificate role fix basic-smoke-test failures * Mon Dec 12 2022 Rich Megginson - 1.21.0-0.10 - Resolves:rhbz#2130019 : ha_cluster - [RFE] convert ha_cluster role to use firewall, selinux and certificate role - Resolves:rhbz#2143458 : network - Support cloned MAC address - Resolves:rhbz#2066864 : podman - [RFE] role for managing podman containers and systemd * Tue Dec 06 2022 Rich Megginson - 1.21.0-0.9 - Resolves:rhbz#2144876 : ad_integration - [RFE] new role to support AD integration, join to AD domain * Mon Dec 05 2022 Rich Megginson - 1.21.0-0.8 - Resolves:rhbz#2130362 : logging - [RFE] convert logging role to use firewall, selinux role, and certificate role fix tests - tests_relp now uses logging_purge_confs * Tue Nov 29 2022 Rich Megginson - 1.21.0-0.7 - Resolves:rhbz#2126960 : nbde_client - must handle clevis-luks-askpass and clevis-luks-askpass@ systemd unit names * Tue Nov 29 2022 Rich Megginson - 1.21.0-0.6 - Resolves:rhbz#2133931 : nbde_server - [RFE] convert nbde_server role to use firewall and selinux role previous fix was not complete - needed additional fixes - ansible-lint 6.x fixes * Thu Nov 03 2022 Noriko Hosoi - 1.20.1-3 - Resolves:rhbz#2138213: sshd - Fix the mismatched line numbers in the sshd patch. - Resolves:rhbz#2094483: - metrics - document minimum supported redis version required by rhel-system-roles * Tue Sep 27 2022 Rich Megginson - 1.20.1-1 - Resolves:rhbz#2129875 : ssh,sshd - Sync on final OpenSSH option name RequiredRSASize in ssh and sshd roles * Tue Aug 09 2022 Rich Megginson - 1.20.0-1 - Resolves:rhbz#2115159 : cockpit - Add customization of port - Resolves:rhbz#2100939 : firewall - RFE: firewall-system-role: add ability to add interface to zone by PCI device ID - Resolves:rhbz#2115160 : firewall - support for firewall_config - gather firewall facts - Resolves:rhbz#2112143 : logging - [RFE] Support startmsg.regex and endmsg.regex in the files inputs - Resolves:rhbz#2115162 : selinux - Added setting of seuser and selevel for completeness - Resolves:rhbz#2115161 : nbde_client - Sets proper spacing for parameter rd.neednet=1 - Resolves:rhbz#2115884 : network - fix IPRouteUtils.get_route_tables_mapping() to accept any whitespace sequence - Resolves:rhbz#2109997 : ssh sshd - ssh, sshd: RSAMinSize parameter definition is missing - Resolves:rhbz#2082391 : storage - [RHEL8] [WARNING]: The loop variable 'storage_test_volume' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. * Fri Jul 01 2022 Rich Megginson - 1.19.3-1 - min_ansible_version is string instead of float - fix storage test failures - support for ansible-core 2.13 - firewall - forward_port should accept list of string or list of dict Resolves: rhbz#2101607 - firewall - support add/modify/delete services Resolves: rhbz#2100297 - metrics - document minimum supported redis version required by rhel-system-roles Resolves: rhbz#2100285 - metrics - restart pmie, pmlogger if changed, do not wait for handler Resolves: rhbz#2100298 - network - Support managing the network through nmstate schema Resolves: rhbz#2100979 - storage - support for adding/removing disks to/from storage pools Resolves: rhbz#2066880 - storage - support for attaching cache volumes to existing volumes Resolves: rhbz#2066881 * Wed Jun 15 2022 Rich Megginson - 1.19.2-1 - sshd - fix ansible 2.9 support in meta/main.yml Resolves: rhbz#2086935 (8.7.0) * Mon Jun 13 2022 Rich Megginson - 1.19.1-1 - storage - fix coverity scan issue in blivet.py Resolves: rhbz#2066876 (8.7.0) - logging - fix gather_facts/set_vars issue Resolves: rhbz#2079008 (8.7.0) - ha_cluster - Move tasks that set up CI environment to roles tasks/ dir Resolves: rhbz#2093500 (8.7.0) - sshd - fix tests issue with rhel9 hosts * Mon Jun 06 2022 Rich Megginson - 1.19.0-1 - storage - support for creating and managing LVM thin pools/LVs Resolves: rhbz#2066876 (8.7.0) - firewall - Update Ansible syntax in Firewall system role README.md file examples Resolves: rhbz#2081839 (8.7.0) - storage role raid_level "striped" is not supported Resolves: rhbz#2083426 (8.7.0) - network: the controller device is not completely cleaned up in the bond tests. Resolves: rhbz#2089868 (8.7.0) - firewall - state no longer required for masquerade and ICMP block inversion Resolves: rhbz#2093437 (8.7.0) - ha_cluster - Move tasks that set up CI environment to roles tasks/ dir Resolves: rhbz#2093500 (8.7.0) * Thu May 26 2022 Rich Megginson - 1.18.0-1 - firewall - [Improvement] Allow System Role to reset to default Firewalld Settings Resolves: rhbz#2043009 (8.7.0) - metrics - [RFE] add an option to the metrics role to enable postfix metric collection Resolves: rhbz#2079114 (8.7.0) - network - Rework the infiniband support Resolves: rhbz#2086869 (8.7.0) - sshd - recurse into tests and examples sub-directories when replacing string in files the sshd role latest version added sub-directories under tests that need role name replacement - so just use find - sshd - sshd system role should not assume that RHEL 9 /etc/ssh/sshd_config has "Include > /etc/ssh/sshd_config.d/*.conf" Resolves: rhbz#2086934 (8.7.0) - sshd - sshd system role should be able to optionally manage /etc/ssh/sshd_config on RHEL 9 Resolves: rhbz#2086935 (8.7.0) - storage - storage role cannot set mount_options for volumes Resolves: rhbz#2083378 (8.7.0) * Mon Apr 25 2022 Rich Megginson - 1.17.0-1 - All roles should support running with gather_facts: false Resolves: rhbz#2079008 (8.7.0) - firewall - Firewall system role Ansible deprecation warning related to "include" Resolves: rhbz#2078650 (8.7.0) - ha_cluster - ha_cluster - support advanced corosync configuration Resolves: rhbz#2065339 (8.7.0) - ha_cluster - ha_cluster - support SBD fencing Resolves: rhbz#2066868 (8.7.0) - ha_cluster - ha_cluster - add support for configuring bundle resources Resolves: rhbz#2073518 (8.7.0) - kernel_settings - kernel_settings error configobj not found on RHEL 8.6 managed hosts Resolves: rhbz#2060378 (8.7.0) - logging - logging tests fail during cleanup if no cloud-init on system Resolves: rhbz#2058807 (8.7.0) - logging - Logging - RFE - support template, severity and facility options Resolves: rhbz#2075116 (8.7.0) - metrics - Metrics role, with "metrics_from_mssql" option does not configure /var/lib/pcp/pmdas/mssql/mssql.conf on first run Resolves: rhbz#2060377 (8.7.0) - metrics - metrics - consistently use ansible_managed in configuration files managed by role Resolves: rhbz#2065215 (8.7.0) - metrics - [RFE] add an option to the metrics role to enable postfix metric collection Resolves: rhbz#2079114 (8.7.0) - nbde_client - NBDE client system role does not support servers with static IP addresses Resolves: rhbz#2071011 (8.7.0) - network - [RFE] Extend rhel-system-roles.network feature set to support routing rules Resolves: rhbz#1996731 (8.7.0) - network - bond: fix typo in supporting the infiniband ports in active-backup mode Resolves: rhbz#2064067 (8.7.0) - network - pytest failed when running with nm providers in the rhel-8.5 beaker machine Resolves: rhbz#2065217 (8.7.0) - network - network - consistently use ansible_managed in configuration files managed by role Resolves: rhbz#2065670 (8.7.0) - postfix - postfix - consistently use ansible_managed in configuration files managed by role Resolves: rhbz#2065216 (8.7.0) - postfix - Postfix RHEL System Role should provide the ability to replace config and reset configuration back to default Resolves: rhbz#2065218 (8.7.0) - sshd - FIPS mode detection in SSHD role is wrong Resolves: rhbz#2075338 (8.7.0) - storage - RFE storage Less verbosity by default Resolves: rhbz#2056480 (8.7.0) - timesync - timesync: basic-smoke test failure in timesync/tests_ntp.yml Resolves: rhbz#2060379 (8.7.0) - tlog - Tlog role - Enabling session recording configuration does not work due to RHEL9 SSSD files provider default Resolves: rhbz#2072749 (8.7.0) * Thu Apr 07 2022 Rich Megginson - 1.16.3-1 - tlog - Enabling session recording configuration does not work due to RHEL9 SSSD files provider default Resolves rhbz#2072749 (EL8) Resolves rhbz#2071804 (EL9) * Wed Apr 06 2022 Sergei Petrosian - 1.16.2-2 - Update community.general * Thu Mar 31 2022 Rich Megginson - 1.16.2-1 - nbde_client - NBDE client system role does not support servers with static IP addresses previous fix did not handle some other cases Resolves rhbz#1985022 (EL8) Resolves rhbz#2031555 (EL9) * Tue Mar 29 2022 Rich Megginson - 1.16.1-1 - nbde_client - NBDE client system role does not support servers with static IP addresses previous fix did not handle some cases Resolves rhbz#1985022 (EL8) Resolves rhbz#2031555 (EL9) * Tue Mar 22 2022 Sergei Petrosian - 1.16.0-2 - Update community.general * Tue Mar 15 2022 Rich Megginson - 1.16.0-1 - network - pytest failed when running with nm providers in the rhel-8.5 beaker machine Resolves rhbz#2064396 (EL8) Resolves rhbz#2064401 (EL9) - network - bond: fix typo in supporting the infiniband ports in active-backup modekernel_settings error configobj not found on RHEL 8.6 managed hosts Resolves rhbz#2064388 (EL8) Resolves rhbz#2064391 (EL9) - network - consistently use ansible_managed in configuration files managed by role Resolves rhbz#2057656 (EL8) Resolves rhbz#2057657 (EL9) - metrics - consistently use ansible_managed in configuration files managed by role Resolves rhbz#2057645 (EL8) Resolves rhbz#2057647 (EL9) - postfix - consistently use ansible_managed in configuration files managed by role Resolves rhbz#2057661 (EL8) Resolves rhbz#2057662 (EL9) - postfix - provide the ability to replace config and reset configuration back to default Resolves rhbz#2044657 (EL8) Resolves rhbz#2058780 (EL9) - new tags required in galaxy.yml for Automation Hub * Thu Mar 3 2022 Rich Megginson - 1.15.1-1 - kernel_settings error configobj not found on RHEL 8.6 managed hosts Resolves rhbz#2058772 (EL8) Resolves rhbz#2058756 (EL9) - timesync: basic-smoke test failure in timesync/tests_ntp.yml Resolves rhbz#2059293 (EL8) Resolves rhbz#2058645 (EL9) * Tue Mar 1 2022 Noriko Hosoi - 1.15.0-2 - metrics - follow symlinks for the mssql and elasticsearch configuration paths Resolves rhbz#2058655 (EL8) Resolves rhbz#2058777 (EL9) * Thu Feb 24 2022 Rich Megginson - 1.15.0-1 - firewall - ensure target changes take effect immediately Resolves rhbz#2057172 (EL8) Resolves rhbz#2057164 (EL9) - firewall - Firewall RHEL System Role should be able to set default zone Resolves rhbz#2022458 (EL8) Resolves rhbz#2022461 (EL9) - network - tests_802_1x_nm, tests_802_1x_updated_nm fails because of missing hostapd in EPEL Resolves rhbz#2053862 (EL8) Resolves rhbz#2053861 (EL9) * Mon Feb 14 2022 Rich Megginson - 1.14.0-1 - ha_cluster - set permissions for haclient group Resolves rhbz#2049747 (EL8) Resolves rhbz#2049754 (EL9) - network - Add more bonding options to rhel-system-roles.network Resolves rhbz#2008931 (EL8) Resolves rhbz#2054435 (EL9) - certificate - should consistently use ansible_managed in hook scripts Resolves rhbz#2054364 (EL8) Resolves rhbz#2054368 (EL9) - tlog - consistently use ansible_managed in configuration files managed by role Resolves rhbz#2054363 (EL8) Resolves rhbz#2054367 (EL9) - vpn - consistently use ansible_managed in configuration files managed by role Resolves rhbz#2054365 (EL8) Resolves rhbz#2054369 (EL9) * Tue Feb 8 2022 Rich Megginson - 1.13.1-1 - vpn - template error while templating string: no filter named 'vpn_ipaddr' Resolves rhbz#2052103 (EL8) Resolves rhbz#2050341 (EL9) - kdump - Unable to start service kdump: Job for kdump.service failed because the control process exited with error code. Resolves rhbz#2052105 (EL8) Resolves rhbz#2050419 (EL9) - remove collection dependencies on rhel because we vendor them in * Tue Feb 1 2022 Rich Megginson - 1.13.0-1 - storage - RFE: Add support for RAID volumes (lvm-only) Resolves rhbz#2016514 (EL8) Resolves rhbz#2016518 (EL9) - storage - RFE: Add support for cached volumes (lvm-only) Resolves rhbz#2016511 (EL8) Resolves rhbz#2016517 (EL9) - metrics - metrics role can't be re-run if the Grafana admin password has been changed Resolves rhbz#1967321 (EL8) Resolves rhbz#2041632 (EL9) - nbde_client - NBDE client system role does not support servers with static IP addresses Resolves rhbz#1985022 (EL8) Resolves rhbz#2031555 (EL9) - ha_cluster - [RFE] ha_cluster - Support for creating resource constraints (Location, Ordering, etc.) Resolves rhbz#2041635 (EL8) Resolves rhbz#2041634 (EL9) - firewall - ensure zone exists and can be used in subsequent operations Resolves rhbz#2042541 (EL8) Resolves rhbz#2024775 (EL9) - network - RFE: Support Routing Tables in static routes in Network Role Resolves rhbz#2031521 (EL8) Resolves rhbz#2049798 (EL9) - network - Failure to activate connection: nm-manager-error-quark: No suitable device found for this connection Resolves rhbz#2034908 (EL8) Resolves rhbz#2038957 (EL9) - network - Set DNS search setting only for enabled IP protocols Resolves rhbz#2041627 (EL8) Resolves rhbz#2004899 (EL9) * Thu Jan 27 2022 Rich Megginson - 1.12.0-1 - vpn - use custom vpn_ipaddr filter to make role work on RHEL 8.6 with ansible-core this is covered by "make roles work with ansible-core on all platforms" BZ - logging - Logging role "logging_purge_confs" option not properly working Resolves rhbz#2040812 (EL8) Resolves rhbz#2039106 (EL9) - kernel_settings role should use ansible_managed in its configuration file Resolves rhbz#2047504 (EL8) Resolves rhbz#2047506 (EL9) * Thu Jan 20 2022 Fedora Release Engineering - 1.11.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Tue Dec 14 2021 Rich Megginson - 1.11.0-2 - RHEL8.6, 9 - add "Requires: ansible-core or ansible" * Thu Dec 2 2021 Rich Megginson - 1.11.0-1 - timesync - fix ansible 2.12 issues, service_facts issues Resolves rhbz#2012316 (EL8) Resolves rhbz#2012298 (EL9) - timesync - Failure related to missing ntp/ntpd package/service on RHEL-9 host Resolves rhbz#2029463 (EL9) - logging - add test case for immark quoting issue Resolves rhbz#2021678 (EL8) Resolves rhbz#2021676 (EL9) - cockpit - use existing cert - cockpit_cert, cockpit_private_key Resolves rhbz#2021661 (EL8) Resolves rhbz#2021028 (EL9) - storage - fix ansible 2.12 issues, service_facts issues; workaround lvm, udev issues in tests Resolves rhbz#2012316 (EL8) Resolves rhbz#2012298 (EL9) - ssh - tests_all_options.yml: "assertion": "'StdinNull yes' in config.content | b64decode ", failure Resolves rhbz#2029614 (EL8) Resolves rhbz#2029427 (EL9) - kdump - support reboot required and reboot ok Resolves rhbz#2029605 (EL8) Resolves rhbz#2029602 (EL9) - metrics - sync with latest ansible-pcp Resolves rhbz#2012316 (EL8) Resolves rhbz#2012298 (EL9) - sshd - should detect FIPS mode and handle tasks correctly in FIPS mode Resolves rhbz#1979714 (EL8) Resolves rhbz#2029634 (EL9) * Mon Nov 8 2021 Rich Megginson - 1.10.0-1 - add cockpit role Resolves rhbz#2021661 (EL8) Resolves rhbz#2021028 (EL9) - add firewall role Resolves rhbz#1854988 (EL8) Resolves rhbz#2021665 (EL9) - firewall - add ability to add-source Resolves rhbz#1932678 (EL8) Resolves rhbz#2021667 (EL9) - firewall - allow user defined zones Resolves rhbz#1850768 (EL8) Resolves rhbz#2021669 (EL9) - firewall - allow specifying the zone Resolves rhbz#1850753 (EL8) Resolves rhbz#2021670 (EL9) - updates for ansible 2.12 support Resolves rhbz#2012316 (EL8) Resolves rhbz#2012298 (EL9) - update community.general to 4.0.1 Resolves rhbz#2006081 (EL8) Resolves rhbz#2006076 (EL9) - network - Allow to specify PCI address to configure profiles Resolves rhbz#1695634 (EL8) Resolves rhbz#1999162 (EL9) - network - support wifi Enhanced Open (OWE) Resolves rhbz#1993379 (EL8) Resolves rhbz#1993377 (EL9) - network - support WPA3 Simultaneous Authentication of Equals(SAE) Resolves rhbz#1993311 (EL8) Resolves rhbz#1993304 (EL9) - network - RFE: Support ignoring default gateway retrieved by DHCP/IPv6-RA Resolves rhbz#1897565 (EL8) Resolves rhbz#1978773 (EL9) - network - Update network system role to reflect that network teaming is deprecated in RHEL 9 Resolves rhbz#1897565 (EL8) Resolves rhbz#1999770 (EL9) - selinux - fails linit rules role-name and unnamed-task Resolves rhbz#1974000 (EL8) Resolves rhbz#2021675 (EL9) - kernel_settings - ansible_managed | comment BZs: Resolves rhbz#2006230 (EL9) Resolves rhbz#2006231 (EL8) Resolves rhbz#2006233 (EL7) - logging - logging role missing quotes for immark module interval value Resolves rhbz#2021678 (EL8) Resolves rhbz#2021676 (EL9) - logging - Add user and password Resolves rhbz#2010327 (EL8) Resolves rhbz#1990490 (EL9) - logging - Performance improvement Resolves rhbz#2005727 (EL8) Resolves rhbz#2004303 (EL9) - nbde_client - add regenerate-all to the dracut command Resolves rhbz#2021682 (EL8) Resolves rhbz#2021681 (EL9) - certificate - Fix certificate permissions with "group" option Resolves rhbz#2021683 (EL8) Resolves rhbz#2021025 (EL9) * Tue Aug 31 2021 Rich Megginson - 1.7.3-2 - selinux - tag tests_selinux_disabled.yml with tests::avc (Resolves rhbz#1996315 (EL9)) (Resolves rhbz#1996317 (EL8)) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.7.3-1 - storage - revert the dm-vdo workaround fix for vdo testing (Resolves rhbz#1978488 (EL9)) (Resolves rhbz#1991141 (EL8)) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.7.2-1 - logging - Update the certificates copy tasks (Resolves rhbz#1996777 (EL9)) (Resolves rhbz#1994580 (EL8)) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.7.1-1 - metrics - the bpftrace role does not properly configure bpftrace agent (Resolves rhbz#1994180 (EL9)) (Resolves rhbz#1993240 (EL8)) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.7.0-1 - drop support for Ansible 2.8 - min_ansible_version is now 2.9 (Resolves rhbz#1989197 (EL9)) (Resolves rhbz#1989199 (EL8)) - sshd - fix rhel6 support - failed to validate: error:Missing Match criteria for all Bad Match condition (Resolves rhbz#1991598 (EL9)) (Resolves rhbz#1990947 (EL8)) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.6.7-1 - storage - tests_create_lvmvdo_then_remove fails - Module dm-vdo not found (Resolves rhbz#1991141 (EL8)) (Resolves rhbz#1991062 (EL9)) - storage - Get syntax errors in tests_lvm_errors.yml (Resolves rhbz#1990793 (EL8)) (Resolves rhbz#1991142 (EL9)) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.6.6-1 - logging, certificate - Instead of the archive module, use "tar" command for backup. (Resolves rhbz#1984182 (EL9)) (Resolves rhbz#1987096 (EL8)) - logging - Add a support for list value to server_host in the elasticsearch output (Resolves rhbz#1986460 (EL9)) (Resolves rhbz#1986463 (EL8)) - logging - tests_relp.yml; Can't detect any of the required Python libraries cryptography (>= 1.2.3) or PyOpenSSL (>= 0.6) (Resolves rhbz#1989962 (EL9)) (Resolves rhbz#1990142 (EL8)) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.6.5-1 - kernel_settings - Disable bootloader testing on EL9 (Resolves rhbz#1991017) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.6.4-1 - sshd - support for rhel9 managed hosts (Resolves rhbz#1989221 (EL9)) (Resolves rhbz#1989638 (EL8)) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.6.3-1 - storage - tag tests that use NVME and SCSI (Resolves rhbz#1989211 (EL9)) (Resolves rhbz#1989638 (EL8)) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.6.2-1 - metrics - Grafana dashboard not working after metrics role run unless services manually restarted (Resolves rhbz#1984150 (EL9)) (Resolves rhbz#1978357 (EL8)) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.6.1-1 - network - tests_provider_nm.yml fails with an error: Failure in test 'I can manage a veth interface with NM after I managed it with initscripts. (Resolves rhbz#1935919) - network - _initscripts tests fail because "No package network-scripts available." (Resolves rhbz#1935916) - network - Test tests_bond_initscripts.yml failed to create interface (Resolves rhbz#1980870) - storage - covscan error - DEADCODE - vdopool if create_vdo else parent (Resolves rhbz#1985571 (EL9)) (Resolves rhbz#1985572 (EL8)) - network - network: tests_bond_initscripts.yml leaves behind unusable resolv.conf in CI (Resolves rhbz#1915017) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.6.0-1 - network - Skip tests on RHEL9 that use hostapd (Resolves rhbz#1945348) - network - Fix the bond test on DHCP (Resolves rhbz#1918252) - storage - Add support for percentage-based volume sizes (Resolves rhbz#1984583 (EL9)) (Resolves rhbz#1894642 (EL8)) - storage -storage_test_actual_size != storage_test_requested_size observed with tests_lvm_auto_size_cap.yml (Resolves rhbz#1986284 (EL8)) Related: rhbz#2029621 * Tue Aug 31 2021 Fedora Release Engineering - 1.5.1-1 - Error: device becoming unmanaged and pytest not reproducible in tests_integration_pytest.yl (Resolves rhbz#1985382 (EL9)) (Resolves rhbz#1932699 (EL8)) - EPEL yum repository configuration for tests Rebasing to latest picks up this fix - see rhel7 bz1980439 - connections: workaround DeprecationWarning for NM.SettingEthtool.set_feature() Rebasing to latest picks up this fix Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.5.0-1 - ha_cluster - add pacemaker cluster properties configuration (Resolves rhbz#1982913 (EL8)) (Resolves rhbz#1982906 (EL9)) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.4.3-1 - crypto_policies - rename 'policy modules' to 'subpolicies' (Resolves rhbz#1982896 (EL9)) (Resolves rhbz#1982897 (EL8)) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.4.2-1 - storage - relabel doesn't support - Fixed volume relabeling (Resolves rhbz#1876315 (EL8)) (Resolves rhbz#1982841 (EL9)) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.4.1-1 - network - Re-running the network system role results in "changed: true" when nothing has actually changed (Resolves rhbz#1943384) - network - Test tests_bond_initscripts.yml failed to create interface (Resolves rhbz#1918210) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.4.0-1 - storage - LVMVDO support (Resolves rhbz#1882475) (Resolves rhbz#1978488) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.3.0-1 - ha_cluster - add pacemaker resources configuration (Resolves rhbz#1963283) - ha_cluster - code cleanup (Resolves rhbz#1970666) - Postfix RHEL system role README.md missing variables under the "Role Variables" section (Resolves rhbz#1961858) - logging README.html examples are rendered incorrectly (Resolves rhbz#1962374) - make postfix role idempotent - round 2 (Resolves rhbz#1960375) - selinux task for semanage says Fedora in name but also runs on RHEL/CentOS 8 (Resolves rhbz#1966681) Resolves rhbz#1757857 - metrics role task to enable logging for targeted hosts not working (Resolves rhbz#1967335) - network - Add 'auto_gateway' option (Resolves rhbz#1897565) - network - Only show stderr_lines by default (Resolves rhbz#1970666) - storage - LVMVDO support (Resolves rhbz#1882475) - storage - fix several linter issues (Resolves rhbz#1970666) - ssh - Fix variable precedence when invoked through roles (Resolves rhbz#1966711) - ssh - Update configuration options list for OpenSSH 8.6 (Resolves rhbz#1970666) - sshd - Fix variable precedence when invoked through roles (Resolves rhbz#1966711) - sshd - Update configuration options list for OpenSSH 8.6 (Resolves rhbz#1970666) - sshd - support for appending a snippet to configuration file (Resolves rhbz#1970642) - timesync - add NTS support (Resolves rhbz#1970664) - timesync - rebase to latest (Resolves rhbz#1970666) - nbde_client - rebase to latest (Resolves rhbz#1970666) Related: rhbz#2029621 * Tue Aug 31 2021 Sergei Petrosian - 1.2.3-3 - Make the ansible_collection_files macro defined in Fedora automatically and in RHEL manually consistent - having slash at the end to clean double-slashes * Tue Aug 31 2021 Sergei Petrosian - 1.2.3-2 - Remove slash (/) from the end of URLs to improve code readability * Tue Aug 31 2021 Noriko Hosoi - 1.2.3-1 - Add EL 9 support for timesync and network (Resolves rhbz#1952887) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.2.2-3 - Fix HTML rendering of internal links when using pandoc/asciidoc - Uses pandoc gfm instead of markdown_github (Resolves rhbz#1962976) Related: rhbz#2029621 * Tue Aug 31 2021 Noriko Hosoi - 1.2.2-2 - Make spec file available for older versions of OSes. - Drop python3-six dependency which was used by lsr_role2collection.py. - Drop html files from rpm if the version has no markdown parser. - Drop unnecessary python scripts which include python3 only code, e.g., f-strings. - auto_maintenance - ability to convert "- ROLENAME" to "- FQCN" in the doc files such as README - auto_maintenance - lsr_role2collection.py - Adding encoding="utf-8" to open. (Resolves rhbz#1957876) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.2.2-1 - fix kdump tests_ssh for basic smoke test (Resolves rhbz#1957876) - ha_cluster - cannot read preshared key in binary format (Resolves rhbz#1952620) - Add hybrid_e2e option to PTP domain (Resolves rhbz#1957849) Related: rhbz#2029621 * Tue Aug 31 2021 Noriko Hosoi - 1.2.1-1 - fix logging README.html examples' rendering problems (Resolves rhbz#1962374) - fix broken internal links in README.md files (Resolves rhbz#1962976) Related: rhbz#2029621 * Tue Aug 31 2021 Sergei Petrosian - 1.2.0-2 - Add BuildRequires: rubygem-kramdown for Fedora and RHEL >= 9 * Tue Aug 31 2021 Rich Megginson - 1.2.0-1 - rebase roles to latest upstream (Resolves rhbz#1957876) - use FQRN in postfix README (Resolves rhbz#1958963) - use relayhost in postfix README (Resolves rhbz#1866544) - network - Add support for ETHTOOL Ring option (Resolves rhbz#1959649) - storage: calltrace observed when set type: partition for storage_pools (Resolves rhbz#1854187) Related: rhbz#2029621 * Tue Aug 31 2021 Noriko Hosoi - 1.1.0-2 - Dependencies in the collection packaging (Resolves rhbz#1954747) Related: rhbz#2029621 * Tue Aug 31 2021 Rich Megginson - 1.1.0-1 - rebase timesync role to latest upstream (Resolves rhbz#1937938) - timesync - add timesync_chrony_custom_settings variable for free-form local configs (Resolves rhbz#1938023) - do not use ignore_errors in timesync role (Resolves rhbz#1938014) - support for timesync_max_distance to configure maxdistance/maxdist parameter (Resolves rhbz#1938016) - support for ntp xleave, filter, and hw timestamping (Resolves rhbz#1938020) - rebase selinux role to latest upstream (Resolves rhbz#1937938) - should not reload the SELinux policy if its not changed (Resolves rhbz#1757869) - Ability to install custom SELinux module via Ansible (Resolves rhbz#1848683) - rebase storage role to latest upstream (Resolves rhbz#1937938) - rebase network role to latest upstream (Resolves rhbz#1937938) - support for ipv6_disabled to disable ipv6 for address (Resolves rhbz#1939711) - rebase postfix role to latest upstream (Resolves rhbz#1937938) - rebase metrics role to latest upstream (Resolves rhbz#1937938) - rebase sshd role to latest upstream (Resolves rhbz#1937938) - rebase remaining roles to latest upstream (Resolves rhbz#1937938) - Generate %%files dynamically - add vpn role (Resolves rhbz#1943679) Related: rhbz#2029621 * Tue Aug 31 2021 Noriko Hosoi - 1.0.1-5 - README.html files (main README for the collection and README for each role) are not located in /usr/share/ansible/collections, but just put in /usr/share/doc/linux-system-roles/collection in rpm. - The README.html files are not included in the collection artifact. - Fixing "sshd role README.md examples use incorrect role name". Related: rhbz#2029621 * Tue Aug 31 2021 Noriko Hosoi - 1.0.1-5 - Adding the -collection-artifact subpackage, enabled using "--with collection_artifact". It is used for importing to ansible galaxy/automation hub. Related: rhbz#2029621 * Tue Aug 31 2021 Noriko Hosoi - 1.0.1-5 - Start synchronizing with 8.5.0 Related: rhbz#2029621 * Tue Aug 31 2021 Noriko Hosoi - 1.0.1-5 - Respin for the next extra-rhel-7.9 release with bz1999708. Related: rhbz#1999708 * Fri Jul 23 2021 Noriko Hosoi - 1.0.1-4 - Remove unnecessary dependency on python3-netaddr Related: rhbz#1970165 * Fri Jul 16 2021 Noriko Hosoi - 1.0.1-3 - Fix the tier1 test failure in network due to the epel repo not enabled. Related: rhbz#1970165 * Wed Jul 7 2021 Noriko Hosoi - 1.0.1-2 - Fix an invalid indentation in the spec file. Related: rhbz#1970165 - Mention bz1854189 here as it was fixed in backporting rhel-8.4.0. Related: rhbz#1854189 - Remove gating.yaml which was introduced in backporting rhel-8.4.0. Related: rhbz#197016 * Tue Jun 29 2021 Noriko Hosoi - 1.0.1-1 - Synchronize roles with rhel-8.4.0. Update roles kdump, selinux, timesync, network, and storage. Add new roles metrics, tlog, kernel_settings, logging, nbde_server, nbde_client, certificate, crypto_policies, sshd, ssh, and ha_cluster. - Synchronize spec file with rawhide's up to commit 6218fe9. Related: rhbz#1970165 * Tue Jun 9 2020 Pavel Cahyna - 1.0-12 - Rebase the network role Resolves rhbz#1767177, rhbz#1842605, rhbz#1789813, rhbz#1724280 - Tag tests suitable for Tier1 testing, rhbz#1732085 In network role, do not use the tier1 tags, won't be needed. - Fix or workaround test problems in network role, rhbz#1842614, rhbz#1842619, rhbz#1842621 - Set _python_bytecompile_errors_terminate_build to 0, otherwise brp-python-bytecompile chokes on network/tests/ensure_provider_tests.py * Wed Jan 15 2020 Pavel Cahyna - 1.0-10 - Update tests for the network role - Fix typo in a test for the timesync role - Rebase the network role to add support for device features (PR#115, rhbz#1696703) and atomic changes (PR#119, rhbz#1695161) - Add the storage role - Depend on python-jmespath as Ansible>2.8 will not ship it, rhbz#1774096 * Mon Jun 3 2019 Pavel Cahyna - 1.0-8 - Rebase the selinux role, fixes typo in tests, uncovered by Ansible 2.7, (rhbz#1651285) and lists all input variables of the selinux role in defaults to make Satellite aware of them (rhbz#1674000, PR#43) - Rebase the kdump role to fix check mode problems: rhbz#1716689 - Rebase the timesync role: fixes check mode problems (rhbz#1716689) and lists all input variables in defaults (rhbz#1674000) - Rebase the network role: keeps the interface up for state: up if persistent_state is absent and solves problems with defining VLAN and MACVLAN interface types (issue #19) (rhbz#1686866) * Mon May 13 2019 Pavel Cahyna - 1.0-7 - kdump: copy the dump target's public host key to the managed node known_hosts PR #22, rhbz#1651342 * Tue Nov 6 2018 Pavel Cahyna - 1.0-5 - spec file improvement: Unify the source macros with deftag() and defcommit() - Update to upstream released versions and drop unnecessary patches. - Unify the spec file with Fedora (no functional changes intended). - Misc spec file comments fixes (by Mike DePaulo) - Fix rpmlint error by escaping a previous changelog entry with a macro (by Mike DePaulo) - Comply with Fedora guidelines by always using "cp -p" in %%install (by Mike DePaulo) - Rebase network role - doc improvements, Fedora 29 and Ansible 2.7 support - Regenerate network role patch to apply without offset - Rebase kdump role to fix a forgotten edit, rhbz#1645633 - Update timesync examples: add var prefix (rhbz#1642152), correct role prefix * Thu Aug 16 2018 Pavel Cahyna - 1.0-4 - Add Obsoletes for the -techpreview subpackage * Thu Aug 16 2018 Pavel Cahyna - 1.0-3 - Add warnings to role READMEs and other doc updates, rhbz#1616018 - network: split the state setting into state and persistent_state, rhbz#1616014 - Undo the -techpreview subpackage introduced in 1.0-1, rhbz#1616015 * Thu Aug 2 2018 Pavel Cahyna - 1.0-2 - Rebase the network role to the last revision (d866422). Many improvements to tests, introduces autodetection of the current provider and defaults to using profile name as interface name. - Update the description. * Wed Aug 1 2018 Pavel Cahyna - 1.0-1 - Rebase the selinux, timesync and kdump roles to their 1.0rc1 versions. Many changes to the role interfaces to make them more consistent and conforming to Ansible best practices. - Split the postfix role into a -techpreview subpackage, we do not consider it stable yet. * Wed Mar 14 2018 Pavel Cahyna - 0.6-3 - Minor corrections of the previous change by Till Maas. * Fri Mar 9 2018 Pavel Cahyna - 0.6-2 - Document network role options: static routes, ethernet, dns Upstream PR#36, bz1550128, documents bz1487747 and bz1478576 * Tue Jan 30 2018 Pavel Cahyna - 0.6-1 - Drop hard dependency on ansible (#1525655), patch from Yaakov Selkowitz - Update the network role to version 0.4, solves bz#1487747, bz#1478576 * Tue Dec 19 2017 Pavel Cahyna - 0.5-3 - kdump: fix the wrong conditional for ssh checking and improve test (PR#10) * Tue Nov 07 2017 Pavel Cahyna - 0.5-2 - kdump: add ssh support. upstream PR#9, rhbz1478707 * Tue Oct 03 2017 Pavel Cahyna - 0.5-1 - SELinux: fix policy reload when SELinux is disabled on CentOS/RHEL 6 (bz#1493574) - network: update to b856c7481bf5274d419f71fb62029ea0044b3ec1 : makes the network role idempotent (bz#1476053) and fixes manual network provider selection (bz#1485074). * Mon Aug 28 2017 Pavel Cahyna - 0.4-1 - network: update to b9b6f0a7969e400d8d6ba0ac97f69593aa1e8fa5: ensure that state:absent followed by state:up works (bz#1478910), and change the example IP adresses to the IANA-assigned ones. - SELinux: fix the case when SELinux is disabled (bz#1479546). * Tue Aug 8 2017 Pavel Cahyna - 0.3-2 - We can't change directories to symlinks (rpm bug #447156) so keep the old names and create the new names as symlinks. * Tue Aug 8 2017 Pavel Cahyna - 0.3-1 - Change the prefix to linux-system-roles., keeping compatibility symlinks. - Update the network role to dace7654feb7b5629ded0734c598e087c2713265: adds InfiniBand support and other fixes. - Drop a patch included upstream. * Mon Jun 26 2017 Pavel Cahyna - 0.2-2 - Leave a copy of README and COPYING in every role's directory, as suggested by T. Bowling. - Move the network example inventory to the documentation directory together. with the example playbooks and delete the now empty "examples" directory. - Use proper reserved (by RFC 7042) MAC addresses in the network examples. * Tue Jun 6 2017 Pavel Cahyna - 0.2-1 - Update the networking role to version 0.2 (#1459203) - Version every role and the package separately. They live in separate repos and upstream release tags are not coordinated. * Mon May 22 2017 Pavel Cahyna - 0.1-2 - Prefix the roles in examples and documentation with rhel-system-roles. * Thu May 18 2017 Pavel Cahyna - 0.1-1 - Update to 0.1 (first upstream release). - Remove the tuned role, it is not ready yet. - Move the example playbooks to /usr/share/doc/rhel-system-roles/$SUBSYSTEM directly to get rid of an extra directory. - Depend on ansible. * Thu May 4 2017 Pavel Cahyna - 0-0.1.20170504 - Initial release. - kdump r. fe8bb81966b60fa8979f3816a12b0c7120d71140 - postfix r. 43eec5668425d295dce3801216c19b1916df1f9b - selinux r. 1e4a21f929455e5e76dda0b12867abaa63795ae7 - timesync r. 33a1a8c349de10d6281ed83d4c791e9177d7a141 - tuned r. 2e8bb068b9815bc84287e9b6dc6177295ffdf38b - network r. 03ff040df78a14409a0d89eba1235b8f3e50a750