Blame SPECS/ansible-freeipa.spec

9e975f
# Turn off automatic python byte compilation because these are Ansible
9e975f
# roles and the files are transferred to the node and compiled there with
9e975f
# the python verison used in the node
9e975f
%define __brp_python_bytecompile %{nil}
9e975f
9e975f
Summary: Roles and playbooks to deploy FreeIPA servers, replicas and clients
9e975f
Name: ansible-freeipa
d9912c
Version: 0.1.8
d9912c
Release: 3%{?dist}
9e975f
URL: https://github.com/freeipa/ansible-freeipa
9e975f
License: GPLv3+
9e975f
Source: https://github.com/freeipa/ansible-freeipa/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
d9912c
Patch1: ansible-freeipa-0.1.8-ipahost-Fix-choices-of-auth_ind-parameter-allow-to-reset-parameter_rhbz#1783992.patch
d9912c
Patch2: ansible-freeipa-0.1.8-ipauser-Allow-reset-of-userauthtype-do-not-depend-on-first-last-for-mod_rhbz#1784474.patch
d9912c
Patch3: ansible-freeipa-0.1.8-ipahost-Enhanced-failure-msg-for-member-params-used-without-member-action_rhbz#1783948.patch
d9912c
Patch4: ansible-freeipa-0.1.8-Add-missing-attributes-to-ipasudorule_rhbz#1788168,1788035,1788024.patch
d9912c
Patch5: ansible-freeipa-0.1.8-ipapwpolicy-Use-global_policy-if-name-is-not-set_rhbz#1797532.patch
d9912c
Patch6: ansible-freeipa-0.1.8-ipahbacrule-Fix-handing-of-members-with-action-hbacrule_rhbz#1787996.patch
d9912c
Patch7: ansible-freeipa-0.1.8-ansible_freeipa_module-Fix-comparison-of-bool-parameters-in-compare_args_ipa_rhbz#1784514.patch
d9912c
Patch8: ansible-freeipa-ipahost-Add-support-for-several-IP-addresses-and-also-to-change-them_rhbz#1783979,1783976.patch
d9912c
Patch9: ansible-freeipa-0.1.8-ipahost-Fail-on-action-member-for-new-hosts-fix-dnsrecord_add-reverse-flag_rhbz#1803026.patch
d9912c
Patch10: ansible-freeipa-0.1.8-ipahost-Do-not-fail-on-missing-DNS-or-zone-when-no-IP-address-given_rhbz#1804838.patch
9e975f
BuildArch: noarch
9e975f
9e975f
#Requires: ansible
9e975f
9e975f
%description
9e975f
ansible-freeipa provides Ansible roles and playbooks to install and uninstall
d9912c
FreeIPA servers, replicas and clients also modules for management.
9e975f
9e975f
Note: The ansible playbooks and roles require a configured ansible environment
9e975f
where the ansible nodes are reachable and are properly set up to have an IP
9e975f
address and a working package manager.
9e975f
9e975f
Features
9e975f
9e975f
- Server, replica and client deployment
9e975f
- Cluster deployments: Server, replicas and clients in one playbook
9e975f
- One-time-password (OTP) support for client installation
9e975f
- Repair mode for clients
d9912c
- Modules for group management
d9912c
- Modules for hbacrule management
d9912c
- Modules for hbacsvc management
d9912c
- Modules for hbacsvcgroup management
d9912c
- Modules for host management
d9912c
- Modules for hostgroup management
d9912c
- Modules for pwpolicy management
d9912c
- Modules for sudocmd management
d9912c
- Modules for sudocmdgroup management
d9912c
- Modules for sudorule management
d9912c
- Modules for topology management
d9912c
- Modules for user management
9e975f
9e975f
Supported FreeIPA Versions
9e975f
9e975f
FreeIPA versions 4.6 and up are supported by all roles.
9e975f
9e975f
The client role supports versions 4.4 and up, the server role is working with
9e975f
versions 4.5 and up, the replica role is currently only working with versions
9e975f
4.6 and up.
9e975f
9e975f
Supported Distributions
9e975f
9e975f
- RHEL/CentOS 7.4+
9e975f
- Fedora 26+
9e975f
- Ubuntu
d9912c
- Debian 10+ (ipaclient only, no server or replica!)
9e975f
9e975f
Requirements
9e975f
9e975f
  Controller
d9912c
  - Ansible version: 2.8+ (ansible-freeipa is an Ansible Collection)
d9912c
  - /usr/bin/kinit is required on the controller if a one time password (OTP)
d9912c
    is used
9e975f
  - python3-gssapi is required on the controller if a one time password (OTP)
d9912c
    is used with keytab to install the client.
9e975f
9e975f
  Node
9e975f
  - Supported FreeIPA version (see above)
9e975f
  - Supported distribution (needed for package installation only, see above)
9e975f
9e975f
Limitations
9e975f
9e975f
External CA support is not supported or working. The currently needed two step
9e975f
process is an issue for the processing in the role. The configuration of the
9e975f
server is partly done already and needs to be continued after the CSR has been
9e975f
handled. This is for example breaking the deployment of a server with replicas
9e975f
or clients in one playbook.
9e975f
9e975f
%prep
9e975f
%setup -q
9e975f
# Do not create backup files with patches
9e975f
%patch1 -p1
9e975f
%patch2 -p1
9e975f
%patch3 -p1
9e975f
%patch4 -p1
d9912c
%patch5 -p1
d9912c
%patch6 -p1
d9912c
%patch7 -p1
d9912c
%patch8 -p1
d9912c
%patch9 -p1
d9912c
%patch10 -p1
9e975f
# Fix python modules and module utils:
9e975f
# - Remove shebang
9e975f
# - Remove execute flag
9e975f
for i in roles/ipa*/library/*.py roles/ipa*/module_utils/*.py plugins/*/*.py; do
9e975f
    sed -i '/\/usr\/bin\/python*/d' $i
9e975f
    chmod a-x $i
9e975f
done
9e975f
# Add execute flag to py3test.py scripts
9e975f
chmod a+x roles/ipa*/files/py3test.py
9e975f
9e975f
%build
9e975f
9e975f
%install
9e975f
install -m 755 -d %{buildroot}%{_datadir}/ansible/roles/
9e975f
cp -rp roles/ipaserver %{buildroot}%{_datadir}/ansible/roles/
9e975f
cp -rp roles/ipaserver/README.md README-server.md
9e975f
cp -rp roles/ipareplica %{buildroot}%{_datadir}/ansible/roles/
9e975f
cp -rp roles/ipareplica/README.md README-replica.md
9e975f
cp -rp roles/ipaclient %{buildroot}%{_datadir}/ansible/roles/
9e975f
cp -rp roles/ipaclient/README.md README-client.md
9e975f
install -m 755 -d %{buildroot}%{_datadir}/ansible/plugins/
9e975f
cp -rp plugins/* %{buildroot}%{_datadir}/ansible/plugins/
9e975f
9e975f
%files
9e975f
%license COPYING
9e975f
%{_datadir}/ansible/roles/ipaserver
9e975f
%{_datadir}/ansible/roles/ipareplica
9e975f
%{_datadir}/ansible/roles/ipaclient
9e975f
%{_datadir}/ansible/plugins/module_utils
9e975f
%{_datadir}/ansible/plugins/modules
9e975f
%doc README.md
d9912c
%doc README-*.md
9e975f
%doc playbooks
9e975f
9e975f
%changelog
d9912c
* Thu Feb 20 2020 Thomas Woerner <twoerner@redhat.com> - 0.1.8-3
d9912c
- ipahost: Do not fail on missing DNS or zone when no IP address given
d9912c
  Resolves: RHBZ#1804838
d9912c
d9912c
* Fri Feb 14 2020 Thomas Woerner <twoerner@redhat.com> - 0.1.8-2
d9912c
- Updated RPM description for ansible-freeipa 0.1.8
d9912c
  Related: RHBZ#1748986
d9912c
- ipahost: Fix choices of auth_ind parameter, allow to reset parameter
d9912c
  Resolves: RHBZ#1783992
d9912c
- ipauser: Allow reset of userauthtype, do not depend on first,last for mod
d9912c
  Resolves: RHBZ#1784474
d9912c
- ipahost: Enhanced failure msg for member params used without member action
d9912c
  Resolves: RHBZ#1783948
d9912c
- Add missing attributes to ipasudorule
d9912c
  Resolves: RHBZ#1788168
d9912c
  Resolves: RHBZ#1788035
d9912c
  Resolves: RHBZ#1788024
d9912c
- ipapwpolicy: Use global_policy if name is not set
d9912c
  Resolves: RHBZ#1797532
d9912c
- ipahbacrule: Fix handing of members with action hbacrule
d9912c
  Resolves: RHBZ#1787996
d9912c
- ansible_freeipa_module: Fix comparison of bool parameters in compare_args_isa
d9912c
  Resolves: RHBZ#1784514
d9912c
- ipahost: Add support for several IP addresses and also to change them
d9912c
  Resolves: RHBZ#1783979
d9912c
  Resolves: RHBZ#1783976
d9912c
- ipahost: Fail on action member for new hosts, fix dnsrecord_add reverse flag
d9912c
  Resolves: RHBZ#1803026
d9912c
d9912c
* Sat Dec 14 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.8-1
d9912c
- Update to version 0.1.8 (bug fix release)
d9912c
  - roles/ipaclient/README.md: Add information about ipaclient_otp
d9912c
  - Install and enable firewalld if it is configured for ipaserver and
d9912c
    ipareplica roles
d9912c
  - ipaserver_test: Do not use zone_overlap_check for domain name validation
d9912c
  - Allow execution of API commands that do not require a name
d9912c
  - Update README-host: Drop options from allow_*keytab parameters docs
d9912c
  - ipauser: Extend email addresses with default email domain if no domain is
d9912c
    given
d9912c
    Resolves: RHBZ#1747413
d9912c
  Related: RHBZ#1748986
d9912c
d9912c
* Mon Dec  2 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.7-1
d9912c
- Update to version 0.1.7
d9912c
  - Add debian support for ipaclient
d9912c
  - Added support for predefining client OTP using ipaclient_otp
d9912c
  - ipatopologysegment: Store suffix for commands in command list
d9912c
  - ipatopologysegment: Fail for missing entry with reinitialized
d9912c
  - Utils scripts: ansible-ipa-[server,replica,client]-install
d9912c
  - ipaserver_test,ipareplica_prepare: Do not return _pkcs12_file settings
d9912c
  - ansible_freeipa_module: Add support for GSSAPI
d9912c
  - ansible_ipa_client: Drop import of configure_nsswitch_database
d9912c
  - New host management module
d9912c
  - New hostgroup management module
d9912c
  - ipagroup: Remove unused member_[present,absent] states
d9912c
  - external-ca tests: Fix typo in inventory files
d9912c
  - tests/external-signed-ca tests: Fix external-ca.sh to use proper serials
d9912c
  - ipagroup: Rework to use same mechanisms as ipahostgroup module
d9912c
  - ansible_freeipa_module: api_command should not have extra try clause
d9912c
  - ansible_freeipa_module: compare_args_ipa needs to compare lists orderless
d9912c
  - ansible_freeipa_module: New function api_check_param
d9912c
  - ansible_freeipa_module: New functions module_params_get and _afm_convert
d9912c
  - ansible_freeipa_module: Add missing to_text import for _afm_convert
d9912c
  - ansible_freeipa_module: Convert tuple to list in compare_args_ipa
d9912c
  - ansible_freeipa_module: New function api_get_realm
d9912c
  - ipauser: User module extension
d9912c
  - New sudocmd management module
d9912c
  - New sudocmdgroup management module
d9912c
  - ansible_freeipa_module: Convert int to string in compare_args_ipa
d9912c
  - New pwpolicy management module
d9912c
  - New hbacsvc (HBAC Service) management module
d9912c
  - New hbacsvcgroup (HBAC Service Group) management module
d9912c
  - ipagroup: Properly support IPA versions 4.6 and RHEL-7
d9912c
  - ipagroup: Fix changed flag, new test cases
d9912c
  - ipauser: Add info about version limitation of passwordexpiration
d9912c
  - New hbacrule (HBAC Rule) management module
d9912c
  - ipahostgroup: Fix changed flag, support IPA 4.6 on RHEL-7, new test cases
d9912c
  - New sudorule (Sudo Rule) management module
d9912c
  - ipauser: Support 'sn' alias of 'last' for surname
d9912c
  - Update galaxy.yml: Update description, drop empty dependencies
d9912c
  - Update ipauser.py: Fix typo in users.name description
d9912c
  - ipaclient: Fix misspelled sssd options
d9912c
  - ipauser: Return generated random password
d9912c
  - ipahost: Return generated random password
d9912c
  - Added context configuration to api_connect
d9912c
  - ansible_freeipa_module: Better support for KRB5CCNAME environment variable
d9912c
  - ipa[server,replica,client]: Add support for CentOS-8
d9912c
  - ipahost: Extension to be able handle several hosts and all settings
d9912c
  - Flake8 fixes
d9912c
  - Documentation updates
d9912c
  - Cleanup
d9912c
  Resolves: RHBZ#1748986
d9912c
9e975f
* Fri Sep  6 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.6-4
9e975f
- ansible_ipa_client: Drop import of configure_nsswitch_database
9e975f
  (RHBZ#1748905)
9e975f
9e975f
* Wed Jul 31 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.6-3
9e975f
- ipatopologysegment: Store suffix for commands in command list (RHBZ#1733547)
9e975f
- ipatopologysegment: Fail for missing entry with reinitialized (RHBZ#1733559)
9e975f
9e975f
* Tue Jul 23 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.6-2
9e975f
- Drop dirserv_cert_files key from utils/gen_module_docs.py for covscan
9e975f
9e975f
* Tue Jul 23 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.6-1
9e975f
- update to version 0.1.6
9e975f
  - Lots of documentation updates in READMEs and modules
9e975f
  - library/ipaclient_get_otp: Enable force mode for host_add call (fixes #74)
9e975f
  - Flake8 and pylint reated fixes
9e975f
  - Fixed wrong path to CheckedIPAddress class in ipareplica_test
9e975f
  - Remove unused ipaserver/library/ipaserver.py
9e975f
  - No not use wildcard imports for modules
9e975f
  - ipareplica: Add support for pki_config_override
9e975f
  - ipareplica: Initialize dns.ip_addresses and dns.reverse_zones for dns setup
9e975f
  - ipareplica_prepare: Properly initialize pin and cert_name variables
9e975f
  - ipareplica: Fail with proper error messages
9e975f
  - ipaserver: Properly set settings related to pkcs12 files
9e975f
  - ipaclient: RawConfigParser is not always provided by six.moves.configparser
9e975f
  - ipaclient_setup_nss: paths.GETENT is not available before
9e975f
    freeipa-4.6.90.pre1
9e975f
  - ipaserver_test: Initialize value from options.zonemgr
9e975f
  - ipareplica_setup_custodia: create_replica only available in newer releases
9e975f
  - ipaclient: Fix typo in dnsok assignment for ipaclient_setup_nss
9e975f
  - ipa[server,replica]: Set _packages_adtrust for Ubuntu
9e975f
  - New build script for galaxy release
9e975f
  - New utils script to update module docs
9e975f
- Changes from ansible-freeipa-0.1.5
9e975f
  - Support for IPA 4.8.0
9e975f
  - New user management module
9e975f
  - New group management module
9e975f
  - ipaserver: Support external signed CA
9e975f
  - RHEL-8 specific vars files to be able to install needed modules
9e975f
    automatically
9e975f
  - ipareplica: Fixes for certmonger and kra setup
9e975f
  - New tests folder
9e975f
  - OTP related updates to README files
9e975f
9e975f
* Thu Jul  4 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.4-2
9e975f
- ansible_ipa_client: Always set options.unattended (RHBZ#1726645)
9e975f
- ipaserver_prepare: Properly report error, do show trace back (RHBZ#1726668)
9e975f
- ipa[server,replica,client]: RHEL-8 specific vars files (RHBZ#1727095)
9e975f
- ipatopology modules: Use ipaadmin_ prefix for principal and password
9e975f
  (RHBZ#1727101)
9e975f
9e975f
* Mon Jun 17 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.4-1
9e975f
- update to version 0.1.4
9e975f
  - ipatopologysegment: Use commands, not command
9e975f
9e975f
* Mon Jun 17 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.3-1
9e975f
- update to version 0.1.3
9e975f
  - ipaclient_test: Fix Python2 decode use with Python3
9e975f
  - Fixed: #86 (AttributeError: 'str' object has no attribute 'decode')
9e975f
  - ipaclient_get_otp: Remove ansible_python_interpreter handling
9e975f
  - ipaclient: Use omit (None) for password, keytab, no string length checks
9e975f
  - ipaclient_join: Support to use ipaadmin_keytab without ipaclient_use_otp
9e975f
  - ipaclient: Report error message if ipaclient_get_otp failed
9e975f
  - Fixes #17 Improve how tasks manage package installation
9e975f
  - ipareplica: The dm password is not needed for ipareplica_master_password
9e975f
  - ipareplica: Use ipareplica_server if set
9e975f
  - ipatopologysegment: Allow domain+ca suffix, new state: checked
9e975f
  - Documentation updates
9e975f
  - Cleanups
9e975f
9e975f
* Tue Jun 11 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.2-3
9e975f
- bump release for functional test
9e975f
9e975f
* Tue Jun 11 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.2-2
9e975f
- bump release for functional test
9e975f
9e975f
* Fri Jun  7 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.2-1
9e975f
- update to version 0.1.2
9e975f
  - Now a new Ansible Collection
9e975f
  - Fix gssapi requirement for OTP: It is only needed if keytab is used with
9e975f
    OTP now.
9e975f
  - Fix wrong ansible argument types
9e975f
  - Do not fail on textwrap for replica deployments with CA
9e975f
  - Ansible lint and galaxy fixes
9e975f
  - Disable automatic removal of replication agreements in uninstall
9e975f
  - Enable freeipa-trust service if adtrust is enabled
9e975f
  - Add support for hidden replica
9e975f
  - New topology managament modules
9e975f
  - Add support for pki_config_override
9e975f
  - Fix host name setup in server deployment
9e975f
  - Fix errors when ipaservers variable is not set
9e975f
  - Fix ipaclient install role length typo
9e975f
  - Cleanups
9e975f
  
9e975f
* Mon May  6 2019 Thomas Woerner <twoerner@redhat.com> - 0.1.1-1
9e975f
- Initial package