diff --git a/.ansible-core.metadata b/.ansible-core.metadata index 7286dea..c9cd9b4 100644 --- a/.ansible-core.metadata +++ b/.ansible-core.metadata @@ -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 f20e820c8fa08ff162ace90735a2a89c599f7166 SOURCES/pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605.tar.gz c17fd6000af4ccf32930c41e928fea1e38cb5d0a SOURCES/straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz diff --git a/.gitignore b/.gitignore index 9ea2782..94a7c09 100644 --- a/.gitignore +++ b/.gitignore @@ -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/pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605.tar.gz SOURCES/straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz diff --git a/SOURCES/0001-Fix-final-fact-delegation-77008-77017.patch b/SOURCES/0001-Fix-final-fact-delegation-77008-77017.patch deleted file mode 100644 index 0d8e994..0000000 --- a/SOURCES/0001-Fix-final-fact-delegation-77008-77017.patch +++ /dev/null @@ -1,87 +0,0 @@ -From ae35fc04c3a2068b1d37efe813d1c6938b4f2634 Mon Sep 17 00:00:00 2001 -From: Brian Coca -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 - diff --git a/SPECS/ansible-core.spec b/SPECS/ansible-core.spec index f0fc0ab..57cb89f 100644 --- a/SPECS/ansible-core.spec +++ b/SPECS/ansible-core.spec @@ -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 # conceivably need to compile arch-specific things. But we currently have no # useful debuginfo stuff. %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. # ansible-test munges the shebangs itself. %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/ # 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} # 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 pyparsing_version 2.4.7 %global straightplugin_version 1.4.1 @@ -38,30 +35,22 @@ Name: ansible-core Summary: SSH-based configuration management, deployment, and task execution system -Version: 2.12.2 -%if 0%{?nightly} -Release: 0.1.%{snap}%{?dist} -%else -Release: 2%{?dist} -%endif +Version: 2.13.3 +Release: 1%{?dist} Group: Development/Libraries License: GPLv3+ -%if 0%{?nightly} -Source0: %{name}-%{version}%{nightly_pretag}.tar.gz -%else Source0: ansible-%{commitId}.tar.gz -%endif Source1: ansible-test-data-files.txt # And bundled deps -Source2: packaging-ded06cedf6e20680eea0363fac894cb4a09e7831.tar.gz -Source3: pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605.tar.gz +Source2: jinja2-b08cd4bc64bb980df86ed2876978ae5735572280.tar.gz +Source3: markupsafe-b5a517506d6cb8091e215a4a89e47db5eee6a68f.tar.gz +Source4: packaging-ded06cedf6e20680eea0363fac894cb4a09e7831.tar.gz +Source5: pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605.tar.gz # Deps to build man pages -Source5: straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz - -Patch0: 0001-Fix-final-fact-delegation-77008-77017.patch +Source6: straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz URL: http://ansible.com @@ -75,32 +64,32 @@ Obsoletes: ansible-base # Bundled provides that are sprinkled throughout the codebase. 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-six) = 1.13.0 +Provides: bundled(python-six) = 1.16.0 # 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-pyparsing) = %{pyparsing_version} Provides: bundled(python-straightplugin) = %{straightplugin_version} BuildRequires: python3-devel BuildRequires: python3-docutils -BuildRequires: python3-jinja2 BuildRequires: python3-pip BuildRequires: python3-pyyaml BuildRequires: python3-resolvelib BuildRequires: python3-rpm-macros BuildRequires: python3-setuptools BuildRequires: python3-wheel -BuildRequires: make git-core +BuildRequires: make git-core gcc -Requires: git +Requires: git-core Requires: python3 -Requires: python3-jinja2 -Requires: python3-PyYAML +Requires: python3-PyYAML >= 5.1 Requires: python3-cryptography -Requires: python3-resolvelib +Requires: python3-resolvelib >= 0.5.3 Requires: python3-six Requires: sshpass @@ -126,11 +115,12 @@ This package installs the ansible-test command for testing modules and plugins developed for ansible. %prep -%setup -q -T -b 2 -n packaging-ded06cedf6e20680eea0363fac894cb4a09e7831 -%setup -q -T -b 3 -n pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605 -%setup -q -T -b 5 -n straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed +%setup -q -T -b 2 -n jinja2-b08cd4bc64bb980df86ed2876978ae5735572280 +%setup -q -T -b 3 -n markupsafe-b5a517506d6cb8091e215a4a89e47db5eee6a68f +%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} -%patch0 -p 1 %build /usr/bin/python3.9 setup.py build @@ -140,8 +130,10 @@ developed for ansible. # Handle bundled deps: %{vendor_pip} \ - ../pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605/ \ - ../packaging-ded06cedf6e20680eea0363fac894cb4a09e7831/ + ../jinja2-b08cd4bc64bb980df86ed2876978ae5735572280/ \ + ../markupsafe-b5a517506d6cb8091e215a4a89e47db5eee6a68f/ \ + ../packaging-ded06cedf6e20680eea0363fac894cb4a09e7831/ \ + ../pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605/ # Create system directories that Ansible defines as default locations in # ansible/config/base.yml @@ -208,14 +200,44 @@ cp -p lib/ansible_core.egg-info/PKG-INFO . %{_datadir}/ansible/ %{python39_sitelib}/ansible* %exclude %{python39_sitelib}/ansible_test +%exclude %{python39_sitelib}/ansible/_vendor/markupsafe/_speedups.c %files -n ansible-test %{_bindir}/ansible-test %{python39_sitelib}/ansible_test %changelog -* Tue Jul 19 2022 Dimitri Savineau - 2.12.2-2 -- fix facts delegation loop overwrite (rhbz#2108651) +* Mon Aug 15 2022 James Marshall - 2.13.3-1 +- ansible-core 2.13.3 release (rhbz#2118458) + +* Mon Jul 18 2022 James Marshall - 2.13.2-1 +- ansible-core 2.13.2 release (rhbz#2108229) + +* Mon Jun 27 2022 Dimitri Savineau - 2.13.1-2 +- Update bundled jinja2 version to 3.1.2 (rhbz#2101462) + +* Wed Jun 22 2022 Dimitri Savineau - 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 - 2.12.7-1 +- ansible-core 2.12.7 release (rhbz#2099317) +- remove legacy nightly configuration + +* Tue May 24 2022 James Marshall - 2.12.6-1 +- ansible-core 2.12.6 release + +* Fri May 13 2022 Dimitri Savineau - 2.12.5-2 +- switch from git to git-core dependency (rhbz#2083386) + +* Mon May 09 2022 Dimitri Savineau - 2.12.5-1 +- ansible-core 2.12.5 release + +* Wed Apr 06 2022 James Marshall - 2.12.4-1 +- ansible-core 2.12.4 release + +* Mon Mar 14 2022 Dimitri Savineau - 2.12.3-1 +- ansible-core 2.12.3 release * Tue Feb 01 2022 Dimitri Savineau - 2.12.2-1 - ansible-core 2.12.2 release