Blame SPECS/ansible-freeipa.spec

77f8fd
# Turn off automatic python byte compilation because these are Ansible
77f8fd
# roles and the files are transferred to the node and compiled there with
77f8fd
# the python version used in the node
77f8fd
%define __brp_python_bytecompile %{nil}
77f8fd
77f8fd
%global python %{__python3}
77f8fd
77f8fd
Summary: Roles and playbooks to deploy FreeIPA servers, replicas and clients
77f8fd
Name: ansible-freeipa
77f8fd
Version: 1.6.3
77f8fd
Release: 1%{?dist}
77f8fd
URL: https://github.com/freeipa/ansible-freeipa
77f8fd
License: GPLv3+
77f8fd
Source: https://github.com/freeipa/ansible-freeipa/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
77f8fd
BuildArch: noarch
77f8fd
%if 0%{?fedora} >= 35 || 0%{?rhel} >= 9
77f8fd
Requires: ansible-core
77f8fd
%endif
77f8fd
77f8fd
%description
77f8fd
Ansible roles and playbooks to install and uninstall FreeIPA servers, replicas
77f8fd
and clients. Also modules management.
77f8fd
77f8fd
Note: The Ansible playbooks and roles require a configured Ansible environment
77f8fd
where the Ansible nodes are reachable and are properly set up to have an IP
77f8fd
address and a working package manager.
77f8fd
77f8fd
Features
77f8fd
77f8fd
- Server, replica and client deployment
77f8fd
- Cluster deployments: Server, replicas and clients in one playbook
77f8fd
- One-time-password (OTP) support for client installation
77f8fd
- Repair mode for clients
77f8fd
- Backup and restore, also to and from controller
77f8fd
- Modules for automembership rule management
77f8fd
- Modules for automount key management
77f8fd
- Modules for automount location management
77f8fd
- Modules for automount map management
77f8fd
- Modules for config management
77f8fd
- Modules for delegation management
77f8fd
- Modules for dns config management
77f8fd
- Modules for dns forwarder management
77f8fd
- Modules for dns record management
77f8fd
- Modules for dns zone management
77f8fd
- Modules for group management
77f8fd
- Modules for hbacrule management
77f8fd
- Modules for hbacsvc management
77f8fd
- Modules for hbacsvcgroup management
77f8fd
- Modules for host management
77f8fd
- Modules for hostgroup management
77f8fd
- Modules for location management
77f8fd
- Modules for permission management
77f8fd
- Modules for privilege management
77f8fd
- Modules for pwpolicy management
77f8fd
- Modules for role management
77f8fd
- Modules for self service management
77f8fd
- Modules for server management
77f8fd
- Modules for service management
77f8fd
- Modules for sudocmd management
77f8fd
- Modules for sudocmdgroup management
77f8fd
- Modules for sudorule management
77f8fd
- Modules for topology management
77f8fd
- Modules for trust management
77f8fd
- Modules for user management
77f8fd
- Modules for vault management
77f8fd
77f8fd
Supported FreeIPA Versions
77f8fd
77f8fd
FreeIPA versions 4.6 and up are supported by all roles.
77f8fd
77f8fd
The client role supports versions 4.4 and up, the server role is working with
77f8fd
versions 4.5 and up, the replica role is currently only working with versions
77f8fd
4.6 and up.
77f8fd
77f8fd
Supported Distributions
77f8fd
77f8fd
- RHEL/CentOS 7.4+
77f8fd
- Fedora 26+
77f8fd
- Ubuntu
77f8fd
- Debian 10+ (ipaclient only, no server or replica!)
77f8fd
77f8fd
Requirements
77f8fd
77f8fd
  Controller
77f8fd
  - Ansible version: 2.8+ (ansible-freeipa is an Ansible Collection)
77f8fd
  - /usr/bin/kinit is required on the controller if a one time password (OTP)
77f8fd
    is used
77f8fd
77f8fd
  Node
77f8fd
  - Supported FreeIPA version (see above)
77f8fd
  - Supported distribution (needed for package installation only, see above)
77f8fd
77f8fd
Limitations
77f8fd
77f8fd
External signed CA is now supported. But the currently needed two step process
77f8fd
is an issue for the processing in a simple playbook.
77f8fd
Work is planned to have a new method to handle CSR for external signed CAs in
77f8fd
a separate step before starting the server installation.
77f8fd
77f8fd
77f8fd
%package tests
77f8fd
Summary: ansible-freeipa tests
77f8fd
Requires: %{name} = %{version}-%{release}
77f8fd
77f8fd
%description tests
77f8fd
ansible-freeipa tests.
77f8fd
77f8fd
Please have a look at %{_datadir}/ansible-freeipa/requirements-tests.txt
77f8fd
to get the needed requrements to run the tests.
77f8fd
77f8fd
77f8fd
%prep
77f8fd
%setup -q
77f8fd
# Do not create backup files with patches
77f8fd
77f8fd
# Fix python modules and module utils:
77f8fd
# - Remove shebang
77f8fd
# - Remove execute flag
77f8fd
for i in roles/ipa*/library/*.py roles/ipa*/module_utils/*.py plugins/*/*.py; do
77f8fd
    sed -i '1{/\/usr\/bin\/python*/d;}' $i
77f8fd
    chmod a-x $i
77f8fd
done
77f8fd
77f8fd
for i in utils/*.py utils/ansible-ipa-*-install utils/new_module \
77f8fd
         utils/changelog utils/ansible-doc-test;
77f8fd
do
77f8fd
    sed -i '{s@/usr/bin/python*@%{python}@}' $i
77f8fd
done
77f8fd
77f8fd
77f8fd
%build
77f8fd
77f8fd
%install
77f8fd
install -m 755 -d %{buildroot}%{_datadir}/ansible/roles/
77f8fd
cp -rp roles/ipaserver %{buildroot}%{_datadir}/ansible/roles/
77f8fd
cp -rp roles/ipaserver/README.md README-server.md
77f8fd
cp -rp roles/ipareplica %{buildroot}%{_datadir}/ansible/roles/
77f8fd
cp -rp roles/ipareplica/README.md README-replica.md
77f8fd
cp -rp roles/ipaclient %{buildroot}%{_datadir}/ansible/roles/
77f8fd
cp -rp roles/ipaclient/README.md README-client.md
77f8fd
cp -rp roles/ipabackup %{buildroot}%{_datadir}/ansible/roles/
77f8fd
cp -rp roles/ipabackup/README.md README-backup.md
77f8fd
install -m 755 -d %{buildroot}%{_datadir}/ansible/plugins/
77f8fd
cp -rp plugins/* %{buildroot}%{_datadir}/ansible/plugins/
77f8fd
77f8fd
install -m 755 -d %{buildroot}%{_datadir}/ansible-freeipa
77f8fd
cp requirements*.txt %{buildroot}%{_datadir}/ansible-freeipa/
77f8fd
cp -rp utils %{buildroot}%{_datadir}/ansible-freeipa/
77f8fd
install -m 755 -d %{buildroot}%{_datadir}/ansible-freeipa/tests
77f8fd
cp -rp tests %{buildroot}%{_datadir}/ansible-freeipa/
77f8fd
77f8fd
%files
77f8fd
%license COPYING
77f8fd
%{_datadir}/ansible/roles/ipaserver
77f8fd
%{_datadir}/ansible/roles/ipareplica
77f8fd
%{_datadir}/ansible/roles/ipaclient
77f8fd
%{_datadir}/ansible/roles/ipabackup
77f8fd
%{_datadir}/ansible/plugins/doc_fragments
77f8fd
%{_datadir}/ansible/plugins/module_utils
77f8fd
%{_datadir}/ansible/plugins/modules
77f8fd
%doc README*.md
77f8fd
%doc playbooks
77f8fd
%{_datadir}/ansible-freeipa/requirements.txt
77f8fd
%{_datadir}/ansible-freeipa/requirements-dev.txt
77f8fd
%{_datadir}/ansible-freeipa/utils
77f8fd
77f8fd
%files tests
77f8fd
%{_datadir}/ansible-freeipa/tests
77f8fd
%{_datadir}/ansible-freeipa/requirements-tests.txt
77f8fd
77f8fd
%changelog
77f8fd
* Thu Jan 27 2022 Thomas Woerner <twoerner@redhat.com> - 1.6.3-1
77f8fd
- Update to version 1.6.3
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v1.6.3
77f8fd
  Related: RHBZ#2010622
77f8fd
77f8fd
* Wed Jan 26 2022 Thomas Woerner <twoerner@redhat.com> - 1.6.2-1
77f8fd
- Update to version 1.6.2
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v1.6.2
77f8fd
  Related: RHBZ#2010622
77f8fd
77f8fd
* Fri Jan 21 2022 Thomas Woerner <twoerner@redhat.com> - 1.6.1-1
77f8fd
- Update to version 1.6.1
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v1.6.1
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v1.6.0
77f8fd
  Related: RHBZ#2010622
77f8fd
- Add module to manage automount maps
77f8fd
  Resolves: RHBZ#2040701
77f8fd
- Add module to manage automount keys
77f8fd
  Resolves: RHBZ#2040702
77f8fd
77f8fd
* Wed Dec 29 2021 Thomas Woerner <twoerner@redhat.com> - 1.5.3-1
77f8fd
- Update to version 1.5.3
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v1.5.3
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v1.5.2
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v1.5.1
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v1.5.0
77f8fd
  Related: RHBZ#2010622
77f8fd
- automember set default group/hostgroup is missing from the automember module
77f8fd
  Resolves: RHBZ#2021947
77f8fd
- automember remove default group/hostgroup is missing from the automember
77f8fd
  module
77f8fd
  Resolves: RHBZ#2021952
77f8fd
- automember rebuild is missing from the automember module
77f8fd
  Resolves: RHBZ#2021954
77f8fd
- automember remove orphans group/hostgroup is missing from the automember
77f8fd
  module
77f8fd
  Resolves: RHBZ#2021955
77f8fd
- Not able to update existing automember rule description
77f8fd
  Resolves: RHBZ#1976922
77f8fd
77f8fd
* Tue Oct  5 2021 Thomas Woerner <twoerner@redhat.com> - 0.4.0-1
77f8fd
- Update to version 0.4.0
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.4.0
77f8fd
  Resolves: RHBZ#2010622
77f8fd
- Add ability to run modules remotely
77f8fd
  Resolves: RHBZ#2010633
77f8fd
- New management module ipaautomountlocation
77f8fd
  Resolves: RHBZ#2010643
77f8fd
77f8fd
* Mon Aug 16 2021 Thomas Woerner <twoerner@redhat.com> - 0.3.8-3
77f8fd
- Add requirement for ansible-core
77f8fd
  Resolves: RHBZ#1993857
77f8fd
- Remove python3, pip and ansible installation from sanity test
77f8fd
  Related: RHBZ#1993857
77f8fd
- Replace json_query in tests/user/test_users_absent.yml
77f8fd
  Resolves: RHBZ#1992997
77f8fd
77f8fd
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 0.3.8-2
77f8fd
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
77f8fd
  Related: rhbz#1991688
77f8fd
77f8fd
* Thu Jul 15 2021 Thomas Woerner <twoerner@redhat.com> - 0.3.8-1
77f8fd
- Update to version 0.3.7 and 0.3.8
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.7
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.8
77f8fd
  Related: RHBZ#1972178
77f8fd
- automember: Verify condition keys
77f8fd
  Resolves: RHBZ#1981713
77f8fd
- automember: Fix result["failed"] issues with conditions
77f8fd
  Resolves: RHBZ#1981713
77f8fd
- automember: Fix action to be automember or member, not service
77f8fd
  Resolves: RHBZ#1981711
77f8fd
77f8fd
* Thu Jun 17 2021 Thomas Woerner <twoerner@redhat.com> - 0.3.6-3
77f8fd
- Apply fix for ipabackup: Use module to get IPA_BACKUP_DIR from ipaplatform
77f8fd
  Resolves: RRBZ#1973173
77f8fd
77f8fd
* Mon Jun  7 2021 Thomas Woerner <twoerner@redhat.com> - 0.3.6-1
77f8fd
- Update to version 0.3.6
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.6
77f8fd
  Resolves: RHBZ#1972178
77f8fd
- ansible-freeipa-tests not in the compose
77f8fd
  Resolves: RHBZ#1940014
77f8fd
- Remove unsupported parameter for (ipapermission) module: perm_rights from
77f8fd
  permission-present.yml
77f8fd
  Resolves: RHBZ#1973167
77f8fd
- Sample playbook included for selfservice module is incorrect
77f8fd
  Resolves: RHBZ#1973166
77f8fd
- ipa-client-install failing with error code 7(keytab: /usr/sbin/ipa-rmkeytab
77f8fd
  returned 7)
77f8fd
  Resolves: RHBZ#1973169
77f8fd
- New management module ipaserver
77f8fd
  Resolves: RHBZ#1973171
77f8fd
- New management module ipaautomember
77f8fd
  Resolves: RHBZ#1973172
77f8fd
77f8fd
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 0.3.5-2
77f8fd
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
77f8fd
77f8fd
* Wed Mar  3 2021 Thomas Woerner <twoerner@redhat.com> - 0.3.5-1
77f8fd
- Update to version 0.3.5
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.5
77f8fd
77f8fd
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.4-2
77f8fd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
77f8fd
77f8fd
* Mon Jan 18 2021 Thomas Woerner <twoerner@redhat.com> - 0.3.4-1
77f8fd
- Update to version 0.3.4
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.4
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.3
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.2
77f8fd
77f8fd
* Wed Dec  2 2020 Thomas Woerner <twoerner@redhat.com> - 0.3.1-1
77f8fd
- Update to version 0.3.1
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.1
77f8fd
- ipabackup: Fix undefined vars for conditions in shell tasks without else
77f8fd
77f8fd
* Tue Dec  1 2020 Thomas Woerner <twoerner@redhat.com> - 0.3.0-2
77f8fd
- Ship ipabackup role for backup and restore
77f8fd
77f8fd
* Thu Nov 26 2020 Thomas Woerner <twoerner@redhat.com> - 0.3.0-1
77f8fd
- Update to version 0.3.0
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.0
77f8fd
77f8fd
* Fri Oct 09 2020 Thomas Woerner <twoerner@redhat.com> - 0.2.1-1
77f8fd
- Update to version 0.2.1
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.2.1
77f8fd
- Update to version 0.2.0
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.2.0
77f8fd
- New tests sub package providing upstream tests
77f8fd
- Utils in /usr/share/ansible-freeipa/utils
77f8fd
77f8fd
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.12-2
77f8fd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
77f8fd
77f8fd
* Mon Jun 15 2020 Thomas Woerner <twoerner@redhat.com> - 0.1.12-1
77f8fd
- Update to version 0.1.12 bug fix only release
77f8fd
77f8fd
* Thu Jun 11 2020 Thomas Woerner <twoerner@redhat.com> - 0.1.11-1
77f8fd
- Update to version 0.1.11
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.1.11
77f8fd
77f8fd
* Mon Apr 27 2020 Thomas Woerner <twoerner@redhat.com> - 0.1.10-1
77f8fd
- Update to version 0.1.10 with fixes and additional modules
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.1.10
77f8fd
77f8fd
* Mon Mar 16 2020 Thomas Woerner <twoerner@redhat.com> - 0.1.9-1
77f8fd
- Update to version 0.1.8 with lots of fixes and additional modules
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.1.9
77f8fd
77f8fd
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.8-2
77f8fd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
77f8fd
77f8fd
* Fri Dec 20 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.8-1
77f8fd
- Update to version 0.1.8 with lots of fixes and additional modules
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.1.8
77f8fd
  https://github.com/freeipa/ansible-freeipa/releases/tag/v0.1.7
77f8fd
77f8fd
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.6-2
77f8fd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
77f8fd
77f8fd
* Tue Jul 23 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.6-1
77f8fd
- Update to version 0.1.6
77f8fd
  - Lots of documentation updates in READMEs and modules
77f8fd
  - library/ipaclient_get_otp: Enable force mode for host_add call (fixes #74)
77f8fd
  - Flake8 and pylint reated fixes
77f8fd
  - Fixed wrong path to CheckedIPAddress class in ipareplica_test
77f8fd
  - Remove unused ipaserver/library/ipaserver.py
77f8fd
  - No not use wildcard imports for modules
77f8fd
  - ipareplica: Add support for pki_config_override
77f8fd
  - ipareplica: Initialize dns.ip_addresses and dns.reverse_zones for dns setup
77f8fd
  - ipareplica_prepare: Properly initialize pin and cert_name variables
77f8fd
  - ipareplica: Fail with proper error messages
77f8fd
  - ipaserver: Properly set settings related to pkcs12 files
77f8fd
  - ipaclient: RawConfigParser is not always provided by six.moves.configparser
77f8fd
  - ipaclient_setup_nss: paths.GETENT is not available before
77f8fd
    freeipa-4.6.90.pre1
77f8fd
  - ipaserver_test: Initialize value from options.zonemgr
77f8fd
  - ipareplica_setup_custodia: create_replica only available in newer releases
77f8fd
  - ipaclient: Fix typo in dnsok assignment for ipaclient_setup_nss
77f8fd
  - ipa[server,replica]: Set _packages_adtrust for Ubuntu
77f8fd
  - New build script for galaxy release
77f8fd
  - New utils script to update module docs
77f8fd
77f8fd
* Tue Jul  9 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.5-2
77f8fd
- Update README-user.md: Fixed examples, new example
77f8fd
- ipauser example playbooks: Fixed actions, new example
77f8fd
77f8fd
* Tue Jul  9 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.5-1
77f8fd
- Update to version 0.1.5
77f8fd
  - Support for IPA 4.8.0
77f8fd
  - New user management module
77f8fd
  - New group management module
77f8fd
  - ipaserver: Support external signed CA
77f8fd
  - RHEL-8 specific vars files to be able to install needed modules
77f8fd
    automatically
77f8fd
  - ipareplica: Fixes for certmonger and kra setup
77f8fd
  - New tests folder
77f8fd
  - OTP related updates to README files
77f8fd
- Updates of version 0.1.4
77f8fd
  - ipatopologysegment: Use commands, not command
77f8fd
- Updates of version 0.1.3
77f8fd
  - ipaclient_test: Fix Python2 decode use with Python3
77f8fd
  - Fixed: #86 (AttributeError: 'str' object has no attribute 'decode')
77f8fd
  - ipaclient_get_otp: Remove ansible_python_interpreter handling
77f8fd
  - ipaclient: Use omit (None) for password, keytab, no string length checks
77f8fd
  - ipaclient_join: Support to use ipaadmin_keytab without ipaclient_use_otp
77f8fd
  - ipaclient: Report error message if ipaclient_get_otp failed
77f8fd
  - Fixes #17 Improve how tasks manage package installation
77f8fd
  - ipareplica: The dm password is not needed for ipareplica_master_password
77f8fd
  - ipareplica: Use ipareplica_server if set
77f8fd
  - ipatopologysegment: Allow domain+ca suffix, new state: checked
77f8fd
  - Documentation updates
77f8fd
  - Cleanups
77f8fd
- Update of version 0.1.2
77f8fd
  - Now a new Ansible Collection
77f8fd
  - Fix gssapi requirement for OTP: It is only needed if keytab is used with
77f8fd
    OTP now.
77f8fd
  - Fix wrong ansible argument types
77f8fd
  - Do not fail on textwrap for replica deployments with CA
77f8fd
  - Ansible lint and galaxy fixes
77f8fd
  - Disable automatic removal of replication agreements in uninstall
77f8fd
  - Enable freeipa-trust service if adtrust is enabled
77f8fd
  - Add support for hidden replica
77f8fd
  - New topology managament modules
77f8fd
  - Add support for pki_config_override
77f8fd
  - Fix host name setup in server deployment
77f8fd
  - Fix errors when ipaservers variable is not set
77f8fd
  - Fix ipaclient install role length typo
77f8fd
  - Cleanups
77f8fd
77f8fd
* Mon May  6 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.1-1
77f8fd
- Initial package