import ansible-core-2.13.3-1.el8

This commit is contained in:
CentOS Sources 2022-11-08 01:32:21 -05:00 committed by root
parent 7eb819af72
commit ef451b0087
4 changed files with 103 additions and 147 deletions

View File

@ -1,4 +1,7 @@
c482edef8c65b0ebf62eb0eddab3c039ac1e4589 SOURCES/ansible-6c75cf5c83da044d1fd69bc444ce4de50d728d09.tar.gz 56057bba4714e59b0f28bbb778bdb8321a198dd7 SOURCES/ansible-c1bb0c6ab89a344bdcc07ef66887c310e661e3a6.tar.gz
6a9e1e0eec23c0f3091fa53f91eb8701ad7caaeb SOURCES/jinja2-b08cd4bc64bb980df86ed2876978ae5735572280.tar.gz
72c5fe7f8145d4cff66426c444c33104a9ae3d53 SOURCES/markupsafe-b5a517506d6cb8091e215a4a89e47db5eee6a68f.tar.gz
d5b06047a8a5937c9433c8e0e88bcf2ccb6a4f84 SOURCES/packaging-ded06cedf6e20680eea0363fac894cb4a09e7831.tar.gz d5b06047a8a5937c9433c8e0e88bcf2ccb6a4f84 SOURCES/packaging-ded06cedf6e20680eea0363fac894cb4a09e7831.tar.gz
f20e820c8fa08ff162ace90735a2a89c599f7166 SOURCES/pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605.tar.gz f20e820c8fa08ff162ace90735a2a89c599f7166 SOURCES/pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605.tar.gz
2203e09b2add3d1edceb28e20b2a091e5e6c0344 SOURCES/resolvelib-d935f9fd07246d9641436c7a8e6ae39423374e28.tar.gz
c17fd6000af4ccf32930c41e928fea1e38cb5d0a SOURCES/straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz c17fd6000af4ccf32930c41e928fea1e38cb5d0a SOURCES/straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz

5
.gitignore vendored
View File

@ -1,4 +1,7 @@
SOURCES/ansible-6c75cf5c83da044d1fd69bc444ce4de50d728d09.tar.gz SOURCES/ansible-c1bb0c6ab89a344bdcc07ef66887c310e661e3a6.tar.gz
SOURCES/jinja2-b08cd4bc64bb980df86ed2876978ae5735572280.tar.gz
SOURCES/markupsafe-b5a517506d6cb8091e215a4a89e47db5eee6a68f.tar.gz
SOURCES/packaging-ded06cedf6e20680eea0363fac894cb4a09e7831.tar.gz SOURCES/packaging-ded06cedf6e20680eea0363fac894cb4a09e7831.tar.gz
SOURCES/pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605.tar.gz SOURCES/pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605.tar.gz
SOURCES/resolvelib-d935f9fd07246d9641436c7a8e6ae39423374e28.tar.gz
SOURCES/straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz SOURCES/straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz

View File

@ -1,87 +0,0 @@
From ae35fc04c3a2068b1d37efe813d1c6938b4f2634 Mon Sep 17 00:00:00 2001
From: Brian Coca <bcoca@users.noreply.github.com>
Date: Wed, 16 Feb 2022 11:55:03 -0500
Subject: [PATCH] Fix final fact delegation (#77008) (#77017)
* fix facts delegation loop overwrite
partial revert of change to allow facts to be present in each loop iteration
was not needed in final results as result processing alreayd had the disctiontion
and ended up breaking the assumptions in the calling code.
fixes #76676
(cherry picked from commit c9d3518d2f3812787e1627806b5fa93f8fae48a6)
---
.../fragments/fix_fax_delegation_loops.yml | 2 ++
lib/ansible/executor/task_executor.py | 8 +------
.../delegate_to/delegate_facts_loop.yml | 21 ++++++++++++++++++-
3 files changed, 23 insertions(+), 8 deletions(-)
create mode 100644 changelogs/fragments/fix_fax_delegation_loops.yml
diff --git a/changelogs/fragments/fix_fax_delegation_loops.yml b/changelogs/fragments/fix_fax_delegation_loops.yml
new file mode 100644
index 0000000000..d9e07bf110
--- /dev/null
+++ b/changelogs/fragments/fix_fax_delegation_loops.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - task_executor reverts the change to push facts into delegated vars on loop finalization as result managing code already handles this and was duplicating effort to wrong result.
diff --git a/lib/ansible/executor/task_executor.py b/lib/ansible/executor/task_executor.py
index 1a7c666fea..05dcb96446 100644
--- a/lib/ansible/executor/task_executor.py
+++ b/lib/ansible/executor/task_executor.py
@@ -745,13 +745,7 @@ class TaskExecutor:
if 'ansible_facts' in result and self._task.action not in C._ACTION_DEBUG:
if self._task.action in C._ACTION_WITH_CLEAN_FACTS:
- if self._task.delegate_to and self._task.delegate_facts:
- if '_ansible_delegated_vars' in variables:
- variables['_ansible_delegated_vars'].update(result['ansible_facts'])
- else:
- variables['_ansible_delegated_vars'] = result['ansible_facts']
- else:
- variables.update(result['ansible_facts'])
+ variables.update(result['ansible_facts'])
else:
# TODO: cleaning of facts should eventually become part of taskresults instead of vars
af = wrap_var(result['ansible_facts'])
diff --git a/test/integration/targets/delegate_to/delegate_facts_loop.yml b/test/integration/targets/delegate_to/delegate_facts_loop.yml
index 90a25676dd..28a1488de3 100644
--- a/test/integration/targets/delegate_to/delegate_facts_loop.yml
+++ b/test/integration/targets/delegate_to/delegate_facts_loop.yml
@@ -5,7 +5,6 @@
test: 123
delegate_to: "{{ item }}"
delegate_facts: true
- when: test is not defined
loop: "{{ groups['all'] | difference(['localhost']) }}"
- name: ensure we didnt create it on current host
@@ -19,3 +18,23 @@
- "'test' in hostvars[item]"
- hostvars[item]['test'] == 123
loop: "{{ groups['all'] | difference(['localhost']) }}"
+
+
+- name: test that we don't polute whole group with one value
+ hosts: localhost
+ gather_facts: no
+ vars:
+ cluster_name: bleh
+ tasks:
+ - name: construct different fact per host in loop
+ set_fact:
+ vm_name: "{{ cluster_name }}-{{item}}"
+ delegate_to: "{{ item }}"
+ delegate_facts: True
+ with_items: "{{ groups['all'] }}"
+
+ - name: ensure the fact is personalized for each host
+ assert:
+ that:
+ - hostvars[item]['vm_name'].endswith(item)
+ loop: "{{ groups['all'] }}"
--
2.30.2

View File

@ -7,8 +7,8 @@
# ansible-test munges the shebangs itself. # ansible-test munges the shebangs itself.
%global __brp_mangle_shebangs_exclude_from_file %{SOURCE1} %global __brp_mangle_shebangs_exclude_from_file %{SOURCE1}
%global commitId 6c75cf5c83da044d1fd69bc444ce4de50d728d09 %global commitId c1bb0c6ab89a344bdcc07ef66887c310e661e3a6
%global python38_sitelib /usr/lib/python3.8/site-packages/ %global python39_sitelib /usr/lib/python3.9/site-packages/
# NOTE(pabelanger): Don't auto add pwsh as Requires for ansible-test. We do # NOTE(pabelanger): Don't auto add pwsh as Requires for ansible-test. We do
# not wish to package it. # not wish to package it.
@ -23,19 +23,22 @@
%define py2_shbang_opts %{nil} %define py2_shbang_opts %{nil}
%define py3_shbang_opts %{nil} %define py3_shbang_opts %{nil}
%define vendor_path %{buildroot}%{python38_sitelib}/ansible/_vendor/ %define vendor_path %{buildroot}%{python39_sitelib}/ansible/_vendor/
%define vendor_pip /usr/bin/python3.8 -m pip install --no-deps -v --no-use-pep517 --no-binary :all: -t %{vendor_path} %define vendor_pip /usr/bin/python3.9 -m pip install --no-deps -v --no-use-pep517 --no-binary :all: -t %{vendor_path}
# These control which bundled dep versions we pin against # These control which bundled dep versions we pin against
%global jinja2_version 3.1.2
%global markupsafe_version 2.1.0
%global packaging_version 20.4 %global packaging_version 20.4
%global pyparsing_version 2.4.7 %global pyparsing_version 2.4.7
%global resolvelib_version 0.5.4
%global straightplugin_version 1.4.1 %global straightplugin_version 1.4.1
Name: ansible-core Name: ansible-core
Summary: SSH-based configuration management, deployment, and task execution system Summary: SSH-based configuration management, deployment, and task execution system
Version: 2.12.2 Version: 2.13.3
Release: 4%{?dist} Release: 1%{?dist}
ExcludeArch: i686 ExcludeArch: i686
Group: Development/Libraries Group: Development/Libraries
@ -44,13 +47,14 @@ Source0: ansible-%{commitId}.tar.gz
Source1: ansible-test-data-files.txt Source1: ansible-test-data-files.txt
# And bundled deps # And bundled deps
Source2: packaging-ded06cedf6e20680eea0363fac894cb4a09e7831.tar.gz Source2: jinja2-b08cd4bc64bb980df86ed2876978ae5735572280.tar.gz
Source3: pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605.tar.gz Source3: markupsafe-b5a517506d6cb8091e215a4a89e47db5eee6a68f.tar.gz
Source4: packaging-ded06cedf6e20680eea0363fac894cb4a09e7831.tar.gz
Source5: pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605.tar.gz
Source6: resolvelib-d935f9fd07246d9641436c7a8e6ae39423374e28.tar.gz
# Deps to build man pages # Deps to build man pages
Source5: straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz Source7: straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz
Patch0: 0001-Fix-final-fact-delegation-77008-77017.patch
URL: http://ansible.com URL: http://ansible.com
@ -64,32 +68,32 @@ Conflicts: ansible-base
# Bundled provides that are sprinkled throughout the codebase. # Bundled provides that are sprinkled throughout the codebase.
Provides: bundled(python-backports-ssl_match_hostname) = 3.7.0.1 Provides: bundled(python-backports-ssl_match_hostname) = 3.7.0.1
Provides: bundled(python-distro) = 1.5.0 Provides: bundled(python-distro) = 1.6.0
Provides: bundled(python-selectors2) = 1.1.1 Provides: bundled(python-selectors2) = 1.1.1
Provides: bundled(python-six) = 1.13.0 Provides: bundled(python-six) = 1.16.0
# Things we explicitly bundle via src rpm, and put in ansible._vendor # Things we explicitly bundle via src rpm, and put in ansible._vendor
Provides: bundled(python-jinja2) = %{jinja2_version}
Provides: bundled(python-markupsafe) = %{markupsafe_version}
Provides: bundled(python-packaging) = %{packaging_version} Provides: bundled(python-packaging) = %{packaging_version}
Provides: bundled(python-pyparsing) = %{pyparsing_version} Provides: bundled(python-pyparsing) = %{pyparsing_version}
Provides: bundled(python-resolvelib) = %{resolvelib_version}
Provides: bundled(python-straightplugin) = %{straightplugin_version} Provides: bundled(python-straightplugin) = %{straightplugin_version}
BuildRequires: python38-devel BuildRequires: python3-docutils
# BuildRequires: python38-docutils BuildRequires: python39-devel
BuildRequires: python38-jinja2 BuildRequires: python39-pip
BuildRequires: python38-pip BuildRequires: python39-pyyaml
BuildRequires: python38-pyyaml BuildRequires: python39-rpm-macros
BuildRequires: python38-resolvelib BuildRequires: python39-setuptools
BuildRequires: python38-rpm-macros BuildRequires: python39-wheel
BuildRequires: python38-setuptools BuildRequires: make git-core gcc
BuildRequires: python38-wheel
Requires: git Requires: git-core
Requires: python38 Requires: python39
Requires: python38-jinja2 Requires: python39-PyYAML >= 5.1
Requires: python38-PyYAML Requires: python39-cryptography
Requires: python38-cryptography Requires: python39-six
Requires: python38-resolvelib
Requires: python38-six
Requires: sshpass Requires: sshpass
%description %description
@ -114,28 +118,33 @@ This package installs the ansible-test command for testing modules and plugins
developed for ansible. developed for ansible.
%prep %prep
%setup -q -T -b 2 -n packaging-ded06cedf6e20680eea0363fac894cb4a09e7831 %setup -q -T -b 2 -n jinja2-b08cd4bc64bb980df86ed2876978ae5735572280
%setup -q -T -b 3 -n pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605 %setup -q -T -b 3 -n markupsafe-b5a517506d6cb8091e215a4a89e47db5eee6a68f
%setup -q -T -b 5 -n straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed %setup -q -T -b 4 -n packaging-ded06cedf6e20680eea0363fac894cb4a09e7831
%setup -q -T -b 5 -n pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605
%setup -q -T -b 6 -n resolvelib-d935f9fd07246d9641436c7a8e6ae39423374e28
%setup -q -T -b 7 -n straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed
%setup -q -n ansible-%{commitId} %setup -q -n ansible-%{commitId}
%patch0 -p 1
# Fix all Python shebangs recursively in ansible-test # Fix all Python shebangs recursively in ansible-test
# -p preserves timestamps # -p preserves timestamps
# -n prevents creating ~backup files # -n prevents creating ~backup files
# -i specifies the interpreter for the shebang # -i specifies the interpreter for the shebang
pathfix3.8.py -pni "%{__python3} %{py3_shbang_opts}" test/lib/ansible_test pathfix3.9.py -pni "%{__python3} %{py3_shbang_opts}" test/lib/ansible_test
%build %build
/usr/bin/python3.8 setup.py build /usr/bin/python3.9 setup.py build
%install %install
/usr/bin/python3.8 setup.py install --root %{buildroot} /usr/bin/python3.9 setup.py install --root %{buildroot}
# Handle bundled deps: # Handle bundled deps:
%{vendor_pip} \ %{vendor_pip} \
../jinja2-b08cd4bc64bb980df86ed2876978ae5735572280/ \
../markupsafe-b5a517506d6cb8091e215a4a89e47db5eee6a68f/ \
../packaging-ded06cedf6e20680eea0363fac894cb4a09e7831/ \
../pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605/ \ ../pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605/ \
../packaging-ded06cedf6e20680eea0363fac894cb4a09e7831/ ../resolvelib-d935f9fd07246d9641436c7a8e6ae39423374e28
# Create system directories that Ansible defines as default locations in # Create system directories that Ansible defines as default locations in
# ansible/config/base.yml # ansible/config/base.yml
@ -178,17 +187,17 @@ cp examples/hosts %{buildroot}%{_sysconfdir}/ansible/
cp examples/ansible.cfg %{buildroot}%{_sysconfdir}/ansible/ cp examples/ansible.cfg %{buildroot}%{_sysconfdir}/ansible/
mkdir -p %{buildroot}/%{_mandir}/man1/ mkdir -p %{buildroot}/%{_mandir}/man1/
## Build man pages ## Build man pages
#
#mkdir /tmp/_vendor mkdir /tmp/_vendor
#/usr/bin/python3.8 -m pip install ../straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed -t /tmp/_vendor --no-build-isolation /usr/bin/python3.9 -m pip install ../straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed -t /tmp/_vendor --no-build-isolation
#
## Remove plugins not needed, they bring in more dependencies # Remove plugins not needed, they bring in more dependencies
#find hacking/build_library/build_ansible/command_plugins ! -name 'generate_man.py' -type f -exec rm -f {} + find hacking/build_library/build_ansible/command_plugins ! -name 'generate_man.py' -type f -exec rm -f {} +
#
#PYTHON=python3.8 PYTHONPATH=%{vendor_path}:/tmp/_vendor make docs PYTHON=python3.9 PYTHONPATH=%{vendor_path}:/tmp/_vendor make docs
#cp -v docs/man/man1/*.1 %{buildroot}/%{_mandir}/man1/ cp -v docs/man/man1/*.1 %{buildroot}/%{_mandir}/man1/
#
#cp -pr docs/docsite/rst . cp -pr docs/docsite/rst .
cp -p lib/ansible_core.egg-info/PKG-INFO . cp -p lib/ansible_core.egg-info/PKG-INFO .
%files %files
@ -197,23 +206,51 @@ cp -p lib/ansible_core.egg-info/PKG-INFO .
%exclude %{_bindir}/ansible-test %exclude %{_bindir}/ansible-test
%config(noreplace) %{_sysconfdir}/ansible/ %config(noreplace) %{_sysconfdir}/ansible/
%doc README.rst PKG-INFO COPYING %doc README.rst PKG-INFO COPYING
# TODO(pabelanger): uncomment once we move back to tagged releases %doc changelogs/CHANGELOG-v2.*.rst
# %doc changelogs/CHANGELOG-v2.*.rst %doc %{_mandir}/man1/ansible*
#%doc %{_mandir}/man1/ansible*
%{_datadir}/ansible/ %{_datadir}/ansible/
%{python38_sitelib}/ansible* %{python39_sitelib}/ansible*
%exclude %{python38_sitelib}/ansible_test %exclude %{python39_sitelib}/ansible_test
%exclude %{python39_sitelib}/ansible/_vendor/markupsafe/_speedups.c
%files -n ansible-test %files -n ansible-test
%{_bindir}/ansible-test %{_bindir}/ansible-test
%{python38_sitelib}/ansible_test %{python39_sitelib}/ansible_test
%changelog %changelog
* Tue Jul 19 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.2-4 * Wed Aug 15 2022 James Marshall <jamarsha@redhat.com> - 2.13.3-1
- fix facts delegation loop overwrite (rhbz#2109263) - ansible-core 2.13.3 release (rhbz#2118475)
* Thu Mar 10 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.2-3.1 * Wed Jul 20 2022 James Marshall <jamarsha@redhat.com> - 2.13.2-1
- Rebuilt for rhel-8.6 - ansible-core 2.13.2 release (rhbz#2109192)
* Mon Jul 04 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.13.1-1
- ansible-core 2.13.1 release (rhbz#2103699)
- add bundled version of jinja2, markupsafe and resolvelib
- rebuild with python 3.9
* Mon Jun 20 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.7-1
- ansible-core 2.12.7 release (rhbz#2099323)
* Thu Jun 09 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.6-3
- Build manpages (rhbz#2032809)
- Remove legacy files
* Tue Jun 07 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.6-2
- switch from git to git-core dependency (rhbz#2094549)
* Tue May 24 2022 James Marshall <jamarsha@redhat.com> - 2.12.6-1
- ansible-core 2.12.6 release
* Mon May 09 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.5-1
- ansible-core 2.12.5 release
* Mon Apr 11 2022 James Marshall <jamarsha@redhat.com> - 2.12.4-1
- ansible-core 2.12.4 release
* Mon Mar 14 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.3-1
- ansible-core 2.12.3 release
- re-enable changelog and manpages
* Mon Mar 07 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.2-3 * Mon Mar 07 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.2-3
- replace Obsolete to Conflicts - replace Obsolete to Conflicts