import ansible-core-2.13.3-1.el9

This commit is contained in:
CentOS Sources 2022-11-15 01:26:10 -05:00 committed by Stepan Oksanichenko
parent f08e94a185
commit bbbee46b21
4 changed files with 68 additions and 129 deletions

View File

@ -1,4 +1,6 @@
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
c17fd6000af4ccf32930c41e928fea1e38cb5d0a SOURCES/straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz c17fd6000af4ccf32930c41e928fea1e38cb5d0a SOURCES/straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz

4
.gitignore vendored
View File

@ -1,4 +1,6 @@
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/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

@ -1,21 +1,16 @@
# Is this a nightly build?
%global nightly 0
# We need this because we are no longer noarch, since our bundled deps might # We need this because we are no longer noarch, since our bundled deps might
# conceivably need to compile arch-specific things. But we currently have no # conceivably need to compile arch-specific things. But we currently have no
# useful debuginfo stuff. # useful debuginfo stuff.
%global debug_package %{nil} %global debug_package %{nil}
%if 0%{?nightly}
%global snap %(date +'%Y%m%d')git
%global nightly_pretag .dev0
%endif
# Disable shebang munging for specific paths. These files are data files. # Disable shebang munging for specific paths. These files are data files.
# 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 # Filter requires on jinja2 since bundled
%global __requires_exclude jinja2
%global commitId c1bb0c6ab89a344bdcc07ef66887c310e661e3a6
%global python39_sitelib /usr/lib/python3.9/site-packages/ %global python39_sitelib /usr/lib/python3.9/site-packages/
# RHEL and Fedora add -s to the shebang line. We do *not* use -s -E -S or -I # RHEL and Fedora add -s to the shebang line. We do *not* use -s -E -S or -I
@ -31,6 +26,8 @@
%define vendor_pip /usr/bin/python3.9 -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 straightplugin_version 1.4.1 %global straightplugin_version 1.4.1
@ -38,30 +35,22 @@
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
%if 0%{?nightly} Release: 1%{?dist}
Release: 0.1.%{snap}%{?dist}
%else
Release: 2%{?dist}
%endif
Group: Development/Libraries Group: Development/Libraries
License: GPLv3+ License: GPLv3+
%if 0%{?nightly}
Source0: %{name}-%{version}%{nightly_pretag}.tar.gz
%else
Source0: ansible-%{commitId}.tar.gz Source0: ansible-%{commitId}.tar.gz
%endif
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
# Deps to build man pages # Deps to build man pages
Source5: straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz Source6: straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz
Patch0: 0001-Fix-final-fact-delegation-77008-77017.patch
URL: http://ansible.com URL: http://ansible.com
@ -75,32 +64,32 @@ Obsoletes: 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-straightplugin) = %{straightplugin_version} Provides: bundled(python-straightplugin) = %{straightplugin_version}
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: python3-docutils BuildRequires: python3-docutils
BuildRequires: python3-jinja2
BuildRequires: python3-pip BuildRequires: python3-pip
BuildRequires: python3-pyyaml BuildRequires: python3-pyyaml
BuildRequires: python3-resolvelib BuildRequires: python3-resolvelib
BuildRequires: python3-rpm-macros BuildRequires: python3-rpm-macros
BuildRequires: python3-setuptools BuildRequires: python3-setuptools
BuildRequires: python3-wheel BuildRequires: python3-wheel
BuildRequires: make git-core BuildRequires: make git-core gcc
Requires: git Requires: git-core
Requires: python3 Requires: python3
Requires: python3-jinja2 Requires: python3-PyYAML >= 5.1
Requires: python3-PyYAML
Requires: python3-cryptography Requires: python3-cryptography
Requires: python3-resolvelib Requires: python3-resolvelib >= 0.5.3
Requires: python3-six Requires: python3-six
Requires: sshpass Requires: sshpass
@ -126,11 +115,12 @@ 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 straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed
%setup -q -n ansible-%{commitId} %setup -q -n ansible-%{commitId}
%patch0 -p 1
%build %build
/usr/bin/python3.9 setup.py build /usr/bin/python3.9 setup.py build
@ -140,8 +130,10 @@ developed for ansible.
# Handle bundled deps: # Handle bundled deps:
%{vendor_pip} \ %{vendor_pip} \
../pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605/ \ ../jinja2-b08cd4bc64bb980df86ed2876978ae5735572280/ \
../packaging-ded06cedf6e20680eea0363fac894cb4a09e7831/ ../markupsafe-b5a517506d6cb8091e215a4a89e47db5eee6a68f/ \
../packaging-ded06cedf6e20680eea0363fac894cb4a09e7831/ \
../pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605/
# 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
@ -208,14 +200,44 @@ cp -p lib/ansible_core.egg-info/PKG-INFO .
%{_datadir}/ansible/ %{_datadir}/ansible/
%{python39_sitelib}/ansible* %{python39_sitelib}/ansible*
%exclude %{python39_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
%{python39_sitelib}/ansible_test %{python39_sitelib}/ansible_test
%changelog %changelog
* Tue Jul 19 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.2-2 * Mon Aug 15 2022 James Marshall <jamarsha@redhat.com> - 2.13.3-1
- fix facts delegation loop overwrite (rhbz#2108651) - ansible-core 2.13.3 release (rhbz#2118458)
* Mon Jul 18 2022 James Marshall <jamarsha@redhat.com> - 2.13.2-1
- ansible-core 2.13.2 release (rhbz#2108229)
* Mon Jun 27 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.13.1-2
- Update bundled jinja2 version to 3.1.2 (rhbz#2101462)
* Wed Jun 22 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.13.1-1
- ansible-core 2.13.1 release (rhbz#2100242)
- add bundled version of jinja2 and markupsafe
* Mon Jun 20 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.7-1
- ansible-core 2.12.7 release (rhbz#2099317)
- remove legacy nightly configuration
* Tue May 24 2022 James Marshall <jamarsha@redhat.com> - 2.12.6-1
- ansible-core 2.12.6 release
* Fri May 13 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.5-2
- switch from git to git-core dependency (rhbz#2083386)
* Mon May 09 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.5-1
- ansible-core 2.12.5 release
* Wed Apr 06 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
* Tue Feb 01 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.2-1 * Tue Feb 01 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.2-1
- ansible-core 2.12.2 release - ansible-core 2.12.2 release