Blame SPECS/linux-system-roles.spec

f653c7
# NOTE: Even though ansible-core is in 8.6, it is only available
f653c7
# at *runtime*, not at *buildtime* - so we can't have
f653c7
# ansible-core as a build_dep on RHEL8
f653c7
%if 0%{?fedora} || 0%{?rhel} >= 9
f653c7
%bcond_without ansible
f653c7
%global ansible_build_dep ansible-core >= 2.11.0
f653c7
%else
f653c7
%if 0%{?rhel} && ! 0%{?epel}
f653c7
%bcond_with ansible
f653c7
%else
f653c7
%bcond_without ansible
f653c7
%global ansible_build_dep ansible >= 2.9.10
f653c7
%endif
f653c7
%endif
f653c7
f653c7
%bcond_with collection_artifact
f653c7
f653c7
%if 0%{?fedora} || 0%{?rhel} >= 8
f653c7
%bcond_without html
f653c7
%else
f653c7
# pandoc is not supported in rhel 7 and older,
f653c7
# which is needed for converting .md to .html.
f653c7
%bcond_with html
f653c7
%endif
f653c7
f653c7
%if 0%{?rhel}
f653c7
Name: rhel-system-roles
f653c7
%else
f653c7
Name: linux-system-roles
f653c7
%endif
f653c7
Url: https://github.com/linux-system-roles
f653c7
Summary: Set of interfaces for unified system management
0f057d
Version: 1.20.1
0f057d
Release: 1%{?dist}
f653c7
f653c7
#Group: Development/Libraries
f653c7
License: GPLv3+ and MIT and BSD and Python
f653c7
%global installbase %{_datadir}/linux-system-roles
f653c7
%global _pkglicensedir %{_licensedir}/%{name}
f653c7
%global rolealtprefix linux-system-roles.
f653c7
%global roleprefix %{name}.
f653c7
%global roleinstprefix %{nil}
f653c7
%global rolealtrelpath ../../linux-system-roles/
f653c7
%if 0%{?rhel}
f653c7
%global roleinstprefix %{roleprefix}
f653c7
%global installbase %{_datadir}/ansible/roles
f653c7
%global rolealtrelpath %{nil}
f653c7
%endif
f653c7
f653c7
%if 0%{?rhel}
f653c7
%global collection_namespace redhat
f653c7
%global collection_name rhel_system_roles
f653c7
%else
f653c7
%global collection_namespace fedora
f653c7
%global collection_name linux_system_roles
f653c7
%endif
f653c7
f653c7
%global collection_version %{version}
f653c7
f653c7
# Helper macros originally from macros.ansible by Igor Raits <ignatenkobrain>
f653c7
# Not available on RHEL, so we must define those macros locally here without using ansible-galaxy
f653c7
f653c7
# Not used (yet). Could be made to point to AH in RHEL - but what about CentOS Stream?
f653c7
#%%{!?ansible_collection_url:%%define ansible_collection_url() https://galaxy.ansible.com/%%{collection_namespace}/%%{collection_name}}
f653c7
f653c7
%if 0%{?fedora} || 0%{?rhel} >= 8
f653c7
%{!?ansible_collection_files:%define ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/}
f653c7
%else
f653c7
# Define undefined macro using "!?ansible_collection_files:..." does not work for rhel-7
f653c7
%if %{?ansible_collection_files:0}%{!?ansible_collection_files:1}
f653c7
%define ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/
f653c7
%endif
f653c7
%endif
f653c7
f653c7
# ansible-core is in rhel 8.6 and later - default to ansible-core, but allow
f653c7
# the use of ansible if present - we may revisit this if the automatic dependency
f653c7
# generator is added to ansible-core in RHEL
f653c7
# Fedora - the automatic generator will add this - no need to explicit declare
f653c7
# it in the spec file
f653c7
# EL7 - no dependency on ansible because there is no ansible in el7 - user is
f653c7
# responsible for knowing they have to install ansible
f653c7
%if 0%{?rhel} >= 8
f653c7
Requires: (ansible-core >= 2.11.0 or ansible >= 2.9.0)
f653c7
%endif
f653c7
f653c7
%if %{with ansible}
f653c7
BuildRequires: %{ansible_build_dep}
f653c7
%endif
f653c7
f653c7
%if %{without ansible}
f653c7
# We don't have ansible-galaxy.
f653c7
# Simply copy everything instead of galaxy-installing the built artifact.
f653c7
%define ansible_collection_build_install() tar -cf %{_tmppath}/%{collection_namespace}-%{collection_name}-%{version}.tar.gz .; mkdir -p %{buildroot}%{ansible_collection_files}%{collection_name}; (cd %{buildroot}%{ansible_collection_files}%{collection_name}; tar -xf %{_tmppath}/%{collection_namespace}-%{collection_name}-%{version}.tar.gz)
f653c7
%else
f653c7
%define ansible_collection_build_install() ansible-galaxy collection build; ansible-galaxy collection install -n -p %{buildroot}%{_datadir}/ansible/collections %{collection_namespace}-%{collection_name}-%{version}.tar.gz
f653c7
%endif
f653c7
f653c7
# For each role, call either defcommit() or deftag(). The other macros
f653c7
# (%%id and %%shortid) can be then used in the same way in both cases.
f653c7
# This way  the rest of the spec file des not need to know whether we are
f653c7
# dealing with a tag or a commit.
f653c7
%global archiveext tar.gz
f653c7
# list of role names
f653c7
%global rolenames %nil
f653c7
# list of assignments that can be used to populate a bash associative array variable
f653c7
%global rolestodir %nil
f653c7
%define getarchivedir() %(p=%{basename:%{S:%{1}}}; echo ${p%%.%{archiveext}})
f653c7
f653c7
%define defcommit() %{expand:%%global ref%{1} %{2}
f653c7
%%global shortcommit%{1} %%(c=%%{ref%{1}}; echo ${c:0:7})
f653c7
%%global extractdir%{1} %%{expand:%%getarchivedir %{1}}
f653c7
%%{!?repo%{1}:%%global repo%{1} %%{rolename%{1}}}
f653c7
%%global archiveurl%{1} %%{?forgeorg%{1}}%%{!?forgeorg%{1}:%%{url}}/%%{repo%{1}}/archive/%%{ref%{1}}/%%{repo%{1}}-%%{ref%{1}}.tar.gz
f653c7
%%global rolenames %%{?rolenames} %%{rolename%{1}}
f653c7
%%global roletodir%{1} [%{rolename%{1}}]="%{extractdir%{1}}"
f653c7
%%global rolestodir %%{?rolestodir} %{roletodir%{1}}
f653c7
}
f653c7
f653c7
%define deftag() %{expand:%%global ref%{1} %{2}
f653c7
%%global extractdir%{1} %%{expand:%%getarchivedir %{1}}
f653c7
%%{!?repo%{1}:%%global repo%{1} %%{rolename%{1}}}
f653c7
%%global archiveurl%{1} %%{?forgeorg%{1}}%%{!?forgeorg%{1}:%%{url}}/%%{repo%{1}}/archive/%%{ref%{1}}/%%{repo%{1}}-%%{ref%{1}}.tar.gz
f653c7
%%global rolenames %%{?rolenames} %%{rolename%{1}}
f653c7
%%global roletodir%{1} [%{rolename%{1}}]="%{extractdir%{1}}"
f653c7
%%global rolestodir %%{?rolestodir} %%{roletodir%{1}}
f653c7
}
f653c7
f653c7
#%%defcommit 1 14314822b529520ac12964e0d2938c4bb18ab895
f653c7
%global rolename1 postfix
0f057d
%deftag 1 1.2.4
f653c7
f653c7
#%%defcommit 2 9fe6eb36772e83b53dcfb8ceb73608fd4f72eeda
f653c7
%global rolename2 selinux
0f057d
%deftag 2 1.4.0
f653c7
f653c7
#%%defcommit 3 cbe4bf262bffae3bf53e531662237741954c4182
f653c7
%global rolename3 timesync
0f057d
%deftag 3 1.6.9
f653c7
f653c7
#%%defcommit 4 02fc72b482e165472624b2f68eecd2ddce1d93b1
f653c7
%global rolename4 kdump
0f057d
%deftag 4 1.2.5
f653c7
0f057d
#%%defcommit 5 a74092634adfe45f76cf761138abab1811692b4b
f653c7
%global rolename5 network
0f057d
%deftag 5 1.9.1
f653c7
f653c7
#%%defcommit 6 50d2b8ccc98a8f4cb9d1d550d21adc227181e9fa
f653c7
%global rolename6 storage
0f057d
%deftag 6 1.9.1
f653c7
f653c7
#%%defcommit 7 d57caa8ca506d8cbc7ca0f96f7cb62b7e965f163
f653c7
%global rolename7 metrics
0f057d
%deftag 7 1.7.3
f653c7
f653c7
#%%defcommit 8 2b9e53233ee3a68bdb532e62f289733e436a6106
f653c7
%global rolename8 tlog
0f057d
%deftag 8 1.2.9
f653c7
f653c7
#%%defcommit 9 9373303b98e09ef38df7afc8d06e5e55812096c7
f653c7
%global rolename9 kernel_settings
0f057d
%deftag 9 1.1.10
f653c7
f653c7
#%%defcommit 10 20dd3e5520ca06dcccaa9b3f1fb428d055e0c23f
f653c7
%global rolename10 logging
0f057d
%deftag 10 1.10.0
f653c7
f653c7
#%%defcommit 11 c57d0b1f3384c525738fa26ba4bdca485e162567
f653c7
%global rolename11 nbde_server
0f057d
%deftag 11 1.1.5
f653c7
f653c7
#%%defcommit 12 bef2fad5e365712d1f40e53662490ba2550a253f
f653c7
%global rolename12 nbde_client
0f057d
%deftag 12 1.2.6
f653c7
f653c7
#%%defcommit 13 310fc53db04e8d3134524afb7a89b0477a2ffb83
f653c7
%global rolename13 certificate
0f057d
%deftag 13 1.1.6
f653c7
f653c7
#%%defcommit 14 b2a9857ac661fa32e66666e444b73bfdb34cdf95
f653c7
%global rolename14 crypto_policies
0f057d
%deftag 14 1.2.6
f653c7
f653c7
%global forgeorg15 https://github.com/willshersystems
f653c7
%global repo15 ansible-sshd
f653c7
%global rolename15 sshd
0f057d
%defcommit 15 9766d9097a87a130d4c8abde2247aaad5c925ecf
0f057d
#%%deftag 15 v0.15.1
f653c7
f653c7
#%%defcommit 16 59b9fd7b25607d8bd33bdb082748955f2652846a
f653c7
%global rolename16 ssh
0f057d
%deftag 16 1.1.9
f653c7
f653c7
#%%defcommit 17 f901239cb91878719c9e7461760ef8d4789d626d
f653c7
%global rolename17 ha_cluster
0f057d
%deftag 17 1.7.4
f653c7
f653c7
#%%defcommit 18 5f6cb73e6753fbdbb219b7d3079f0378b2d3bdb3
f653c7
%global rolename18 vpn
0f057d
%deftag 18 1.3.5
f653c7
f653c7
%global rolename19 firewall
0f057d
%deftag 19 1.4.0
f653c7
f653c7
%global rolename20 cockpit
0f057d
%deftag 20 1.3.0
f653c7
0f057d
%global mainid c22eff88d40972158cd5c413b7468b4e904cc76c
f653c7
Source: %{url}/auto-maintenance/archive/%{mainid}/auto-maintenance-%{mainid}.tar.gz
f653c7
Source1: %{archiveurl1}
f653c7
Source2: %{archiveurl2}
f653c7
Source3: %{archiveurl3}
f653c7
Source4: %{archiveurl4}
f653c7
Source5: %{archiveurl5}
f653c7
Source6: %{archiveurl6}
f653c7
Source7: %{archiveurl7}
f653c7
Source8: %{archiveurl8}
f653c7
Source9: %{archiveurl9}
f653c7
Source10: %{archiveurl10}
f653c7
Source11: %{archiveurl11}
f653c7
Source12: %{archiveurl12}
f653c7
Source13: %{archiveurl13}
f653c7
Source14: %{archiveurl14}
f653c7
Source15: %{archiveurl15}
f653c7
Source16: %{archiveurl16}
f653c7
Source17: %{archiveurl17}
f653c7
Source18: %{archiveurl18}
f653c7
Source19: %{archiveurl19}
f653c7
Source20: %{archiveurl20}
f653c7
f653c7
# Collection tarballs from Automation Hub
f653c7
# Not used on Fedora.
0f057d
Source801: ansible-posix-1.4.0.tar.gz
f653c7
f653c7
# Collection tarballs from Galaxy
f653c7
# Not used on Fedora.
0f057d
Source901: community-general-5.4.0.tar.gz
0f057d
0f057d
# changelog is auto generated on Fedora
0f057d
Source996: CHANGELOG.md
0f057d
0f057d
# Script to convert spec %changelog into collection CHANGELOG.md
0f057d
# only used on Fedora
0f057d
Source997: spec-to-changelog-md.sh
f653c7
f653c7
# Script to convert the collection README to Automation Hub.
f653c7
# Not used on Fedora.
f653c7
Source998: collection_readme.sh
f653c7
f653c7
Patch51: network-disable-bondtests.diff
f653c7
0f057d
Patch1501: 0001-sshd-Add-final-version-of-RequiredRSASize.patch
d75841
0f057d
Patch1601: 0001-ssh-Add-final-version-of-the-option-RequiredRSASize-53.patch
e07c80
f653c7
BuildArch: noarch
f653c7
f653c7
%if %{with html}
f653c7
# Requirements for md2html.sh to build the documentation
f653c7
%if 0%{?fedora} || 0%{?rhel} >= 9
f653c7
BuildRequires: rubygem-kramdown-parser-gfm
f653c7
%else
f653c7
BuildRequires: pandoc
f653c7
BuildRequires: asciidoc
f653c7
BuildRequires: highlight
f653c7
%endif
f653c7
%endif
f653c7
f653c7
# Requirements for galaxy_transform.py
f653c7
BuildRequires: python3
f653c7
%if 0%{?fedora} || 0%{?rhel} >= 8
f653c7
BuildRequires: %{py3_dist ruamel.yaml}
f653c7
%else
f653c7
BuildRequires: python3-ruamel-yaml
f653c7
%endif
f653c7
f653c7
Obsoletes: rhel-system-roles-techpreview < 1.0-3
f653c7
f653c7
%if %{undefined __ansible_provides}
f653c7
Provides: ansible-collection(%{collection_namespace}.%{collection_name}) = %{collection_version}
f653c7
%endif
f653c7
# be compatible with the usual Fedora Provides:
f653c7
Provides: ansible-collection-%{collection_namespace}-%{collection_name} = %{version}-%{release}
f653c7
f653c7
# We need to put %%description within the if block to avoid empty
f653c7
# lines showing up.
f653c7
%if 0%{?rhel}
f653c7
%description
f653c7
Collection of Ansible roles and modules that provide a stable and
f653c7
consistent configuration interface for managing multiple versions
f653c7
of Red Hat Enterprise Linux.
f653c7
%else
f653c7
%description
f653c7
Collection of Ansible roles and modules that provide a stable and
f653c7
consistent configuration interface for managing multiple versions
f653c7
of Fedora, Red Hat Enterprise Linux & CentOS.
f653c7
%endif
f653c7
f653c7
%if %{with collection_artifact}
f653c7
%package collection-artifact
f653c7
Summary: Collection artifact to import to Automation Hub / Ansible Galaxy
f653c7
f653c7
%description collection-artifact
f653c7
Collection artifact for %{name}. This package contains %{collection_namespace}-%{collection_name}-%{version}.tar.gz
f653c7
%endif
f653c7
f653c7
%prep
f653c7
%setup -q -a1 -a2 -a3 -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11 -a12 -a13 -a14 -a15 -a16 -a17 -a18 -a19 -a20 -n %{getarchivedir 0}
f653c7
f653c7
for file in %_sourcedir/*.tar.gz; do
f653c7
    if [[ "$file" =~ %_sourcedir/([^-]+)-([^-]+)-(.+).tar.gz ]]; then
f653c7
        ns=${BASH_REMATCH[1]}
f653c7
        name=${BASH_REMATCH[2]}
f653c7
        ver=${BASH_REMATCH[3]}
f653c7
        mkdir -p .external/$ns/$name
f653c7
        pushd .external/$ns/$name > /dev/null
f653c7
        tar xfz "$file"
f653c7
        popd > /dev/null
f653c7
    fi
f653c7
done
f653c7
f653c7
declare -A ROLESTODIR=(%{rolestodir})
f653c7
for rolename in %{rolenames}; do
f653c7
    dir_from_archive="${ROLESTODIR[${rolename}]}"
f653c7
    if [ ! -d "$dir_from_archive" ]; then
f653c7
        # ansible-sshd uses tags like vX.Y.Z
f653c7
        # using the github archive/ link with a tag like this strips
f653c7
        # the leading v from the tag used to construct the directory
f653c7
        # name in the archive
f653c7
        if [[ "$dir_from_archive" =~ %{repo15}-v([0-9]+[.][0-9]+.*) ]]; then
f653c7
            dir_from_archive="%{repo15}-${BASH_REMATCH[1]}"
f653c7
        fi
f653c7
    fi
f653c7
    mv "$dir_from_archive" ${rolename}
f653c7
done
f653c7
f653c7
cd %{rolename2}/tests
f653c7
# this test causes avcs we want to ignore
f653c7
sed -r -i -e '/hosts: all/a\
f653c7
  tags:\
f653c7
    - tests::avc' tests_selinux_disabled.yml
f653c7
cd ../..
f653c7
f653c7
cd %{rolename5}
f653c7
%patch51 -p1
f653c7
cd ..
f653c7
cd %{rolename15}
0f057d
find -P tests examples -name \*.yml | while read file; do
0f057d
  sed -r -i -e "s/ansible-sshd/linux-system-roles.sshd/" \
0f057d
     -e "s/ willshersystems.sshd/ linux-system-roles.sshd/" "$file"
0f057d
done
0f057d
sed -r -i -e "s/ willshersystems.sshd/ linux-system-roles.sshd/" README.md
f653c7
sed -r -i -e "s/min_ansible_version: 2.8/min_ansible_version: 2.9/" meta/main.yml
f653c7
cd ..
f653c7
f653c7
cd %{rolename7}
f653c7
# metrics roles dir is a symlink to the vendored dir.
f653c7
# rpm upgrade doesn't like the symlink.  Replace the
f653c7
# symlink with the real dir
f653c7
rolesdir=$(pwd)/roles
f653c7
realrolesdir=$(realpath "$rolesdir")
f653c7
if [ "$rolesdir" != "$realrolesdir" ]; then
f653c7
    rm -rf roles
f653c7
    mv "$realrolesdir" .
f653c7
    rm -rf vendor
f653c7
fi
f653c7
cd ..
f653c7
0f057d
cd %{rolename15}
0f057d
%patch1501 -p1
0f057d
cd ..
0f057d
0f057d
cd %{rolename16}
0f057d
%patch1601 -p1
0f057d
cd ..
0f057d
f653c7
%if 0%{?rhel}
f653c7
# Unpack tar.gz to retrieve to be vendored modules and place them in the roles library.
f653c7
# ansible.posix:
f653c7
#   - library:
f653c7
#     - Module selinux and seboolean for the selinux role
f653c7
#     - Module mount for the storage role
f653c7
declare -A module_map=( ["selinux.py"]="selinux" ["seboolean.py"]="selinux"  ["mount.py"]="storage" )
f653c7
for module in "${!module_map[@]}"; do
f653c7
  role="${module_map[${module}]}"
f653c7
  if [ ! -d $role/library ]; then
f653c7
    mkdir $role/library
f653c7
  fi
f653c7
  cp -pL .external/ansible/posix/plugins/modules/$module $role/library/$module
f653c7
  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
f653c7
done
f653c7
f653c7
# ansible.posix:
f653c7
#   - module_utils:
f653c7
#     - Module_util mount for the storage role
f653c7
module_map=( ["mount.py"]="storage" )
f653c7
for module in "${!module_map[@]}"; do
f653c7
  role="${module_map[${module}]}"
f653c7
  if [ ! -d $role/module_utils/${role}_lsr ]; then
f653c7
    mkdir -p $role/module_utils/${role}_lsr
f653c7
  fi
f653c7
  cp -pL .external/ansible/posix/plugins/module_utils/$module $role/module_utils/${role}_lsr/$module
f653c7
  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
f653c7
done
f653c7
f653c7
# community.general:
f653c7
#   - library:
f653c7
#     - Module seport, sefcontext and selogin for the selinux role rolename2
f653c7
#     - Module ini_file for role tlog
f653c7
module_map=( ["seport.py"]="selinux" ["sefcontext.py"]="selinux"  ["selogin.py"]="selinux" ["ini_file.py"]="tlog" )
f653c7
for module in "${!module_map[@]}"; do
f653c7
  role="${module_map[${module}]}"
f653c7
  if [ ! -d $role/library ]; then
f653c7
    mkdir $role/library
f653c7
  fi
0f057d
  # version 5.x seems to be broken?
0f057d
  moduledir=.external/community/general/plugins/modules
0f057d
  if [ ! -f $moduledir/$module ]; then
0f057d
    moduledir=.external/community/general/plugins/modules/system
0f057d
  fi
0f057d
  if [ ! -f $moduledir/$module ]; then
0f057d
    moduledir=.external/community/general/plugins/modules/files
0f057d
  fi
0f057d
  cp -pL $moduledir/$module $role/library/$module
f653c7
  ls -alrtF $role/library/$module
f653c7
  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
f653c7
done
f653c7
%endif
f653c7
f653c7
# Replacing "linux-system-roles.rolename" with "rhel-system-roles.rolename" in each role
f653c7
%if "%{roleprefix}" != "linux-system-roles."
f653c7
for rolename in %{rolenames}; do
f653c7
    find $rolename -type f -exec \
f653c7
         sed "s/linux-system-roles[.]${rolename}\\>/%{roleprefix}${rolename}/g" -i {} \;
f653c7
done
f653c7
%endif
f653c7
f653c7
# Removing symlinks in tests/roles
f653c7
for rolename in %{rolenames}; do
f653c7
    if [ -d ${rolename}/tests/roles ]; then
f653c7
        find ${rolename}/tests/roles -type l -exec rm {} \;
f653c7
        if [ -d ${rolename}/tests/roles/linux-system-roles.${rolename} ]; then
f653c7
            rm -r ${rolename}/tests/roles/linux-system-roles.${rolename}
f653c7
        fi
f653c7
    fi
f653c7
done
f653c7
rm %{rolename5}/tests/modules
f653c7
rm %{rolename5}/tests/module_utils
f653c7
rm %{rolename5}/tests/playbooks/roles
f653c7
# Drop network/{scripts/print_all_options.py,tests/ensure_provider_tests.py}
f653c7
# from rpm. These 2 files fail in brp-python-bytecompile due to f-strings
f653c7
# when python2 is default python.
f653c7
rm %{rolename5}/scripts/print_all_options.py
f653c7
rm %{rolename5}/tests/ensure_provider_tests.py
f653c7
# Drop storage tests/scripts
f653c7
rm -rf %{rolename6}/tests/scripts
f653c7
f653c7
# transform ambiguous #!/usr/bin/env python shebangs to python3 to stop brp-mangle-shebangs complaining
f653c7
find -type f -executable -name '*.py' -exec \
f653c7
     sed -i -r -e '1s@^(#! */usr/bin/env python)(\s|$)@#\13\2@' '{}' +
f653c7
f653c7
%build
f653c7
%if %{with html}
f653c7
readmes=""
f653c7
for role in %{rolenames}; do
f653c7
    readmes="${readmes} $role/README.md"
f653c7
done
f653c7
sh md2html.sh $readmes
f653c7
%endif
f653c7
f653c7
mkdir .collections
f653c7
%if 0%{?rhel}
f653c7
# Convert the upstream collection readme to the downstream one
f653c7
%{SOURCE998} lsr_role2collection/collection_readme.md
f653c7
./galaxy_transform.py "%{collection_namespace}" "%{collection_name}" "%{collection_version}" \
f653c7
                      "Red Hat Enterprise Linux System Roles Ansible Collection" \
f653c7
                      "https://linux-system-roles.github.io" \
f653c7
                      "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/administration_and_configuration_tasks_using_system_roles_in_rhel" \
f653c7
                      "https://access.redhat.com/articles/3050101" \
f653c7
                      "https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%208&component=rhel-system-roles" \
f653c7
                      > galaxy.yml.tmp
f653c7
# we vendor-in all of the dependencies on rhel, so remove them
f653c7
rm -f lsr_role2collection/collection_requirements.txt
f653c7
# but leave bindep.txt
f653c7
%else
f653c7
./galaxy_transform.py "%{collection_namespace}" "%{collection_name}" "%{collection_version}" \
f653c7
                      "Linux System Roles Ansible Collection" \
f653c7
                      > galaxy.yml.tmp
f653c7
%endif
f653c7
mv galaxy.yml.tmp galaxy.yml
f653c7
f653c7
includes=""
f653c7
for role in %{rolenames}; do
f653c7
    includes="$includes --include $role"
f653c7
%if 0%{?rhel}
f653c7
    # we vendor-in all of the dependencies on rhel, so remove them
0f057d
    rm -f "$role/meta/requirements.yml" "$role/meta/collection-requirements.yml"
f653c7
%endif
f653c7
done
f653c7
f653c7
LANG=en_US.utf-8 LC_ALL=en_US.utf-8 python3 release_collection.py --galaxy-yml galaxy.yml \
f653c7
    --src-path $(pwd) --dest-path $(pwd)/.collections $includes --force --no-update \
f653c7
	--src-owner %{name} --skip-git --skip-check --debug
f653c7
f653c7
# Remove table of contents from logging README.md
f653c7
# It is not needed for html and AH/Galaxy
f653c7
sed -i -e 's/^\(## Table of Contents\)/## Background\n\1/' \
f653c7
  .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/logging/README.md
f653c7
sed -i -e '/^## Table of Contents/,/^## Background/d' \
f653c7
  .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/logging/README.md
f653c7
f653c7
# Remove internal links from readme files
f653c7
# They are not rendered properly on AH.
f653c7
for role in %{rolenames}; do
f653c7
    sed -r -i -e 's/\[([^[]+)\]\(#[^)]+\)/\1/g' \
f653c7
    .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/$role/README.md
f653c7
done
f653c7
0f057d
%if 0%{?rhel}
0f057d
cp %{SOURCE996} \
0f057d
    .collections/ansible_collections/%{collection_namespace}/%{collection_name}/docs/CHANGELOG.md
0f057d
%else
0f057d
# Build the collection CHANGELOG.md
0f057d
%{SOURCE997} %{_specdir}/%{name}.spec \
0f057d
    .collections/ansible_collections/%{collection_namespace}/%{collection_name}/docs/CHANGELOG.md
0f057d
%endif
0f057d
f653c7
%install
f653c7
mkdir -p $RPM_BUILD_ROOT%{installbase}
f653c7
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles
f653c7
f653c7
for role in %{rolenames}; do
f653c7
    cp -pR "$role" "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role"
f653c7
done
f653c7
f653c7
%if 0%{?rolealtprefix:1}
f653c7
for role in %{rolenames}; do
f653c7
    ln -s    "%{rolealtrelpath}%{roleinstprefix}$role"   "$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolealtprefix}$role"
f653c7
done
f653c7
%endif
f653c7
f653c7
mkdir -p $RPM_BUILD_ROOT%{_pkglicensedir}
f653c7
rm $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}network/examples/roles
f653c7
for role in %{rolenames}; do
f653c7
    mkdir -p "$RPM_BUILD_ROOT%{_pkgdocdir}/$role"
0f057d
    cp -p "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/CHANGELOG.md" \
0f057d
       "$RPM_BUILD_ROOT%{_pkgdocdir}/$role"
f653c7
    cp -p "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/README.md" \
f653c7
       "$RPM_BUILD_ROOT%{_pkgdocdir}/$role"
f653c7
%if %{with html}
f653c7
    cp -p "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/README.html" \
f653c7
       "$RPM_BUILD_ROOT%{_pkgdocdir}/$role"
f653c7
%endif
f653c7
    if [ -f "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/COPYING" ]; then
f653c7
        cp -p "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/COPYING" \
f653c7
           "$RPM_BUILD_ROOT%{_pkglicensedir}/$role.COPYING"
f653c7
    fi
f653c7
    if [ -f "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/LICENSE" ]; then
f653c7
        cp -p "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/LICENSE" \
f653c7
           "$RPM_BUILD_ROOT%{_pkglicensedir}/$role.LICENSE"
f653c7
    fi
f653c7
    if [ -d "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples" ]; then
f653c7
        for file in "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples/"*.yml ; do
f653c7
            basename=$(basename "$file" .yml)
f653c7
            newname="$basename"
f653c7
            if [[ "$newname" != example-* ]]; then
f653c7
                newname="example-$newname"
f653c7
            fi
f653c7
            if [[ "$newname" != *-playbook ]]; then
f653c7
                newname="${newname}-playbook"
f653c7
            fi
f653c7
            cp "$file" "$RPM_BUILD_ROOT%{_pkgdocdir}/$role/${newname}.yml"
f653c7
            rm "$file"
f653c7
        done
f653c7
        if [ -f "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples/inventory" ]; then
f653c7
            cp "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples/inventory" \
f653c7
               "$RPM_BUILD_ROOT%{_pkgdocdir}/$role/example-inventory"
f653c7
            rm "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples/inventory"
f653c7
        fi
f653c7
        # special case for network
f653c7
        # this will error if the directory is unexpectedly empty
f653c7
        rmdir "$RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}$role/examples"
f653c7
    fi
f653c7
done
f653c7
f653c7
rm $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}*/semaphore
f653c7
rm -r $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}*/molecule
f653c7
f653c7
rm -r $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}*/.[A-Za-z]*
f653c7
rm $RPM_BUILD_ROOT%{installbase}/%{roleinstprefix}*/tests/.git*
f653c7
f653c7
# NOTE: sshd/examples/example-root-login.yml is
f653c7
# referenced in the configuring-openssh-servers-using-the-sshd-system-role documentation module
f653c7
# must be updated if changing the file path
f653c7
f653c7
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
f653c7
%ansible_collection_build_install
f653c7
popd
f653c7
f653c7
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/collection
f653c7
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles
f653c7
f653c7
cp -p %{buildroot}%{ansible_collection_files}%{collection_name}/README.md \
f653c7
   $RPM_BUILD_ROOT%{_pkgdocdir}/collection
f653c7
f653c7
for rolename in %{rolenames}; do
0f057d
  for file in CHANGELOG.md README.md; do
0f057d
    if [ -f %{buildroot}%{ansible_collection_files}%{collection_name}/roles/${rolename}/$file ]; then
0f057d
      if [ ! -d $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles/${rolename} ]; then
0f057d
        mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles/${rolename}
0f057d
      fi
0f057d
      cp -p %{buildroot}%{ansible_collection_files}%{collection_name}/roles/${rolename}/$file \
f653c7
        $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles/${rolename}
0f057d
    fi
0f057d
  done
f653c7
done
f653c7
f653c7
%if %{with html}
f653c7
# converting README.md to README.html for collection in $RPM_BUILD_ROOT%{_pkgdocdir}/collection
f653c7
readmes="$RPM_BUILD_ROOT%{_pkgdocdir}/collection/README.md"
f653c7
for role in %{rolenames}; do
f653c7
    readmes="${readmes} $RPM_BUILD_ROOT%{_pkgdocdir}/collection/roles/${role}/README.md"
f653c7
done
f653c7
sh md2html.sh $readmes
f653c7
%endif
f653c7
f653c7
%if %{with collection_artifact}
f653c7
# Copy collection artifact to /usr/share/ansible/collections/ for collection-artifact
f653c7
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
f653c7
if [ -f %{collection_namespace}-%{collection_name}-%{version}.tar.gz ]; then
f653c7
    mv %{collection_namespace}-%{collection_name}-%{version}.tar.gz \
f653c7
       $RPM_BUILD_ROOT%{_datadir}/ansible/collections/
f653c7
fi
f653c7
popd
f653c7
%endif
f653c7
f653c7
# generate the %files section in the file files_section.txt
f653c7
format_item_for_files() {
f653c7
    # $1 is directory or file name in buildroot
f653c7
    # $2 - if true, and item is a directory, use %dir
f653c7
    local item
f653c7
    local files_item
f653c7
    item="$1"
f653c7
    files_item=${item##"%{buildroot}"}
f653c7
    if [ -L "$item" ]; then
f653c7
        echo "$files_item"
f653c7
    elif [ -d "$item" ]; then
f653c7
        if [[ "$item" == */doc* ]]; then
f653c7
            echo "%doc $files_item"
f653c7
        elif [ "${2:-false}" = true ]; then
f653c7
            echo "%dir $files_item"
f653c7
        else
f653c7
            echo "$files_item"
f653c7
        fi
0f057d
    elif [[ "$item" == */README.md ]] || [[ "$item" == */README.html ]] || [[ "$item" == */CHANGELOG.md ]]; then
f653c7
        if [[ "$item" == */private_* ]]; then
f653c7
            # mark as regular file, not %doc
f653c7
            echo "$files_item"
f653c7
        else
f653c7
            echo "%doc $files_item"
f653c7
        fi
f653c7
    elif [[ "$item" != */COPYING* ]] && [[ "$item" != */LICENSE* ]]; then
f653c7
        # Avoid dynamically using the license macro since the license macro
f653c7
        # is replaced with the value of License directive in the older rpmbuild.
f653c7
        echo "$files_item"
f653c7
    fi
f653c7
}
f653c7
f653c7
files_section=files_section.txt
f653c7
rm -f $files_section
f653c7
touch $files_section
f653c7
%if %{without ansible}
f653c7
echo '%dir %{_datadir}/ansible' >> $files_section
f653c7
echo '%dir %{_datadir}/ansible/roles' >> $files_section
f653c7
%endif
f653c7
%if "%{installbase}" != "%{_datadir}/ansible/roles"
f653c7
echo '%dir %{installbase}' >> $files_section
f653c7
%endif
f653c7
echo '%dir %{ansible_collection_files}' >> $files_section
f653c7
echo '%dir %{ansible_collection_files}%{collection_name}' >> $files_section
f653c7
find %{buildroot}%{ansible_collection_files}%{collection_name} -mindepth 1 -maxdepth 1 | \
f653c7
    while read item; do
f653c7
        if [[ "$item" == */roles ]]; then
f653c7
            format_item_for_files "$item" true >> $files_section
f653c7
            find "$item" -mindepth 1 -maxdepth 1 | while read roles_dir; do
f653c7
                format_item_for_files "$roles_dir" true >> $files_section
f653c7
                find "$roles_dir" -mindepth 1 -maxdepth 1 | while read roles_item; do
f653c7
                    format_item_for_files "$roles_item" >> $files_section
f653c7
                done
f653c7
            done
f653c7
        else
f653c7
            format_item_for_files "$item" >> $files_section
f653c7
        fi
f653c7
    done
f653c7
f653c7
find %{buildroot}%{installbase} -mindepth 1 -maxdepth 1 | \
f653c7
    while read item; do
f653c7
        if [ -d "$item" ]; then
f653c7
            format_item_for_files "$item" true >> $files_section
f653c7
            find "$item" -mindepth 1 -maxdepth 1 | while read roles_item; do
f653c7
                format_item_for_files "$roles_item" >> $files_section
f653c7
            done
f653c7
        else
f653c7
            format_item_for_files "$item" >> $files_section
f653c7
        fi
f653c7
    done
f653c7
if [ "%{installbase}" != "%{_datadir}/ansible/roles" ]; then
f653c7
    find %{buildroot}%{_datadir}/ansible/roles -mindepth 1 -maxdepth 1 | \
f653c7
        while read item; do
f653c7
            if [ -d "$item" ]; then
f653c7
                format_item_for_files "$item" true >> $files_section
f653c7
                find "$item" -mindepth 1 -maxdepth 1 | while read roles_item; do
f653c7
                    format_item_for_files "$roles_item" >> $files_section
f653c7
                done
f653c7
            else
f653c7
                format_item_for_files "$item" >> $files_section
f653c7
            fi
f653c7
        done
f653c7
fi
f653c7
# cat files_section.txt
f653c7
# done with files_section.txt generation
f653c7
f653c7
f653c7
%files -f files_section.txt
0f057d
%{_pkgdocdir}/*/CHANGELOG.md
f653c7
%{_pkgdocdir}/*/README.md
f653c7
%if %{with html}
f653c7
%{_pkgdocdir}/*/README.html
f653c7
%endif
f653c7
%{_pkgdocdir}/*/example-*
0f057d
%{_pkgdocdir}/collection/roles/*/CHANGELOG.md
f653c7
%{_pkgdocdir}/collection/roles/*/README.md
f653c7
%if %{with html}
f653c7
%{_pkgdocdir}/collection/roles/*/README.html
f653c7
%endif
f653c7
%license %{_pkglicensedir}/*
f653c7
%license %{installbase}/*/COPYING*
f653c7
%license %{installbase}/*/LICENSE*
f653c7
%license %{ansible_collection_files}/%{collection_name}/COPYING*
f653c7
%license %{ansible_collection_files}/%{collection_name}/LICENSE*
f653c7
%if 0%{?rhel} < 8
f653c7
# Needs to list excluded files in this hardcoded style since when
f653c7
# format_item_for_files is executed, brp-python-bytecompile is not
f653c7
# executed yet.
f653c7
%exclude %{installbase}/*/*.py?
f653c7
%exclude %{installbase}/*/*/*.py?
f653c7
%exclude %{installbase}/*/*/*/*.py?
f653c7
%exclude %{installbase}/*/*/*/*/*.py?
f653c7
%exclude %{ansible_collection_files}/%{collection_name}/*/*/*.py?
f653c7
%exclude %{ansible_collection_files}/%{collection_name}/*/*/*/*.py?
f653c7
%exclude %{ansible_collection_files}/%{collection_name}/*/*/*/*/*.py?
f653c7
%endif
f653c7
f653c7
%if %{with collection_artifact}
f653c7
%files collection-artifact
f653c7
%{_datadir}/ansible/collections/%{collection_namespace}-%{collection_name}-%{version}.tar.gz
f653c7
%endif
f653c7
f653c7
%changelog
0f057d
* Tue Sep 27 2022 Rich Megginson <rmeggins@redhat.com> - 1.20.1-1
0f057d
- Resolves:rhbz#2129873 : ssh,sshd - Sync on final OpenSSH option name RequiredRSASize in ssh and sshd roles
0f057d
0f057d
* Thu Aug 04 2022 Rich Megginson <rmeggins@redhat.com> - 1.20.0-1
0f057d
- ensure CHANGELOG.md files are marked as doc
0f057d
- Resolves:rhbz#2115152 : cockpit - Add customization of port
0f057d
- Resolves:rhbz#2100942 : firewall - RFE: firewall-system-role: add ability to add interface to zone by PCI device ID
0f057d
- Resolves:rhbz#2115154 : firewall - support for firewall_config - gather firewall facts
0f057d
- Resolves:rhbz#2112145 : logging - [RFE] Support startmsg.regex and endmsg.regex in the files inputs
0f057d
- Resolves:rhbz#2115886 : network - fix IPRouteUtils.get_route_tables_mapping() to accept any whitespace sequence
0f057d
- Resolves:rhbz#2115157 : selinux - Added setting of seuser and selevel for completeness
0f057d
- Resolves:rhbz#2115156 : nbde_client - Sets proper spacing for parameter rd.neednet=1
0f057d
- Resolves:rhbz#2109998 : ssh sshd - ssh, sshd: RSAMinSize parameter definition is missing
0f057d
- Resolves:rhbz#2082736 : storage - [RHEL9] [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.
0f057d
0f057d
* Fri Jul 01 2022 Rich Megginson <rmeggins@redhat.com> - 1.19.3-1
0f057d
- min_ansible_version is string instead of float
0f057d
0f057d
- fix storage test failures
0f057d
0f057d
- support for ansible-core 2.13
0f057d
0f057d
- crypto_policies - rhel 8.7 default policy is FUTURE not DEFAULT
0f057d
  Resolves: rhbz#2100251
0f057d
0f057d
- firewall - forward_port should accept list of string or list of dict
0f057d
  Resolves: rhbz#2100605
0f057d
0f057d
- firewall - support add/modify/delete services
0f057d
  Resolves: rhbz#2100292
0f057d
0f057d
- metrics - document minimum supported redis version required by rhel-system-roles
0f057d
  Resolves: rhbz#2100286
0f057d
0f057d
- metrics - restart pmie, pmlogger if changed, do not wait for handler
0f057d
  Resolves: rhbz#2100294
0f057d
0f057d
- network - Support managing the network through nmstate schema
0f057d
  Resolves: rhbz#2072385
0f057d
0f057d
- storage - _storage_test_pool_pvs get wrong data type in  test-verify-pool-members.yml
0f057d
  Resolves: rhbz#2044119
0f057d
0f057d
- storage - support for adding/removing disks to/from storage pools
0f057d
  Resolves: rhbz#2072742
0f057d
0f057d
- storage - support for attaching cache volumes to existing volumes
0f057d
  Resolves: rhbz#2072746
0f057d
0f057d
* Wed Jun 15 2022 Rich Megginson <rmeggins@redhat.com> - 1.19.2-1
0f057d
- sshd - fix ansible 2.9 support in meta/main.yml
0f057d
  Resolves: rhbz#2052086 (9.1.0)
0f057d
0f057d
* Mon Jun 13 2022 Rich Megginson <rmeggins@redhat.com> - 1.19.1-1
0f057d
- storage - fix coverity scan issue in blivet.py
0f057d
  Resolves: rhbz#2072745 (9.1.0)
0f057d
0f057d
- logging - fix gather_facts/set_vars issue
0f057d
  Resolves: rhbz#2078989 (9.1.0)
0f057d
0f057d
- ha_cluster - Move tasks that set up CI environment to roles tasks/ dir
0f057d
  Resolves: rhbz#2093438 (9.1.0)
0f057d
0f057d
- sshd - fix tests issue with rhel9 hosts
0f057d
0f057d
* Mon Jun 06 2022 Rich Megginson <rmeggins@redhat.com> - 1.19.0-1
0f057d
- storage - support for creating and managing LVM thin pools/LVs
0f057d
  Resolves: rhbz#2072745 (9.1.0)
0f057d
0f057d
- firewall - Update Ansible syntax in Firewall system role README.md file examples
0f057d
  Resolves: rhbz#2094096 (9.1.0)
0f057d
d75841
- storage role raid_level "striped" is not supported
0f057d
  Resolves: rhbz#2083410 (9.1.0)
0f057d
0f057d
- network: the controller device is not completely cleaned up in the bond tests.
0f057d
  Resolves: rhbz#2089872 (9.1.0)
0f057d
0f057d
- firewall - state no longer required for masquerade and ICMP block inversion
0f057d
  Resolves: rhbz#2093423 (9.1.0)
0f057d
0f057d
- ha_cluster - Move tasks that set up CI environment to roles tasks/ dir
0f057d
  Resolves: rhbz#2093438 (9.1.0)
0f057d
0f057d
* Mon May 02 2022 Rich Megginson <rmeggins@redhat.com> - 1.18.0-1
0f057d
- firewall - [Improvement] Allow System Role to reset to default Firewalld Settings
0f057d
  Resolves: rhbz#2043010 (9.1.0)
0f057d
0f057d
- metrics - [RFE] add an option to the metrics role to enable postfix metric collection
0f057d
  Resolves: rhbz#2051737 (9.1.0)
0f057d
0f057d
- network - Rework the infiniband support
0f057d
  Resolves: rhbz#2086965 (9.1.0)
0f057d
0f057d
- sshd - recurse into tests and examples sub-directories when replacing string in files
0f057d
  the sshd role latest version added sub-directories under tests that need
0f057d
  role name replacement - so just use find
0f057d
0f057d
- sshd - sshd system role should not assume that RHEL 9 /etc/ssh/sshd_config has "Include > /etc/ssh/sshd_config.d/*.conf"
0f057d
  Resolves: rhbz#2052081 (9.1.0)
0f057d
0f057d
- sshd - sshd system role should be able to optionally manage /etc/ssh/sshd_config on RHEL 9
0f057d
  Resolves: rhbz#2052086 (9.1.0)
0f057d
0f057d
- storage - storage role cannot set mount_options for volumes
0f057d
  Resolves: rhbz#2083376 (9.1.0)
0f057d
0f057d
* Mon Apr 25 2022 Rich Megginson <rmeggins@redhat.com> - 1.17.0-1
0f057d
- All roles should support running with gather_facts: false
0f057d
  Resolves: rhbz#2078989 (9.1.0)
0f057d
0f057d
- firewall - Firewall system role Ansible deprecation warning related to "include"
0f057d
  Resolves: rhbz#2061511 (9.1.0)
0f057d
0f057d
- ha_cluster - ha_cluster - support advanced corosync configuration
0f057d
  Resolves: rhbz#2065337 (9.1.0)
0f057d
0f057d
- ha_cluster - ha_cluster - support SBD fencing
0f057d
  Resolves: rhbz#2079626 (9.1.0)
0f057d
0f057d
- ha_cluster - ha_cluster - add support for configuring bundle resources
0f057d
  Resolves: rhbz#2073519 (9.1.0)
0f057d
0f057d
- kernel_settings - kernel_settings error configobj not found on RHEL 8.6 managed hosts
0f057d
  Resolves: rhbz#2060525 (9.1.0)
0f057d
0f057d
- logging - logging tests fail during cleanup if no cloud-init on system
0f057d
  Resolves: rhbz#2058799 (9.1.0)
0f057d
0f057d
- logging - Logging - RFE - support template, severity and facility options
0f057d
  Resolves: rhbz#2075119 (9.1.0)
0f057d
0f057d
- metrics - Metrics role, with "metrics_from_mssql" option does not configure /var/lib/pcp/pmdas/mssql/mssql.conf on first run
0f057d
  Resolves: rhbz#2060523 (9.1.0)
0f057d
0f057d
- metrics - metrics - consistently use ansible_managed in configuration files managed by role
0f057d
  Resolves: rhbz#2065392 (9.1.0)
0f057d
0f057d
- metrics - [RFE] add an option to the metrics role to enable postfix metric collection
0f057d
  Resolves: rhbz#2051737 (9.1.0)
0f057d
0f057d
- nbde_client - NBDE client system role does not support servers with static IP addresses
0f057d
  Resolves: rhbz#2070462 (9.1.0)
0f057d
0f057d
- network - [RFE] Extend rhel-system-roles.network feature set to support routing rules
0f057d
  Resolves: rhbz#2079622 (9.1.0)
0f057d
0f057d
- network - bond: fix typo in supporting the infiniband ports in active-backup mode
0f057d
  Resolves: rhbz#2065394 (9.1.0)
0f057d
0f057d
- network - pytest failed when running with nm providers in the rhel-8.5 beaker machine
0f057d
  Resolves: rhbz#2066911 (9.1.0)
0f057d
0f057d
- network - network - consistently use ansible_managed in configuration files managed by role
0f057d
  Resolves: rhbz#2065382 (9.1.0)
0f057d
0f057d
- postfix - postfix - consistently use ansible_managed in configuration files managed by role
0f057d
  Resolves: rhbz#2065393 (9.1.0)
0f057d
0f057d
- postfix - Postfix RHEL System Role should provide the ability to replace config and reset configuration back to default
0f057d
  Resolves: rhbz#2065383 (9.1.0)
d75841
e07c80
- sshd - FIPS mode detection in SSHD role is wrong
0f057d
  Resolves: rhbz#2073605 (9.1.0)
0f057d
0f057d
- storage - RFE storage Less verbosity by default
0f057d
  Resolves: rhbz#2079627 (9.1.0)
0f057d
0f057d
- timesync - timesync: basic-smoke test failure in timesync/tests_ntp.yml
0f057d
  Resolves: rhbz#2060524 (9.1.0)
e07c80
0f057d
- tlog - Tlog role - Enabling session recording configuration does not work due to RHEL9 SSSD files provider default
0f057d
  Resolves: rhbz#2071804 (9.1.0)
e07c80
0f057d
* Thu Apr 07 2022 Rich Megginson <rmeggins@redhat.com> - 1.16.3-1
0f057d
- tlog - Enabling session recording configuration does not work due to RHEL9 SSSD files provider default
0f057d
  Resolves rhbz#2072749 (EL8)
0f057d
  Resolves rhbz#2071804 (EL9)
0f057d
0f057d
* Wed Apr 06 2022 Sergei Petrosian <spetrosi@redhat.com> - 1.16.2-2
0f057d
- Update community.general
0f057d
0f057d
* Thu Mar 31 2022 Rich Megginson <rmeggins@redhat.com> - 1.16.2-1
0f057d
- nbde_client - NBDE client system role does not support servers with static IP addresses
0f057d
  previous fix did not handle some other cases
0f057d
  Resolves rhbz#1985022 (EL8)
0f057d
  Resolves rhbz#2031555 (EL9)
0f057d
0f057d
* Tue Mar 29 2022 Rich Megginson <rmeggins@redhat.com> - 1.16.1-1
f653c7
- nbde_client - NBDE client system role does not support servers with static IP addresses
f653c7
  previous fix did not handle some cases
f653c7
  Resolves rhbz#1985022 (EL8)
f653c7
  Resolves rhbz#2031555 (EL9)
f653c7
0f057d
* Tue Mar 22 2022 Sergei Petrosian <spetrosi@redhat.com> - 1.16.0-2
0f057d
- Update community.general
0f057d
0f057d
* Tue Mar 15 2022 Rich Megginson <rmeggins@redhat.com> - 1.16.0-1
f653c7
- network - pytest failed when running with nm providers in the rhel-8.5 beaker machine
f653c7
  Resolves rhbz#2064396 (EL8)
f653c7
  Resolves rhbz#2064401 (EL9)
f653c7
- network - bond: fix typo in supporting the infiniband ports in active-backup modekernel_settings error configobj not found on RHEL 8.6 managed hosts
f653c7
  Resolves rhbz#2064388 (EL8)
f653c7
  Resolves rhbz#2064391 (EL9)
f653c7
- network - consistently use ansible_managed in configuration files managed by role
f653c7
  Resolves rhbz#2057656 (EL8)
f653c7
  Resolves rhbz#2057657 (EL9)
f653c7
- metrics - consistently use ansible_managed in configuration files managed by role
f653c7
  Resolves rhbz#2057645 (EL8)
f653c7
  Resolves rhbz#2057647 (EL9)
f653c7
- postfix - consistently use ansible_managed in configuration files managed by role
f653c7
  Resolves rhbz#2057661 (EL8)
f653c7
  Resolves rhbz#2057662 (EL9)
f653c7
- postfix - provide the ability to replace config and reset configuration back to default
f653c7
  Resolves rhbz#2044657 (EL8)
f653c7
  Resolves rhbz#2058780 (EL9)
f653c7
- new tags required in galaxy.yml for Automation Hub
f653c7
f653c7
* Thu Mar 3 2022 Rich Megginson <rmeggins@redhat.com> - 1.15.1-1
f653c7
- kernel_settings error configobj not found on RHEL 8.6 managed hosts
f653c7
  Resolves rhbz#2058772 (EL8)
f653c7
  Resolves rhbz#2058756 (EL9)
f653c7
- timesync: basic-smoke test failure in timesync/tests_ntp.yml
f653c7
  Resolves rhbz#2059293 (EL8)
f653c7
  Resolves rhbz#2058645 (EL9)
f653c7
f653c7
* Tue Mar  1 2022 Noriko Hosoi <nhosoi@redhat.com> - 1.15.0-2
f653c7
- metrics - follow symlinks for the mssql and elasticsearch configuration paths
f653c7
  Resolves rhbz#2058655 (EL8)
f653c7
  Resolves rhbz#2058777 (EL9)
f653c7
f653c7
* Thu Feb 24 2022 Rich Megginson <rmeggins@redhat.com> - 1.15.0-1
f653c7
- firewall - ensure target changes take effect immediately
f653c7
  Resolves rhbz#2057172 (EL8)
f653c7
  Resolves rhbz#2057164 (EL9)
f653c7
- firewall - Firewall RHEL System Role should be able to set default zone
f653c7
  Resolves rhbz#2022458 (EL8)
f653c7
  Resolves rhbz#2022461 (EL9)
f653c7
- network - tests_802_1x_nm, tests_802_1x_updated_nm fails because of missing hostapd in EPEL
f653c7
  Resolves rhbz#2053862 (EL8)
f653c7
  Resolves rhbz#2053861 (EL9)
f653c7
f653c7
* Mon Feb 21 2022 Rich Megginson <rmeggins@redhat.com> - 1.14.0-1
f653c7
- ha_cluster - set permissions for haclient group
f653c7
  Resolves rhbz#2049747 (EL8)
f653c7
  Resolves rhbz#2049754 (EL9)
f653c7
- network - Add more bonding options to rhel-system-roles.network
f653c7
  Resolves rhbz#2008931 (EL8)
f653c7
  Resolves rhbz#2054435 (EL9)
f653c7
- certificate - should consistently use ansible_managed in hook scripts
f653c7
  Resolves rhbz#2054364 (EL8)
f653c7
  Resolves rhbz#2054368 (EL9)
f653c7
- tlog - consistently use ansible_managed in configuration files managed by role
f653c7
  Resolves rhbz#2054363 (EL8)
f653c7
  Resolves rhbz#2054367 (EL9)
f653c7
- vpn - consistently use ansible_managed in configuration files managed by role
f653c7
  Resolves rhbz#2054365 (EL8)
f653c7
  Resolves rhbz#2054369 (EL9)
f653c7
f653c7
* Mon Feb 14 2022 Rich Megginson <rmeggins@redhat.com> - 1.13.0-1
f653c7
- storage - RFE: Add support for RAID volumes (lvm-only)
f653c7
  Resolves rhbz#2016514 (EL8)
f653c7
  Resolves rhbz#2016518 (EL9)
f653c7
- storage - RFE: Add support for cached volumes (lvm-only)
f653c7
  Resolves rhbz#2016511 (EL8)
f653c7
  Resolves rhbz#2016517 (EL9)
f653c7
- metrics - metrics role can't be re-run if the Grafana admin password has been changed
f653c7
  Resolves rhbz#1967321 (EL8)
f653c7
  Resolves rhbz#2041632 (EL9)
f653c7
- nbde_client - NBDE client system role does not support servers with static IP addresses
f653c7
  Resolves rhbz#1985022 (EL8)
f653c7
  Resolves rhbz#2031555 (EL9)
f653c7
- ha_cluster - [RFE] ha_cluster - Support for creating resource constraints (Location, Ordering, etc.)
f653c7
  Resolves rhbz#2041635 (EL8)
f653c7
  Resolves rhbz#2041634 (EL9)
f653c7
- firewall - ensure zone exists and can be used in subsequent operations
f653c7
  Resolves rhbz#2042541 (EL8)
f653c7
  Resolves rhbz#2024775 (EL9)
f653c7
- network - RFE: Support Routing Tables in static routes in Network Role
f653c7
  Resolves rhbz#2031521 (EL8)
f653c7
  Resolves rhbz#2049798 (EL9)
f653c7
- network - Failure to activate connection: nm-manager-error-quark: No suitable device found for this connection
f653c7
  Resolves rhbz#2034908 (EL8)
f653c7
  Resolves rhbz#2038957 (EL9)
f653c7
- network - Set DNS search setting only for enabled IP protocols
f653c7
  Resolves rhbz#2041627 (EL8)
f653c7
  Resolves rhbz#2004899 (EL9)
f653c7
f653c7
* Tue Feb 8 2022 Rich Megginson <rmeggins@redhat.com> - 1.12.1-1
f653c7
- vpn - template error while templating string: no filter named 'vpn_ipaddr'
f653c7
  Resolves rhbz#2052103 (EL8)
f653c7
  Resolves rhbz#2050341 (EL9)
f653c7
- kdump - Unable to start service kdump: Job for kdump.service failed because the control process exited with error code.
f653c7
  Resolves rhbz#2052105 (EL8)
f653c7
  Resolves rhbz#2050419 (EL9)
f653c7
- remove collection dependencies on rhel because we vendor them in
f653c7
f653c7
* Thu Feb 3 2022 Rich Megginson <rmeggins@redhat.com> - 1.12.0-2
f653c7
- RHEL8.6, 9 - add "Requires: ansible-core or ansible"
f653c7
  Resolves rhbz#2012316 (EL8)
f653c7
  Resolves rhbz#2012298 (EL9)
f653c7
f653c7
* Thu Jan 27 2022 Rich Megginson <rmeggins@redhat.com> - 1.12.0-1
f653c7
- vpn - use custom vpn_ipaddr filter to make role work on RHEL 8.6 with ansible-core
f653c7
  this is covered by "make roles work with ansible-core on all platforms" BZ
f653c7
- logging - Logging role "logging_purge_confs" option not properly working
f653c7
  Resolves rhbz#2040812 (EL8)
f653c7
  Resolves rhbz#2039106 (EL9)
f653c7
- kernel_settings role should use ansible_managed in its configuration file
f653c7
  Resolves rhbz#2047504 (EL8)
f653c7
  Resolves rhbz#2047506 (EL9)
f653c7
f653c7
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.0-3
f653c7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
f653c7
f653c7
* Tue Dec 14 2021 Rich Megginson <rmeggins@redhat.com> - 1.11.0-2
f653c7
- RHEL8.6, 9 - add "Requires: ansible-core or ansible"
f653c7
f653c7
* Thu Dec 2 2021 Rich Megginson <rmeggins@redhat.com> - 1.11.0-1
f653c7
- timesync - fix ansible 2.12 issues, service_facts issues
f653c7
  Resolves rhbz#2012316 (EL8)
f653c7
  Resolves rhbz#2012298 (EL9)
f653c7
- timesync - Failure related to missing ntp/ntpd package/service on RHEL-9 host
f653c7
  Resolves rhbz#2029463 (EL9)
f653c7
- logging - add test case for immark quoting issue
f653c7
  Resolves rhbz#2021678 (EL8)
f653c7
  Resolves rhbz#2021676 (EL9)
f653c7
- cockpit - use existing cert - cockpit_cert, cockpit_private_key
f653c7
  Resolves rhbz#2021661 (EL8)
f653c7
  Resolves rhbz#2021028 (EL9)
f653c7
- storage - fix ansible 2.12 issues, service_facts issues; workaround lvm, udev issues in tests
f653c7
  Resolves rhbz#2012316 (EL8)
f653c7
  Resolves rhbz#2012298 (EL9)
f653c7
- ssh - tests_all_options.yml: "assertion": "'StdinNull yes' in config.content | b64decode ", failure
f653c7
  Resolves rhbz#2029614 (EL8)
f653c7
  Resolves rhbz#2029427 (EL9)
f653c7
- kdump - support reboot required and reboot ok
f653c7
  Resolves rhbz#2029605 (EL8)
f653c7
  Resolves rhbz#2029602 (EL9)
f653c7
- metrics - sync with latest ansible-pcp
f653c7
  Resolves rhbz#2012316 (EL8)
f653c7
  Resolves rhbz#2012298 (EL9)
f653c7
- sshd - should detect FIPS mode and handle tasks correctly in FIPS mode
f653c7
  Resolves rhbz#1979714 (EL8)
f653c7
  Resolves rhbz#2029634 (EL9)
f653c7
f653c7
* Mon Nov 8 2021 Rich Megginson <rmeggins@redhat.com> - 1.10.0-1
f653c7
- add cockpit role
f653c7
  Resolves rhbz#2021661 (EL8)
f653c7
  Resolves rhbz#2021028 (EL9)
f653c7
- add firewall role
f653c7
  Resolves rhbz#1854988 (EL8)
f653c7
  Resolves rhbz#2021665 (EL9)
f653c7
- firewall - add ability to add-source
f653c7
  Resolves rhbz#1932678 (EL8)
f653c7
  Resolves rhbz#2021667 (EL9)
f653c7
- firewall - allow user defined zones
f653c7
  Resolves rhbz#1850768 (EL8)
f653c7
  Resolves rhbz#2021669 (EL9)
f653c7
- firewall - allow specifying the zone
f653c7
  Resolves rhbz#1850753 (EL8)
f653c7
  Resolves rhbz#2021670 (EL9)
f653c7
- updates for ansible 2.12 support
f653c7
  Resolves rhbz#2012316 (EL8)
f653c7
  Resolves rhbz#2012298 (EL9)
f653c7
- update community.general to 4.0.1
f653c7
  Resolves rhbz#2006081 (EL8)
f653c7
  Resolves rhbz#2006076 (EL9)
f653c7
- network - Allow to specify PCI address to configure profiles
f653c7
  Resolves rhbz#1695634 (EL8)
f653c7
  Resolves rhbz#1999162 (EL9)
f653c7
- network - support wifi Enhanced Open (OWE)
f653c7
  Resolves rhbz#1993379 (EL8)
f653c7
  Resolves rhbz#1993377 (EL9)
f653c7
- network - support WPA3 Simultaneous Authentication of Equals(SAE)
f653c7
  Resolves rhbz#1993311 (EL8)
f653c7
  Resolves rhbz#1993304 (EL9)
f653c7
- network - RFE: Support ignoring default gateway retrieved by DHCP/IPv6-RA
f653c7
  Resolves rhbz#1897565 (EL8)
f653c7
  Resolves rhbz#1978773 (EL9)
f653c7
- network - Update network system role to reflect that network teaming is deprecated in RHEL 9
f653c7
  Resolves rhbz#1897565 (EL8)
f653c7
  Resolves rhbz#1999770 (EL9)
f653c7
- selinux - fails linit rules role-name and unnamed-task
f653c7
  Resolves rhbz#1974000 (EL8)
f653c7
  Resolves rhbz#2021675 (EL9)
f653c7
- kernel_settings - ansible_managed | comment BZs:
f653c7
  Resolves rhbz#2006230 (EL9)
f653c7
  Resolves rhbz#2006231 (EL8)
f653c7
  Resolves rhbz#2006233 (EL7)
f653c7
- logging - logging role missing quotes for immark module interval value
f653c7
  Resolves rhbz#2021678 (EL8)
f653c7
  Resolves rhbz#2021676 (EL9)
f653c7
- logging - Add user and password
f653c7
  Resolves rhbz#2010327 (EL8)
f653c7
  Resolves rhbz#1990490 (EL9)
f653c7
- logging - Performance improvement
f653c7
  Resolves rhbz#2005727 (EL8)
f653c7
  Resolves rhbz#2004303 (EL9)
f653c7
- nbde_client - add regenerate-all to the dracut command
f653c7
  Resolves rhbz#2021682 (EL8)
f653c7
  Resolves rhbz#2021681 (EL9)
f653c7
- certificate - Fix certificate permissions with "group" option
f653c7
  Resolves rhbz#2021683 (EL8)
f653c7
  Resolves rhbz#2021025 (EL9)
f653c7
f653c7
* Tue Oct 26 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.9.0-2
f653c7
- Change the PFSL license to Python because this is how PFSL is reffered to in
f653c7
  rpminspect-data packages in Fedora, CentOS, and RHEL
f653c7
  Related: rhbz#2006076
f653c7
f653c7
* Mon Oct 11 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.9.0-1
f653c7
- Support ansible-core and improve roles:
f653c7
  - selinux: Add support for Rocky Linux 8, fix ansible_distribution_major_version
f653c7
  - timesync: Support ansible-core, use ansible_managed | comment
f653c7
  - kdump: Support ansible-core, use ansible_managed | comment
f653c7
  - network: Support ansible-core; deprecate RHEL 9 in readme; validate that ipv6_disabled is conflicting with other settings; specify PCI address to configure profile - adds match and path settings)
f653c7
  - storage: Support ansible-core, add skip checks feature to speed up the tests
f653c7
  - logging: Support ansible-core, add the `uid` option for elasticsearch, improve performance, use ansible_manged | comment
f653c7
    Resolves: rhbz#1990490 (EL9)
f653c7
  - ssh: Use ansible_manged | comment
f653c7
  - sshd: Use ansible_managed | comment
f653c7
  - ha_cluster: Support ansible-core, fix password_hash salt length
f653c7
  - vpn: Support ansible-core, use wait_for_connection instead of wait_for with ssh
f653c7
  - ansible_managed | comment BZs:
f653c7
    Resolves: rhbz#2006230 (EL9)
f653c7
    Resolves: rhbz#2006231 (EL8)
f653c7
    Resolves: rhbz#2006233 (EL7)
f653c7
- untar the collection tarballs and copy the files
f653c7
- Add vendoring code for rhel / centos
f653c7
  - selinux: selinux, seboolean, seport, selogin, sefcontext
f653c7
  - storage: mount
f653c7
  - vpn: ipaddr
f653c7
    Resolves: rhbz#2006076 (EL9)
f653c7
    Resolves: rhbz#2006081 (EL8)
f653c7
f653c7
* Thu Aug 26 2021 Rich Megginson <rmeggins@redhat.com> - 1.8.3-2
f653c7
- selinux - tag tests_selinux_disabled.yml with tests::avc
f653c7
  Resolves rhbz#1996315 (EL9)
f653c7
  Resolves rhbz#1996317 (EL8)
f653c7
f653c7
* Thu Aug 26 2021 Rich Megginson <rmeggins@redhat.com> - 1.8.3-1
f653c7
- storage - revert the dm-vdo workaround fix for vdo testing
f653c7
  Resolves rhbz#1978488 (EL9)
f653c7
  Resolves rhbz#1991141 (EL8)
f653c7
f653c7
* Tue Aug 24 2021 Rich Megginson <rmeggins@redhat.com> - 1.8.2-1
f653c7
- logging - Update the certificates copy tasks
f653c7
  Resolves rhbz#1996777 (EL9)
f653c7
  Resolves rhbz#1994580 (EL8)
f653c7
f653c7
* Mon Aug 16 2021 Rich Megginson <rmeggins@redhat.com> - 1.8.1-1
f653c7
- metrics - the bpftrace role does not properly configure bpftrace agent
f653c7
  Resolves rhbz#1994180 (EL9)
f653c7
  Resolves rhbz#1993240 (EL8)
f653c7
f653c7
* Thu Aug 12 2021 Rich Megginson <rmeggins@redhat.com> - 1.8.0-1
f653c7
- drop support for Ansible 2.8 - min_ansible_version is now 2.9
f653c7
  Resolves rhbz#1989197 (EL9)
f653c7
  Resolves rhbz#1989199 (EL8)
f653c7
- sshd - fix rhel6 support - failed to validate: error:Missing Match criteria for all Bad Match condition
f653c7
  Resolves rhbz#1991598 (EL9)
f653c7
  Resolves rhbz#1990947 (EL8)
f653c7
f653c7
* Tue Aug 10 2021 Rich Megginson <rmeggins@redhat.com> - 1.7.6-1
f653c7
- storage - tests_create_lvmvdo_then_remove fails - Module dm-vdo not found
f653c7
  Resolves rhbz#1991141 (EL8)
f653c7
  Resolves rhbz#1991062 (EL9)
f653c7
- storage - Get syntax errors in tests_lvm_errors.yml
f653c7
  Resolves rhbz#1990793 (EL8)
f653c7
  Resolves rhbz#1991142 (EL9)
f653c7
f653c7
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 1.7.5-2
f653c7
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
f653c7
  Related: rhbz#1991688
f653c7
f653c7
* Fri Aug 06 2021 Rich Megginson <rmeggins@redhat.com> - 1.7.5-1
f653c7
- logging, certificate - Instead of the archive module, use "tar" command for backup.
f653c7
  Resolves rhbz#1984182 (EL9)
f653c7
  Resolves rhbz#1987096 (EL8)
f653c7
- logging - Add a support for list value to server_host in the elasticsearch output
f653c7
  Resolves rhbz#1986460 (EL9)
f653c7
  Resolves rhbz#1986463 (EL8)
f653c7
- logging - tests_relp.yml; Can't detect any of the required Python libraries cryptography (>= 1.2.3) or PyOpenSSL (>= 0.6)
f653c7
  Resolves rhbz#1989962 (EL9)
f653c7
  Resolves rhbz#1990142 (EL8)
f653c7
f653c7
* Fri Aug 06 2021 Rich Megginson <rmeggins@redhat.com> - 1.7.4-1
f653c7
- metrics - Grafana dashboard not working after metrics role run unless services manually restarted
f653c7
  Resolves rhbz#1984150 (EL9)
f653c7
  Resolves rhbz#1978357 (EL8)
f653c7
f653c7
* Tue Aug 03 2021 Rich Megginson <rmeggins@redhat.com> - 1.7.3-1
f653c7
- storage - tag tests that use NVME and SCSI
f653c7
  Resolves rhbz#1989211 (EL9)
f653c7
  Resolves rhbz#1989638 (EL8)
f653c7
f653c7
* Tue Aug 03 2021 Rich Megginson <rmeggins@redhat.com> - 1.7.2-1
f653c7
- sshd - support for rhel9 managed hosts
f653c7
  Resolves rhbz#1989221 (EL9)
f653c7
  Resolves rhbz#1989638 (EL8)
f653c7
f653c7
* Thu Jul 29 2021 Rich Megginson <rmeggins@redhat.com> - 1.7.1-1
f653c7
- 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.
f653c7
  Resolves rhbz#1935919
f653c7
- network - _initscripts tests fail because "No package network-scripts available."
f653c7
  Resolves rhbz#1935916
f653c7
- network - Test tests_bond_initscripts.yml failed to create interface
f653c7
  Resolves rhbz#1980870
f653c7
- storage - covscan error - DEADCODE - vdopool if create_vdo else parent
f653c7
  Resolves rhbz#1985571 (EL9)
f653c7
  Resolves rhbz#1985572 (EL8)
f653c7
- network - network: tests_bond_initscripts.yml leaves behind unusable resolv.conf in CI
f653c7
  Resolves rhbz#1915017
f653c7
f653c7
* Wed Jul 28 2021 Rich Megginson <rmeggins@redhat.com> - 1.7.0-1
f653c7
- network - Skip tests on RHEL9 that use hostapd
f653c7
  Resolves rhbz#1945348
f653c7
- network - Fix the bond test on DHCP
f653c7
  Resolves rhbz#1918252
f653c7
- certificate, logging - Use 'tar' command instead of archive module
f653c7
  Resolves rhbz#1984182 (EL9)
f653c7
  Resolves rhbz#1987096 (EL8)
f653c7
- kernel_settings - Disable bootloader testing on EL9
f653c7
  Resolves rhbz#1944599
f653c7
- logging - Add a support for list value to server_host in the elasticsearch output
f653c7
  Resolves rhbz#1986460 (EL9)
f653c7
  Resolves rhbz#1986463 (EL8)
f653c7
- storage - Add support for percentage-based volume sizes
f653c7
  Resolves rhbz#1984583 (EL9)
f653c7
  Resolves rhbz#1894642 (EL8)
f653c7
- storage -storage_test_actual_size != storage_test_requested_size observed with tests_lvm_auto_size_cap.yml
f653c7
  Resolves rhbz#1986284 (EL8)
f653c7
f653c7
* Fri Jul 23 2021 Rich Megginson <rmeggins@redhat.com> - 1.6.1-1
f653c7
- Error: device becoming unmanaged and pytest not reproducible in tests_integration_pytest.yml
f653c7
  Resolves rhbz#1985382 (EL9)
f653c7
  Resolves rhbz#1932699 (EL8)
f653c7
- EPEL yum repository configuration for tests
f653c7
  Rebasing to latest picks up this fix - see rhel7 bz1980439
f653c7
- connections: workaround DeprecationWarning for NM.SettingEthtool.set_feature()
f653c7
  Rebasing to latest picks up this fix
f653c7
f653c7
* Thu Jul 15 2021 Rich Megginson <rmeggins@redhat.com> - 1.6.0-1
f653c7
- ha_cluster - add pacemaker cluster properties configuration
f653c7
  Resolves rhbz#1982913 (EL8)
f653c7
  Resolves rhbz#1982906 (EL9)
f653c7
f653c7
* Thu Jul 15 2021 Rich Megginson <rmeggins@redhat.com> - 1.5.0-1
f653c7
- crypto_policies - rename 'policy modules' to 'subpolicies'
f653c7
  Resolves rhbz#1982896 (EL9)
f653c7
  Resolves rhbz#1982897 (EL8)
f653c7
f653c7
* Thu Jul 15 2021 Rich Megginson <rmeggins@redhat.com> - 1.4.2-1
f653c7
- storage - relabel doesn't support - Fixed volume relabeling
f653c7
  Resolves rhbz#1876315 (EL8)
f653c7
  Resolves rhbz#1982841 (EL9)
f653c7
f653c7
* Fri Jul  9 2021 Rich Megginson <rmeggins@redhat.com> - 1.4.1-1
f653c7
- network - Re-running the network system role results in "changed: true" when nothing has actually changed
f653c7
  Resolves rhbz#1980871
f653c7
- network - Test tests_bond_initscripts.yml failed to create interface
f653c7
  Resolves rhbz#1980870
f653c7
f653c7
* Thu Jul  8 2021 Rich Megginson <rmeggins@redhat.com> - 1.4.0-1
f653c7
- storage - LVMVDO support
f653c7
  Resolves rhbz#1882475
f653c7
  Resolves rhbz#1978488
f653c7
f653c7
* Wed Jun 23 2021 Rich Megginson <rmeggins@redhat.com> - 1.3.0-1
f653c7
- ha_cluster - add pacemaker resources configuration
f653c7
  Resolves rhbz#1978726
f653c7
- ha_cluster - code cleanup
f653c7
  Resolves rhbz#1978731
f653c7
- Postfix RHEL system role README.md missing variables under the "Role Variables" section
f653c7
  Resolves rhbz#1978734
f653c7
- logging README.html examples are rendered incorrectly
f653c7
  Resolves rhbz#1978758
f653c7
- make postfix role idempotent - round 2
f653c7
  Resolves rhbz#1978760
f653c7
- selinux task for semanage says Fedora in name but also runs on RHEL/CentOS 8
f653c7
  Resolves rhbz#1978740
f653c7
- metrics role task to enable logging for targeted hosts not working
f653c7
  Resolves rhbz#1978746
f653c7
- network - Only show stderr_lines by default
f653c7
  Resolves rhbz#1978731
f653c7
- storage - LVMVDO support
f653c7
  Resolves rhbz#1978488
f653c7
- storage - fix several linter issues
f653c7
  Resolves rhbz#1978731
f653c7
- ssh - Fix variable precedence when invoked through roles
f653c7
  Resolves rhbz#1978745
f653c7
- ssh - Update configuration options list for OpenSSH 8.6
f653c7
  Resolves rhbz#1978731
f653c7
- sshd - Fix variable precedence when invoked through roles
f653c7
  Resolves rhbz#1978745
f653c7
- sshd - Update configuration options list for OpenSSH 8.6
f653c7
  Resolves rhbz#1978731
f653c7
- sshd - support for appending a snippet to configuration file
f653c7
  Resolves rhbz#1978752
f653c7
- timesync - add NTS support
f653c7
  Resolves rhbz#1978753
f653c7
- timesync - rebase to latest
f653c7
  Resolves rhbz#1978731
f653c7
- nbde_client - rebase to latest
f653c7
  Resolves rhbz#1978731
f653c7
f653c7
* Thu Jun 17 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.2.3-3
f653c7
- Make the ansible_collection_files macro defined in Fedora automatically and
f653c7
  in RHEL manually consistent - having slash at the end to clean double-slashes
f653c7
f653c7
* Wed Jun 16 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.2.3-2
f653c7
- Remove slash (/) from the end of URLs to improve code readability
f653c7
f653c7
* Wed Jun 16 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.2.3-1
f653c7
- Add EL 9 support for timesync and network
f653c7
  Resolves rhbz#1952887
f653c7
f653c7
* Tue Jun 15 2021 Rich Megginson <rmeggins@redhat.com> - 1.2.2-3
f653c7
- Fix HTML rendering of internal links when using pandoc/asciidoc
f653c7
- Uses pandoc gfm instead of markdown_github
f653c7
  Resolves rhbz#1962976
f653c7
f653c7
* Fri Jun 11 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.2.2-2
f653c7
- Make spec file available for older versions of OSes.
f653c7
- Drop python3-six dependency which was used by lsr_role2collection.py.
f653c7
- Drop html files from rpm if the version has no markdown parser.
f653c7
- Drop unnecessary python scripts which include python3 only code, e.g.,
f653c7
  f-strings.
f653c7
  Resolves rhbz#1970165
f653c7
f653c7
* Wed Jun  9 2021 Rich Megginson <rmeggins@redhat.com> - 1.2.2-1
f653c7
- fix kdump tests_ssh for basic smoke test
f653c7
  Resolves rhbz#1957876
f653c7
f653c7
* Fri May 21 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.2.1-1
f653c7
- fix logging README.html examples' rendering problems
f653c7
  Resolves rhbz#1962374
f653c7
- fix broken internal links in README.md files
f653c7
  Resolves rhbz#1962976
f653c7
f653c7
* Fri May 21 2021 Sergei Petrosian <spetrosi@redhat.com> - 1.2.0-2
f653c7
- Add BuildRequires: rubygem-kramdown for Fedora and RHEL >= 9
f653c7
f653c7
* Fri May 14 2021 Rich Megginson <rmeggins@redhat.com> - 1.2.0-1
f653c7
- rebase roles to latest upstream
f653c7
  Resolves rhbz#1957876
f653c7
- make postfix role idempotent
f653c7
  Resolves rhbz#1960375
f653c7
- use FQRN in postfix README
f653c7
  Resolves rhbz#1958963
f653c7
- use relayhost in postfix README
f653c7
  Resolves rhbz#1866544
f653c7
- use lazy unmount to fix umount: target is busy
f653c7
  Resolves rhbz#1945359
f653c7
- network - Add support for ETHTOOL Ring option
f653c7
  Resolves rhbz#1959649
f653c7
- storage: calltrace observed when set type: partition for storage_pools
f653c7
  Resolves rhbz#1854187
f653c7
- ha_cluster - cannot read preshared key in binary format
f653c7
  Resolves rhbz#1952620
f653c7
f653c7
* Thu May 13 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.1.0-2
f653c7
- Dependencies in the collection packaging
f653c7
  Resolves rhbz#1954747
f653c7
f653c7
* Wed Apr 14 2021 Rich Megginson <rmeggins@redhat.com> - 1.1.0-1
f653c7
- rebase timesync role to latest upstream
f653c7
  Resolves rhbz#1937938
f653c7
- timesync - add timesync_chrony_custom_settings variable for free-form
f653c7
  local configs
f653c7
  Resolves rhbz#1938023
f653c7
- do not use ignore_errors in timesync role
f653c7
  Resolves rhbz#1938014
f653c7
- support for timesync_max_distance to configure maxdistance/maxdist parameter
f653c7
  Resolves rhbz#1938016
f653c7
- support for ntp xleave, filter, and hw timestamping
f653c7
  Resolves rhbz#1938020
f653c7
- rebase selinux role to latest upstream
f653c7
  Resolves rhbz#1937938
f653c7
- should not reload the SELinux policy if its not changed
f653c7
  Resolves rhbz#1757869
f653c7
- Ability to install custom SELinux module via Ansible
f653c7
  Resolves rhbz#1848683
f653c7
- rebase storage role to latest upstream
f653c7
  Resolves rhbz#1937938
f653c7
- rebase network role to latest upstream
f653c7
  Resolves rhbz#1937938
f653c7
- support for ipv6_disabled to disable ipv6 for address
f653c7
  Resolves rhbz#1939711
f653c7
- rebase postfix role to latest upstream
f653c7
  Resolves rhbz#1937938
f653c7
- rebase metrics role to latest upstream
f653c7
  Resolves rhbz#1937938
f653c7
- rebase sshd role to latest upstream
f653c7
  Resolves rhbz#1937938
f653c7
- rebase remaining roles to latest upstream
f653c7
  Resolves rhbz#1937938
f653c7
- Generate %%files dynamically
f653c7
- add vpn role
f653c7
  Resolves rhbz#1943679
f653c7
f653c7
* Tue Apr 13 2021 Noriko Hosoi <nhosoi@redhat.com> - 1.0.1-2
f653c7
- Adding the -collection-artifact subpackage, enabled using
f653c7
  "--with collection_artifact". It is used for importing to
f653c7
  ansible galaxy/automation hub.
f653c7
- README.html files (main README for the collection and README
f653c7
  for each role) are not located in /usr/share/ansible/collections,
f653c7
  but just put in /usr/share/doc/linux-system-roles/collection in rpm.
f653c7
- The README.html files are not included in the collection artifact.
f653c7
- Fixing "sshd role README.md examples use incorrect role name".
f653c7
f653c7
* Tue Apr  6 2021 Pavel Cahyna <pcahyna@redhat.com> - 1.0.1-1
f653c7
- Sync with RHEL version 1.0.1-1.el8
f653c7
  Fix description field in galaxy.yml
f653c7
  Remove "Technology Preview" from Collection README
f653c7
  Merging individual ignore file and add it to the package
f653c7
  Add a note to each module Doc to indicate it is private
f653c7
  Add patches for network and storage role ansible-test fixes
f653c7
  Simplify doc tags in %%files, corrects a forgotten doc tag for ha_cluster
f653c7
  Suppress one ansible-lint warning in ha_cluster
f653c7
  Add patch for the inclusive language leftover on network-role README.md
f653c7
f653c7
* Mon Feb 22 2021 Pavel Cahyna <pcahyna@redhat.com> - 1.0.0-16
f653c7
- Sync with RHEL version 1.0.0-31
f653c7
  Rebase certificate role to pick up a test fix
f653c7
  Rebase logging role to fix default private key path,
f653c7
  upstream PR #218
f653c7
  Update collection doc transformation to match a modified text
f653c7
  and include the Tech Preview note again (for RHEL)
f653c7
f653c7
* Fri Feb 19 2021 Pavel Cahyna <pcahyna@redhat.com> - 1.0.0-15
f653c7
- Sync with RHEL version 1.0.0-29
f653c7
  Added roles: ssh, ha_cluster
f653c7
  Updated roles: certificate, kernel_settings, nbde_client,
f653c7
  logging, network
f653c7
  Improvements to collection build and metadata
f653c7
- Two further improvements from RHEL:
f653c7
  Corrected merge botch in files list - make ssh README a docfile
f653c7
  Dynamically update galaxy.yml with our metadata even on Fedora,
f653c7
  we can't rely on correct version number in auto-maintenance
f653c7
f653c7
* Tue Feb  9 2021 Pavel Cahyna <pcahyna@redhat.com> - 1.0.0-14
f653c7
- Synchronize with RHEL, new roles added:
f653c7
  storage, metrics, tlog, kernel_settings, logging, nbde_server,
f653c7
  nbde_client, certificate, crypto_policies, sshd, and the
f653c7
  fedora.linux_system_roles collection.
f653c7
f653c7
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-13
f653c7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
f653c7
f653c7
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-12
f653c7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
f653c7
f653c7
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-11
f653c7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
f653c7
f653c7
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-10
f653c7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
f653c7
f653c7
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-9
f653c7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
f653c7
f653c7
* Wed Dec 05 2018 Till Maas <opensource@till.name> - 1.0-8
f653c7
- Install roles at /usr/share/linux-system-roles, use symlinks in
f653c7
  /usr/share/ansible/roles/ to allow using alternatives
f653c7
f653c7
* Wed Nov 14 2018 Mike DePaulo <mikedep333@gmail.com> - 1.0-7
f653c7
- spec file improvement: Remove unnecessary %%doc for files under _pkgdocdor
f653c7
- Install license files under /usr/share/licenses instead of /usr/share/doc
f653c7
f653c7
* Tue Nov 06 2018 Mike DePaulo <mikedep333@gmail.com> - 1.0-7
f653c7
- Fix rpm build for added example timesync example playbooks
f653c7
- Misc spec file comments fixes
f653c7
- Fix rpmlint error by escaping a previous changelog entry with a macro
f653c7
- Comply with Fedora guidelines by always using "cp -p" in %%install
f653c7
- Update %%description to be different for Fedora.
f653c7
f653c7
* Wed Oct 24 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-7
f653c7
- Update to latest versions of selinux, kdump and timesync.
f653c7
- Update to the latest revision of postfix, fixes README markup
f653c7
- Add Obsoletes for the -techpreview subpackage introduced mistakenly in 1.0-1
f653c7
- spec file improvement: Unify the source macros with deftag() and defcommit()
f653c7
f653c7
* Tue Oct 23 2018 Till Maas <opensource@till.name> - 1.0-6
f653c7
- Update Network system role to latest commit to include Fedora 29 fixes
f653c7
- Update example timesync example playbooks
f653c7
- Add comments about upstream status
f653c7
f653c7
* Tue Aug 14 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-4
f653c7
- Format the READMEs as html, by vdolezal, with changes to use highlight
f653c7
  (source-highlight does not understand YAML)
f653c7
f653c7
* Thu Aug  9 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-3
f653c7
- Rebase the network role to the last revision (d866422).
f653c7
  Many improvements to tests, introduces autodetection of the current provider
f653c7
  and defaults to using profile name as interface name.
f653c7
- Rebase the selinux, timesync and kdump roles to their 1.0rc1 versions.
f653c7
  Many changes to the role interfaces to make them more consistent
f653c7
  and conforming to Ansible best practices.
f653c7
- Update the description.
f653c7
f653c7
* Fri May 11 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-4
f653c7
- Fix complaints about /usr/bin/python during RPM build by making the affected scripts non-exec
f653c7
- Fix merge botch
f653c7
f653c7
* Mon Mar 19 2018 Troy Dawson <tdawson@redhat.com> - 0.6-3.1
f653c7
- Use -a (after cd) instead of -b (before cd) in %%setup
f653c7
f653c7
* Wed Mar 14 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-3
f653c7
- Minor corrections of the previous change by Till Maas.
f653c7
f653c7
* Fri Mar  9 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-2
f653c7
- Document network role options: static routes, ethernet, dns
f653c7
  Upstream PR#36, bz1550128, documents bz1487747 and bz1478576
f653c7
f653c7
* Tue Jan 30 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-1
f653c7
- Drop hard dependency on ansible (#1525655), patch from Yaakov Selkowitz
f653c7
- Update the network role to version 0.4, solves bz#1487747, bz#1478576
f653c7
f653c7
* Tue Dec 19 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-3
f653c7
- kdump: fix the wrong conditional for ssh checking and improve test (PR#10)
f653c7
f653c7
* Tue Nov 07 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-2
f653c7
- kdump: add ssh support. upstream PR#9, rhbz1478707
f653c7
f653c7
* Tue Oct 03 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-1
f653c7
- SELinux: fix policy reload when SELinux is disabled on CentOS/RHEL 6
f653c7
  (bz#1493574)
f653c7
- network: update to b856c7481bf5274d419f71fb62029ea0044b3ec1 :
f653c7
  makes the network role idempotent (bz#1476053) and fixes manual
f653c7
  network provider selection (bz#1485074).
f653c7
f653c7
* Mon Aug 28 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.4-1
f653c7
- network: update to b9b6f0a7969e400d8d6ba0ac97f69593aa1e8fa5:
f653c7
  ensure that state:absent followed by state:up works (bz#1478910), and change
f653c7
  the example IP adresses to the IANA-assigned ones.
f653c7
- SELinux: fix the case when SELinux is disabled (bz#1479546).
f653c7
f653c7
* Tue Aug 8 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.3-2
f653c7
- We can't change directories to symlinks (rpm bug #447156) so keep the old
f653c7
  names and create the new names as symlinks.
f653c7
f653c7
* Tue Aug 8 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.3-1
f653c7
- Change the prefix to linux-system-roles., keeping compatibility
f653c7
  symlinks.
f653c7
- Update the network role to dace7654feb7b5629ded0734c598e087c2713265:
f653c7
  adds InfiniBand support and other fixes.
f653c7
- Drop a patch included upstream.
f653c7
f653c7
* Mon Jun 26 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.2-2
f653c7
- Leave a copy of README and COPYING in every role's directory, as suggested by T. Bowling.
f653c7
- Move the network example inventory to the documentation directory together.
f653c7
  with the example playbooks and delete the now empty "examples" directory.
f653c7
- Use proper reserved (by RFC 7042) MAC addresses in the network examples.
f653c7
f653c7
* Tue Jun 6 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.2-1
f653c7
- Update the networking role to version 0.2 (#1459203)
f653c7
- Version every role and the package separately. They live in separate repos
f653c7
  and upstream release tags are not coordinated.
f653c7
f653c7
* Mon May 22 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.1-2
f653c7
- Prefix the roles in examples and documentation with rhel-system-roles.
f653c7
f653c7
* Thu May 18 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.1-1
f653c7
- Update to 0.1 (first upstream release).
f653c7
- Remove the tuned role, it is not ready yet.
f653c7
- Move the example playbooks to /usr/share/doc/rhel-system-roles/$SUBSYSTEM
f653c7
  directly to get rid of an extra directory.
f653c7
- Depend on ansible.
f653c7
f653c7
* Thu May 4 2017  Pavel Cahyna <pcahyna@redhat.com> - 0-0.1.20170504
f653c7
- Initial release.
f653c7
- kdump r. fe8bb81966b60fa8979f3816a12b0c7120d71140
f653c7
- postfix r. 43eec5668425d295dce3801216c19b1916df1f9b
f653c7
- selinux r. 1e4a21f929455e5e76dda0b12867abaa63795ae7
f653c7
- timesync r. 33a1a8c349de10d6281ed83d4c791e9177d7a141
f653c7
- tuned r. 2e8bb068b9815bc84287e9b6dc6177295ffdf38b
f653c7
- network r. 03ff040df78a14409a0d89eba1235b8f3e50a750
f653c7