From 9a5bbab0fe634c4a6ab3e8a0e32b9369b318ec82 Mon Sep 17 00:00:00 2001 From: Thomas Woerner Date: Thu, 17 Jun 2021 13:32:44 +0200 Subject: [PATCH] - Apply fix for ipabackup: Use module to get IPA_BACKUP_DIR from ipaplatform Resolves: RRBZ#1973173 - Update to version 0.3.6 https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.6 Resolves: RHBZ#1972178 - ansible-freeipa-tests not in the compose Resolves: RHBZ#1940014 - Remove unsupported parameter for (ipapermission) module: perm_rights from permission-present.yml Resolves: RHBZ#1973167 - Sample playbook included for selfservice module is incorrect Resolves: RHBZ#1973166 - ipa-client-install failing with error code 7(keytab: /usr/sbin/ipa-rmkeytab returned 7) Resolves: RHBZ#1973169 - New management module ipaserver Resolves: RHBZ#1973171 - New management module ipaautomember Resolves: RHBZ#1973172 --- .gitignore | 1 + ...PA_BACKUP_DIR-from-ipap_rhbz#1969847.patch | 115 ++++++++++++++++++ ansible-freeipa.spec | 46 +++++-- sources | 2 +- 4 files changed, 150 insertions(+), 14 deletions(-) create mode 100644 ansible-freeipa-0.3.6-ipabackup-Use-module-to-get-IPA_BACKUP_DIR-from-ipap_rhbz#1969847.patch diff --git a/.gitignore b/.gitignore index 78648be..44acd50 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /ansible-freeipa-0.3.1.tar.gz /ansible-freeipa-0.3.4.tar.gz /ansible-freeipa-0.3.5.tar.gz +/ansible-freeipa-0.3.6.tar.gz diff --git a/ansible-freeipa-0.3.6-ipabackup-Use-module-to-get-IPA_BACKUP_DIR-from-ipap_rhbz#1969847.patch b/ansible-freeipa-0.3.6-ipabackup-Use-module-to-get-IPA_BACKUP_DIR-from-ipap_rhbz#1969847.patch new file mode 100644 index 0000000..26c3dec --- /dev/null +++ b/ansible-freeipa-0.3.6-ipabackup-Use-module-to-get-IPA_BACKUP_DIR-from-ipap_rhbz#1969847.patch @@ -0,0 +1,115 @@ +From db208bd6c11afda738b254b4d21b3cfb5307a3fd Mon Sep 17 00:00:00 2001 +From: Thomas Woerner +Date: Wed, 9 Jun 2021 10:53:34 +0200 +Subject: [PATCH] ipabackup: Use module to get IPA_BACKUP_DIR from ipaplatform + +Up to now a python snippet was used to get IPA_BACKUP_DIR from ipaplatform +but this was not working when ansible_facts was false due to not getting +ansible_python_interpreter set. + +The module version is also working if gather_facts is turned off. +--- + .../library/ipabackup_get_backup_dir.py | 69 +++++++++++++++++++ + roles/ipabackup/tasks/get_ipabackup_dir.yml | 12 ++-- + 2 files changed, 73 insertions(+), 8 deletions(-) + create mode 100644 roles/ipabackup/library/ipabackup_get_backup_dir.py + +diff --git a/roles/ipabackup/library/ipabackup_get_backup_dir.py b/roles/ipabackup/library/ipabackup_get_backup_dir.py +new file mode 100644 +index 0000000..b76d01d +--- /dev/null ++++ b/roles/ipabackup/library/ipabackup_get_backup_dir.py +@@ -0,0 +1,69 @@ ++#!/usr/bin/python ++# -*- coding: utf-8 -*- ++ ++# Authors: ++# Thomas Woerner ++# ++# Copyright (C) 2021 Red Hat ++# see file 'COPYING' for use and warranty information ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation, either version 3 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++ ++ANSIBLE_METADATA = { ++ 'metadata_version': '1.0', ++ 'supported_by': 'community', ++ 'status': ['preview'], ++} ++ ++DOCUMENTATION = ''' ++--- ++module: ipabackup_get_backup_dir ++short description: ++ Get IPA_BACKUP_DIR from ipaplatform ++description: ++ Get IPA_BACKUP_DIR from ipaplatform ++options: ++author: ++ - Thomas Woerner ++''' ++ ++EXAMPLES = ''' ++# Get IPA_BACKUP_DIR from ipaplatform ++- name: ipabackup_get_backup_dir: ++ register result ++''' ++ ++RETURN = ''' ++backup_dir: ++ description: IPA_BACKUP_DIR from ipaplatform ++ returned: always ++ type: str ++''' ++ ++from ansible.module_utils.basic import AnsibleModule ++from ipaplatform.paths import paths ++ ++ ++def main(): ++ module = AnsibleModule( ++ argument_spec=dict(), ++ supports_check_mode=True, ++ ) ++ ++ module.exit_json(changed=False, ++ backup_dir=paths.IPA_BACKUP_DIR) ++ ++ ++if __name__ == '__main__': ++ main() +diff --git a/roles/ipabackup/tasks/get_ipabackup_dir.yml b/roles/ipabackup/tasks/get_ipabackup_dir.yml +index 45cb48a..a7cb29d 100644 +--- a/roles/ipabackup/tasks/get_ipabackup_dir.yml ++++ b/roles/ipabackup/tasks/get_ipabackup_dir.yml +@@ -1,12 +1,8 @@ + --- +-- name: Get IPA_BACKUP_DIR dir from ipaplatform +- command: "{{ ansible_python_interpreter | default('/usr/bin/python') }}" +- args: +- stdin: | +- from ipaplatform.paths import paths +- print(paths.IPA_BACKUP_DIR) +- register: result_ipaplatform_backup_dir ++- name: Get IPA_BACKUP_DIR from ipaplatform ++ ipabackup_get_backup_dir: ++ register: result_ipabackup_get_backup_dir + + - name: Set IPA backup dir + set_fact: +- ipabackup_dir: "{{ result_ipaplatform_backup_dir.stdout_lines | first }}" ++ ipabackup_dir: "{{ result_ipabackup_get_backup_dir.backup_dir }}" +-- +2.31.1 + diff --git a/ansible-freeipa.spec b/ansible-freeipa.spec index adc0951..72897a7 100644 --- a/ansible-freeipa.spec +++ b/ansible-freeipa.spec @@ -7,21 +7,18 @@ Summary: Roles and playbooks to deploy FreeIPA servers, replicas and clients Name: ansible-freeipa -Version: 0.3.5 -Release: 2%{?dist} +Version: 0.3.6 +Release: 3%{?dist} URL: https://github.com/freeipa/ansible-freeipa License: GPLv3+ Source: https://github.com/freeipa/ansible-freeipa/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Patch1: ansible-freeipa-0.3.6-ipabackup-Use-module-to-get-IPA_BACKUP_DIR-from-ipap_rhbz#1969847.patch BuildArch: noarch %description -ansible-freeipa provides Ansible roles and playbooks to install and uninstall -FreeIPA servers, replicas and clients. Also modules for management. - -Note: The ansible playbooks and roles require a configured ansible environment -where the ansible nodes are reachable and are properly set up to have an IP -address and a working package manager. +Ansible roles and playbooks to install and uninstall FreeIPA servers, replicas and clients. Also modules for group, host, topology and user management. +Note: The Ansible playbooks and roles require a configured Ansible environment where the Ansible nodes are reachable and are properly set up to have an IP address and a working package manager. Features - Server, replica and client deployment @@ -29,6 +26,7 @@ Features - One-time-password (OTP) support for client installation - Repair mode for clients - Backup and restore, also to and from controller +- Modules for automembership rule management - Modules for config management - Modules for delegation management - Modules for dns config management @@ -47,12 +45,13 @@ Features - Modules for pwpolicy management - Modules for role management - Modules for self service management +- Modules for server management - Modules for service management - Modules for sudocmd management - Modules for sudocmdgroup management - Modules for sudorule management - Modules for topology management -- Modules fot trust management +- Modules for trust management - Modules for user management - Modules for vault management @@ -60,10 +59,7 @@ Supported FreeIPA Versions FreeIPA versions 4.6 and up are supported by all roles. -The client role supports versions 4.4 and up, the server role is working with -versions 4.5 and up, the replica role is currently only working with versions -4.6 and up. - +The client role supports versions 4.4 and up, the server role is working with versions 4.5 and up, the replica role is currently only working with versions 4.6 and up. Supported Distributions - RHEL/CentOS 7.4+ @@ -108,6 +104,7 @@ to get the needed requrements to run the tests. %prep %setup -q # Do not create backup files with patches +%patch1 -p1 # Fix python modules and module utils: # - Remove shebang @@ -164,6 +161,29 @@ cp -rp tests %{buildroot}%{_datadir}/ansible-freeipa/ %{_datadir}/ansible-freeipa/requirements-tests.txt %changelog +* Thu Jun 17 2021 Thomas Woerner - 0.3.6-3 +- Apply fix for ipabackup: Use module to get IPA_BACKUP_DIR from ipaplatform + Resolves: RRBZ#1973173 + +* Mon Jun 7 2021 Thomas Woerner - 0.3.6-1 +- Update to version 0.3.6 + https://github.com/freeipa/ansible-freeipa/releases/tag/v0.3.6 + Resolves: RHBZ#1972178 +- ansible-freeipa-tests not in the compose + Resolves: RHBZ#1940014 +- Remove unsupported parameter for (ipapermission) module: perm_rights from + permission-present.yml + Resolves: RHBZ#1973167 +- Sample playbook included for selfservice module is incorrect + Resolves: RHBZ#1973166 +- ipa-client-install failing with error code 7(keytab: /usr/sbin/ipa-rmkeytab + returned 7) + Resolves: RHBZ#1973169 +- New management module ipaserver + Resolves: RHBZ#1973171 +- New management module ipaautomember + Resolves: RHBZ#1973172 + * Thu Apr 15 2021 Mohan Boddu - 0.3.5-2 - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 diff --git a/sources b/sources index cbf80d5..4273ac9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ansible-freeipa-0.3.5.tar.gz) = e7455aad7500acf4c6df8b0812d4166acc968da4907743aaf39c0a2410e927bc117273914564ea5d95c52c0187a32c978e773969a7b54532bf9d6ed66034bc7c +SHA512 (ansible-freeipa-0.3.6.tar.gz) = 836b85883fa13f06f331d85f85bcf20e4d1bb9718e3a38d087195f2d40fc2d13346b25c4ab724bdb3ef676dc6542471ad9f0768ed5c9f8f2066db3697acb9c3d