import ansible-core-2.12.2-2.el9_0
This commit is contained in:
parent
4bbb45584f
commit
f08e94a185
87
SOURCES/0001-Fix-final-fact-delegation-77008-77017.patch
Normal file
87
SOURCES/0001-Fix-final-fact-delegation-77008-77017.patch
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
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
|
||||||
|
|
@ -42,7 +42,7 @@ Version: 2.12.2
|
|||||||
%if 0%{?nightly}
|
%if 0%{?nightly}
|
||||||
Release: 0.1.%{snap}%{?dist}
|
Release: 0.1.%{snap}%{?dist}
|
||||||
%else
|
%else
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
@ -61,6 +61,8 @@ Source3: pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605.tar.gz
|
|||||||
# Deps to build man pages
|
# Deps to build man pages
|
||||||
Source5: straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz
|
Source5: straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed.tar.gz
|
||||||
|
|
||||||
|
Patch0: 0001-Fix-final-fact-delegation-77008-77017.patch
|
||||||
|
|
||||||
URL: http://ansible.com
|
URL: http://ansible.com
|
||||||
|
|
||||||
# We obsolete old ansible, and any version of ansible-base.
|
# We obsolete old ansible, and any version of ansible-base.
|
||||||
@ -128,6 +130,7 @@ developed for ansible.
|
|||||||
%setup -q -T -b 3 -n pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605
|
%setup -q -T -b 3 -n pyparsing-6a844ee35ca5125490a28dbd6dd2d15b6498e605
|
||||||
%setup -q -T -b 5 -n straightplugin-6634ea8e1e89d5bb23804f50e676f196c52c46ed
|
%setup -q -T -b 5 -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
|
||||||
@ -211,6 +214,9 @@ cp -p lib/ansible_core.egg-info/PKG-INFO .
|
|||||||
%{python39_sitelib}/ansible_test
|
%{python39_sitelib}/ansible_test
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jul 19 2022 Dimitri Savineau <dsavinea@redhat.com> - 2.12.2-2
|
||||||
|
- fix facts delegation loop overwrite (rhbz#2108651)
|
||||||
|
|
||||||
* 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
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user