ansible-core 2.15.1__py3-none-any.whl → 2.15.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ansible-core might be problematic. Click here for more details.
- ansible/config/manager.py +1 -1
- ansible/galaxy/collection/__init__.py +12 -15
- ansible/module_utils/ansible_release.py +1 -1
- ansible/modules/apt_key.py +8 -5
- ansible/modules/apt_repository.py +2 -0
- ansible/modules/dnf5.py +5 -7
- ansible/modules/find.py +3 -0
- ansible/modules/validate_argument_spec.py +1 -1
- ansible/plugins/action/template.py +26 -15
- ansible/plugins/connection/paramiko_ssh.py +8 -0
- ansible/plugins/connection/psrp.py +3 -3
- ansible/plugins/connection/ssh.py +19 -2
- ansible/plugins/filter/comment.yml +1 -1
- ansible/plugins/filter/split.yml +1 -1
- ansible/plugins/filter/to_yaml.yml +1 -1
- ansible/plugins/lookup/template.py +11 -6
- ansible/plugins/strategy/__init__.py +20 -12
- ansible/plugins/test/change.yml +1 -1
- ansible/plugins/test/changed.yml +1 -1
- ansible/plugins/test/reachable.yml +1 -1
- ansible/plugins/test/succeeded.yml +1 -1
- ansible/plugins/test/success.yml +1 -1
- ansible/plugins/test/successful.yml +1 -1
- ansible/plugins/test/unreachable.yml +1 -1
- ansible/release.py +1 -1
- ansible/template/__init__.py +38 -24
- {ansible_core-2.15.1.dist-info → ansible_core-2.15.2.dist-info}/METADATA +1 -1
- {ansible_core-2.15.1.dist-info → ansible_core-2.15.2.dist-info}/RECORD +43 -43
- ansible_test/_data/completion/remote.txt +2 -1
- ansible_test/_internal/__init__.py +7 -0
- ansible_test/_internal/commands/integration/cloud/__init__.py +2 -2
- ansible_test/_internal/commands/sanity/validate_modules.py +2 -2
- ansible_test/_internal/containers.py +2 -2
- ansible_test/_internal/coverage_util.py +2 -2
- ansible_test/_internal/payload.py +2 -2
- ansible_test/_internal/provisioning.py +5 -2
- ansible_test/_internal/pypi_proxy.py +4 -4
- ansible_test/_internal/util_common.py +38 -6
- {ansible_core-2.15.1.data → ansible_core-2.15.2.data}/scripts/ansible-test +0 -0
- {ansible_core-2.15.1.dist-info → ansible_core-2.15.2.dist-info}/COPYING +0 -0
- {ansible_core-2.15.1.dist-info → ansible_core-2.15.2.dist-info}/WHEEL +0 -0
- {ansible_core-2.15.1.dist-info → ansible_core-2.15.2.dist-info}/entry_points.txt +0 -0
- {ansible_core-2.15.1.dist-info → ansible_core-2.15.2.dist-info}/top_level.txt +0 -0
ansible/release.py
CHANGED
ansible/template/__init__.py
CHANGED
|
@@ -153,6 +153,39 @@ def _escape_backslashes(data, jinja_env):
|
|
|
153
153
|
return data
|
|
154
154
|
|
|
155
155
|
|
|
156
|
+
def _create_overlay(data, overrides, jinja_env):
|
|
157
|
+
if overrides is None:
|
|
158
|
+
overrides = {}
|
|
159
|
+
|
|
160
|
+
try:
|
|
161
|
+
has_override_header = data.startswith(JINJA2_OVERRIDE)
|
|
162
|
+
except (TypeError, AttributeError):
|
|
163
|
+
has_override_header = False
|
|
164
|
+
|
|
165
|
+
if overrides or has_override_header:
|
|
166
|
+
overlay = jinja_env.overlay(**overrides)
|
|
167
|
+
else:
|
|
168
|
+
overlay = jinja_env
|
|
169
|
+
|
|
170
|
+
# Get jinja env overrides from template
|
|
171
|
+
if has_override_header:
|
|
172
|
+
eol = data.find('\n')
|
|
173
|
+
line = data[len(JINJA2_OVERRIDE):eol]
|
|
174
|
+
data = data[eol + 1:]
|
|
175
|
+
for pair in line.split(','):
|
|
176
|
+
if ':' not in pair:
|
|
177
|
+
raise AnsibleError("failed to parse jinja2 override '%s'."
|
|
178
|
+
" Did you use something different from colon as key-value separator?" % pair.strip())
|
|
179
|
+
(key, val) = pair.split(':', 1)
|
|
180
|
+
key = key.strip()
|
|
181
|
+
if hasattr(overlay, key):
|
|
182
|
+
setattr(overlay, key, ast.literal_eval(val.strip()))
|
|
183
|
+
else:
|
|
184
|
+
display.warning(f"Could not find Jinja2 environment setting to override: '{key}'")
|
|
185
|
+
|
|
186
|
+
return data, overlay
|
|
187
|
+
|
|
188
|
+
|
|
156
189
|
def is_possibly_template(data, jinja_env):
|
|
157
190
|
"""Determines if a string looks like a template, by seeing if it
|
|
158
191
|
contains a jinja2 start delimiter. Does not guarantee that the string
|
|
@@ -705,7 +738,7 @@ class Templar:
|
|
|
705
738
|
variable = self._convert_bare_variable(variable)
|
|
706
739
|
|
|
707
740
|
if isinstance(variable, string_types):
|
|
708
|
-
if not self.is_possibly_template(variable):
|
|
741
|
+
if not self.is_possibly_template(variable, overrides):
|
|
709
742
|
return variable
|
|
710
743
|
|
|
711
744
|
# Check to see if the string we are trying to render is just referencing a single
|
|
@@ -776,8 +809,9 @@ class Templar:
|
|
|
776
809
|
|
|
777
810
|
templatable = is_template
|
|
778
811
|
|
|
779
|
-
def is_possibly_template(self, data):
|
|
780
|
-
|
|
812
|
+
def is_possibly_template(self, data, overrides=None):
|
|
813
|
+
data, env = _create_overlay(data, overrides, self.environment)
|
|
814
|
+
return is_possibly_template(data, env)
|
|
781
815
|
|
|
782
816
|
def _convert_bare_variable(self, variable):
|
|
783
817
|
'''
|
|
@@ -918,31 +952,11 @@ class Templar:
|
|
|
918
952
|
if fail_on_undefined is None:
|
|
919
953
|
fail_on_undefined = self._fail_on_undefined_errors
|
|
920
954
|
|
|
921
|
-
has_template_overrides = data.startswith(JINJA2_OVERRIDE)
|
|
922
|
-
|
|
923
955
|
try:
|
|
924
956
|
# NOTE Creating an overlay that lives only inside do_template means that overrides are not applied
|
|
925
957
|
# when templating nested variables in AnsibleJ2Vars where Templar.environment is used, not the overlay.
|
|
926
958
|
# This is historic behavior that is kept for backwards compatibility.
|
|
927
|
-
|
|
928
|
-
myenv = self.environment.overlay(overrides)
|
|
929
|
-
elif has_template_overrides:
|
|
930
|
-
myenv = self.environment.overlay()
|
|
931
|
-
else:
|
|
932
|
-
myenv = self.environment
|
|
933
|
-
|
|
934
|
-
# Get jinja env overrides from template
|
|
935
|
-
if has_template_overrides:
|
|
936
|
-
eol = data.find('\n')
|
|
937
|
-
line = data[len(JINJA2_OVERRIDE):eol]
|
|
938
|
-
data = data[eol + 1:]
|
|
939
|
-
for pair in line.split(','):
|
|
940
|
-
if ':' not in pair:
|
|
941
|
-
raise AnsibleError("failed to parse jinja2 override '%s'."
|
|
942
|
-
" Did you use something different from colon as key-value separator?" % pair.strip())
|
|
943
|
-
(key, val) = pair.split(':', 1)
|
|
944
|
-
key = key.strip()
|
|
945
|
-
setattr(myenv, key, ast.literal_eval(val.strip()))
|
|
959
|
+
data, myenv = _create_overlay(data, overrides, self.environment)
|
|
946
960
|
|
|
947
961
|
if escape_backslashes:
|
|
948
962
|
# Allow users to specify backslashes in playbooks as "\\" instead of as "\\\\".
|
|
@@ -3,7 +3,7 @@ ansible/__main__.py,sha256=IvyRvY64pT0on94qCLibxgDJ0-7_2CRoaZ5kfGOl54Q,1395
|
|
|
3
3
|
ansible/constants.py,sha256=JLIDnuSz3_PbtXWsL4vnvVBbxlh3lSrJREd7T73atEI,8293
|
|
4
4
|
ansible/context.py,sha256=OzSlaA_GgGRyyf5I209sy19_eGOX6HXn441W9w_FcvU,2018
|
|
5
5
|
ansible/keyword_desc.yml,sha256=FYY0Ld1Xc3AxJ_Tefz78kRSYzIKGS8qcPtVk370J118,7367
|
|
6
|
-
ansible/release.py,sha256=
|
|
6
|
+
ansible/release.py,sha256=PkcmHI8311b8VMFltNqDtbzltSVPXcn8_lyC4v2T3IQ,918
|
|
7
7
|
ansible/_vendor/__init__.py,sha256=wJRKH7kI9OzYVY9hgSchOsTNTmTnugpPLGYj9Y5akX0,2086
|
|
8
8
|
ansible/cli/__init__.py,sha256=ZK8bKuMmeRqeAcePriGtJ0tMuoDur3sN-ySBmOzAF3c,28687
|
|
9
9
|
ansible/cli/adhoc.py,sha256=pGW6eysaireovp4sVsUuntg-l1o7DSujuhxVhVC2zsM,8230
|
|
@@ -27,7 +27,7 @@ ansible/compat/selectors/__init__.py,sha256=dD8KQZBa0NUi-hxhGx0eppTE3wHdMIchORAp
|
|
|
27
27
|
ansible/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
28
|
ansible/config/ansible_builtin_runtime.yml,sha256=G_Kl7zWgFwkShHEYt0y9Y293jBJRDIDWD1z9E1OIAKw,375893
|
|
29
29
|
ansible/config/base.yml,sha256=EBtqnHK445QQiP9v4IlfrDy7-DZyY2GP872u8VSEYQQ,84100
|
|
30
|
-
ansible/config/manager.py,sha256=
|
|
30
|
+
ansible/config/manager.py,sha256=WhMhopX7aH_ncl8lqPZatfkPZikw2SlcJLs0j3e97WA,25362
|
|
31
31
|
ansible/errors/__init__.py,sha256=p_RaO3GztgMyKdlS8CWMoM-WRmSSZrrM6-pFsjHrz5s,14806
|
|
32
32
|
ansible/errors/yaml_strings.py,sha256=p8WIWbjKSIvr_MWx3jOyGyUZMXoKttTPzuWVbHMwdmY,3942
|
|
33
33
|
ansible/executor/__init__.py,sha256=1lMXN1i2fFqslda4BmeI5tpYMFP95D5Wpr1AjDJi-SQ,833
|
|
@@ -60,7 +60,7 @@ ansible/galaxy/api.py,sha256=deSYsFinaJodT2Y9-XnOerWIwYY8V2AWQ_9kZI0pWCE,39872
|
|
|
60
60
|
ansible/galaxy/role.py,sha256=roEhuloz2-UHLdNwK7pqRCYsOLpu_Xg6sC_nyE5A30w,19086
|
|
61
61
|
ansible/galaxy/token.py,sha256=K0dAwD3Fjkn3Zs2N9sG98UesSWfAukie47QGyYpIf0M,6167
|
|
62
62
|
ansible/galaxy/user_agent.py,sha256=x7cJzzpnTngHcwqSUd2hg0i28Dv0tbAyBdke5CSiNhM,813
|
|
63
|
-
ansible/galaxy/collection/__init__.py,sha256=
|
|
63
|
+
ansible/galaxy/collection/__init__.py,sha256=U5_Gn33Fz2Ope0448KnGlh1rSArK3vU2LSryri8Ptlg,77327
|
|
64
64
|
ansible/galaxy/collection/concrete_artifact_manager.py,sha256=lF7_9jvTvVB0DMjMvPD9N6kT7L4zsX7ZrSfB-J-y-Qw,29180
|
|
65
65
|
ansible/galaxy/collection/galaxy_api_proxy.py,sha256=HWnMiWIEt1YW7srbnFXjRsgpSC-3Iwj7-wkrkmVtXkA,7972
|
|
66
66
|
ansible/galaxy/collection/gpg.py,sha256=1wk22RJnX--FsB-4h_EdaT05PWlx9AMxhfH3H7db1i4,7312
|
|
@@ -140,7 +140,7 @@ ansible/inventory/host.py,sha256=wXJp6kpSaZtDr4JNsgdAuhi5MzQ9LTQzaAH10zoVbIA,505
|
|
|
140
140
|
ansible/inventory/manager.py,sha256=tGwhBR6poLuG_i4jZ5RGOG-rH4gu4DBfT0-4iLLZZMs,29490
|
|
141
141
|
ansible/module_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
142
142
|
ansible/module_utils/_text.py,sha256=F_YfeaxhwmTI16HICAzQS9ZmlKgBDdQ4mqR-Kh--okg,597
|
|
143
|
-
ansible/module_utils/ansible_release.py,sha256=
|
|
143
|
+
ansible/module_utils/ansible_release.py,sha256=PkcmHI8311b8VMFltNqDtbzltSVPXcn8_lyC4v2T3IQ,918
|
|
144
144
|
ansible/module_utils/api.py,sha256=BTo7stVOANbtd-ngZslaqx70r9t5gfvo44cKyu5SFjU,5837
|
|
145
145
|
ansible/module_utils/basic.py,sha256=KwFTKMws6bPfSEP1fIc7Srvan6b34EEbZ5nedfhhiTw,87493
|
|
146
146
|
ansible/module_utils/connection.py,sha256=XHxMlyAdwLiXDSo8jBMkV61-lz_0FDJUYH1B152UGJU,8430
|
|
@@ -278,8 +278,8 @@ ansible/modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
278
278
|
ansible/modules/_include.py,sha256=ta9jlFnEv_gb9DMdPKBwO3ZoBX8-ljmyaB3H_BUZYI8,3138
|
|
279
279
|
ansible/modules/add_host.py,sha256=_iCqmf-fzBR6Nw10pS95knwniVZlYC7tAJYpnKQGaOY,3909
|
|
280
280
|
ansible/modules/apt.py,sha256=vxpOLORc21bmO0Qkz7OYf02n-QYIEUzVqoGzaBt2uZ8,59434
|
|
281
|
-
ansible/modules/apt_key.py,sha256=
|
|
282
|
-
ansible/modules/apt_repository.py,sha256=
|
|
281
|
+
ansible/modules/apt_key.py,sha256=OEehrhf3rKbMqY2TXalk9xVVQVWghtb4cWRVlwVn0nc,18128
|
|
282
|
+
ansible/modules/apt_repository.py,sha256=7SeuEhTi8F59POkiCSDhxatTHe4BM5wv1D_g4i8B-hE,30289
|
|
283
283
|
ansible/modules/assemble.py,sha256=FmDXZ2cBp8X0Q-riBowEs_dUsEafwet6CLsd5RuonGM,8971
|
|
284
284
|
ansible/modules/assert.py,sha256=7C_DFHatc7EQ9FOSCI_Gr_ZtrpRVM3yVeom-ipw2N4E,2816
|
|
285
285
|
ansible/modules/async_status.py,sha256=CCGFqq0FjXKVSXY59rDJA0rfopWfZykJwdObWc3pSWE,4392
|
|
@@ -292,13 +292,13 @@ ansible/modules/deb822_repository.py,sha256=uVmdJId_qMFJLpFpcgDkDUsl7hZmS7UxhLVk
|
|
|
292
292
|
ansible/modules/debconf.py,sha256=uCnyPYGhNPHq7cBUVzfxHp_5-N8RauBL8zlc19NHQic,7732
|
|
293
293
|
ansible/modules/debug.py,sha256=_wSyvOmlhpDeiD40oC_uwbRisSJLVbfIbEN98TJxVfs,2958
|
|
294
294
|
ansible/modules/dnf.py,sha256=OqX1KZlkop-pW5ye1kSUQqbn4y41wgDcVTdSf-VPJX0,59955
|
|
295
|
-
ansible/modules/dnf5.py,sha256=
|
|
295
|
+
ansible/modules/dnf5.py,sha256=EPhfa7i1TgbZ3vJOzGvSXG458cR444sjRg5Jv_WTZUg,25603
|
|
296
296
|
ansible/modules/dpkg_selections.py,sha256=X3owrI7nDVM2tYOiVgLPkzBEZxfwkfBuomjbAfzG1GQ,2408
|
|
297
297
|
ansible/modules/expect.py,sha256=dselod_fRiiUVKXZa-kt6xtoz1RUEZB30Mn3xZmqFDQ,8653
|
|
298
298
|
ansible/modules/fail.py,sha256=AI4gNQC7E5U2Vs7QiIlFk7PcWozN0tXtiVPa_LJrQpk,1710
|
|
299
299
|
ansible/modules/fetch.py,sha256=TDfUMk3zim4Bjt9D6nv0cjrh7ggzQAXMA02p61mUBOo,4267
|
|
300
300
|
ansible/modules/file.py,sha256=16a6R2WvXQWrZiW4P2pfwae4ljN1KGGRNcb4gK9MwcI,40890
|
|
301
|
-
ansible/modules/find.py,sha256=
|
|
301
|
+
ansible/modules/find.py,sha256=q9k261Z9NJYXGs-YY9neFXK7yjrPeUDwEiiMis-uyGg,19420
|
|
302
302
|
ansible/modules/gather_facts.py,sha256=9KeprPoUly-WNfDTngSee48PBlqKo4wuk-yZMcfmCN4,2560
|
|
303
303
|
ansible/modules/get_url.py,sha256=UWqSiwKCwtqDo79ieyS7b5ZBtV7Euh8yjjftKNVhioQ,27007
|
|
304
304
|
ansible/modules/getent.py,sha256=Lf6-fu8L9VvqF8MSu2r-4uXkHig8sSKX8mqyxlXn-o8,5676
|
|
@@ -343,7 +343,7 @@ ansible/modules/template.py,sha256=k0h7j9n9v2efC0f1boCsTq2NwgTLkFuQxgxmUgq4nZE,3
|
|
|
343
343
|
ansible/modules/unarchive.py,sha256=kO7V_VBll7n__wQum3BepmBHgQzdbfU0CB0_sf9v49E,44322
|
|
344
344
|
ansible/modules/uri.py,sha256=WxTR6SU12aYFQRmoK94-C6t5sOFh_iSFXi3CQVQAXCk,28484
|
|
345
345
|
ansible/modules/user.py,sha256=_CRsU_ZcTr90zB1EzF1pJ8OH-wieK0eoLCdcug--8a4,116547
|
|
346
|
-
ansible/modules/validate_argument_spec.py,sha256=
|
|
346
|
+
ansible/modules/validate_argument_spec.py,sha256=kZanwHDzN14bSWbuxxjbOiPN_M-32DvJ2kR5FWizkps,3129
|
|
347
347
|
ansible/modules/wait_for.py,sha256=3-oqc2JneQcptTjJxty_2qy1zv2GWh36aKk4vpC0ajk,26530
|
|
348
348
|
ansible/modules/wait_for_connection.py,sha256=YKLM15BMeJxi7ev0h5bRxo5DVWK9yKV_6xaP2LyUfvY,3461
|
|
349
349
|
ansible/modules/yum.py,sha256=5dgsGHH-qaxLwjE_dzcsV5jCdT3nyTkGHXV0y-JcdHE,73989
|
|
@@ -417,7 +417,7 @@ ansible/plugins/action/service.py,sha256=flXBjcOtqaC7V76CDd7NOYOm9wmRS0DznOQsFdq
|
|
|
417
417
|
ansible/plugins/action/set_fact.py,sha256=vHpOEwTa0FBR4kuGJMiTI-_9VN6FJU-aGuL-w63CxPw,2818
|
|
418
418
|
ansible/plugins/action/set_stats.py,sha256=SlT1E2LoY-oPocGx8R9m2KrfPe1qJsjBqBHC26iAUaw,2839
|
|
419
419
|
ansible/plugins/action/shell.py,sha256=c2FK6E_jXU3dytCBySjtludHi7gRYrQIaZBrKv0MiC4,1254
|
|
420
|
-
ansible/plugins/action/template.py,sha256=
|
|
420
|
+
ansible/plugins/action/template.py,sha256=oiFJp-p8ULohtHGpQPK3qcB524V6MWaN2OJvTqjiLfw,10015
|
|
421
421
|
ansible/plugins/action/unarchive.py,sha256=J8077hwvgS_U_MFDdxu6Hs0lAyEocxtvihdRTGCx4-w,4895
|
|
422
422
|
ansible/plugins/action/uri.py,sha256=fziCyB5eLijVB4CyaEf-KpKWbM9KRSBStecl_ZlvKIc,4006
|
|
423
423
|
ansible/plugins/action/validate_argument_spec.py,sha256=Y1FJCABwwP-gDyKLjFwYr9f_NPBTihVqPNKaAgL3cEQ,3957
|
|
@@ -440,9 +440,9 @@ ansible/plugins/callback/tree.py,sha256=Nw9t7QBW87tGrSvX7IsiBoakyiVC10eIijUaMpsq
|
|
|
440
440
|
ansible/plugins/cliconf/__init__.py,sha256=a_Am6c0D8jbeZlc9Q1KYXemoiBf8CNbxF-ErsU8KdtE,22762
|
|
441
441
|
ansible/plugins/connection/__init__.py,sha256=wuMOmg7G5tbluCy4uecRXG_pc0v3-NdUt7PX9RAzgho,16712
|
|
442
442
|
ansible/plugins/connection/local.py,sha256=W2HFk14nKVaMZUE7YeX2bJLL0dvsVqYRf3qtCDdA2x4,8251
|
|
443
|
-
ansible/plugins/connection/paramiko_ssh.py,sha256=
|
|
444
|
-
ansible/plugins/connection/psrp.py,sha256=
|
|
445
|
-
ansible/plugins/connection/ssh.py,sha256=
|
|
443
|
+
ansible/plugins/connection/paramiko_ssh.py,sha256=YAxz8xFBMWTZzvoqmiuwlyp7a4MHvoBmVgjizvIkmtI,29594
|
|
444
|
+
ansible/plugins/connection/psrp.py,sha256=DXeW4gUTfcbR4X-p-4KKZ8_-MU7dsHHH1C0_MjBtxJY,36046
|
|
445
|
+
ansible/plugins/connection/ssh.py,sha256=fORZ8o8tLWkQxUuc5Vqi8hQsJgZH57VaGIesuyS4dvw,62678
|
|
446
446
|
ansible/plugins/connection/winrm.py,sha256=suHo7dB5O68YDsnvnWjrwtuYUmCjq2AeKvin636E_Nk,35326
|
|
447
447
|
ansible/plugins/doc_fragments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
448
448
|
ansible/plugins/doc_fragments/action_common_attributes.py,sha256=ouV8CMIP0TkfkxN4p_pLbPvRSC5wu6w0Y6ScONOg-c4,2449
|
|
@@ -471,7 +471,7 @@ ansible/plugins/filter/bool.yml,sha256=PkoiSy7pwnkiyOEN59cRNaY56TAWEtzFhIuYxfLQT
|
|
|
471
471
|
ansible/plugins/filter/checksum.yml,sha256=CMk4pVtvOWGyXoqH98KlvGOjMzMBDLTYl82SkzlOC0k,524
|
|
472
472
|
ansible/plugins/filter/combinations.yml,sha256=LttrIICjapNtZHWnvJD-C9Pv3PIKP16i8WAXcU7TSLI,780
|
|
473
473
|
ansible/plugins/filter/combine.yml,sha256=w7VQFagRs_D92HNroEaJzzr8a8NZ3DXjrdfzpDA-tFk,1671
|
|
474
|
-
ansible/plugins/filter/comment.yml,sha256=
|
|
474
|
+
ansible/plugins/filter/comment.yml,sha256=iSIJjpp8qZa8fYr_bGWFsYHYVWJtLK3PrytmOmoWhSM,2138
|
|
475
475
|
ansible/plugins/filter/commonpath.yml,sha256=1puPZy62k3s-N1xxfDyDV9aAelb2eS6D3qhZhuwyjQo,672
|
|
476
476
|
ansible/plugins/filter/core.py,sha256=e--btD-V9SrNpE5N8FeXgJR3l2za7JbKUdcQKstQjDg,22820
|
|
477
477
|
ansible/plugins/filter/dict2items.yml,sha256=tUWJLVdZQ4sO0GYrJaC9wALSitTactFTdsrI9xb09KM,1314
|
|
@@ -513,7 +513,7 @@ ansible/plugins/filter/relpath.yml,sha256=X95UZfvgjdRn6ia-pfts9ksBhF3LvASNyg7BTq
|
|
|
513
513
|
ansible/plugins/filter/root.yml,sha256=gHnrBCmNl-wYTF3N1U2lUTh4O-fRUj-EK4WT4RbEQOA,618
|
|
514
514
|
ansible/plugins/filter/sha1.yml,sha256=Un-4PtcF2eCoc22ezn5QcsIotbpGTnRxAcZRzgv1BwM,729
|
|
515
515
|
ansible/plugins/filter/shuffle.yml,sha256=rcdsrsZhe5tMqtF00V8khecdVKmzHnHwkUqIdISrpQQ,685
|
|
516
|
-
ansible/plugins/filter/split.yml,sha256=
|
|
516
|
+
ansible/plugins/filter/split.yml,sha256=4RgDPhGZY3EcWGNTWkVt_VuqMJXElhU60iY45n2COrE,843
|
|
517
517
|
ansible/plugins/filter/splitext.yml,sha256=bveXiKxDAMwlvGfSDSYoocfv3yn3zJzPa_HyZhVTfQI,746
|
|
518
518
|
ansible/plugins/filter/strftime.yml,sha256=cjUzZF1-93ceDKp03oKfrHyC1FuP7ugVfqzXASQd7eE,1862
|
|
519
519
|
ansible/plugins/filter/subelements.yml,sha256=oXsQgDnoFVznLp5C6IyyOvCVtj49eQhpPTzNz3vLcbo,1438
|
|
@@ -524,7 +524,7 @@ ansible/plugins/filter/to_json.yml,sha256=Wp7xybWbwAZMLyQz_DQBOMkkNOjuLEotxX_IgG
|
|
|
524
524
|
ansible/plugins/filter/to_nice_json.yml,sha256=GcYws0sXacuY8S1v7KxjA60MEWolcofEryDvaC3Op6M,2262
|
|
525
525
|
ansible/plugins/filter/to_nice_yaml.yml,sha256=VZzJX6wEB690Zrd38_FOWwYYM3BaRgx50c1r10JNEuM,1589
|
|
526
526
|
ansible/plugins/filter/to_uuid.yml,sha256=ApwjBOSjeHuL5p_zLuFKxhhbYN2ZR1IJ3795sSClwiA,785
|
|
527
|
-
ansible/plugins/filter/to_yaml.yml,sha256=
|
|
527
|
+
ansible/plugins/filter/to_yaml.yml,sha256=ev8s6IfBDbMjyWP0v51_JvPAGIvnag7RNZD1SWgULDA,1668
|
|
528
528
|
ansible/plugins/filter/type_debug.yml,sha256=HdkJX1D_pbuS4C3CDta05nUec9ZLLX3MSoPaLcNHetE,508
|
|
529
529
|
ansible/plugins/filter/union.yml,sha256=5z3NJKSqJ9DO2ihpHA71PkI-eVH6o0UGPq3Oqbvq2Do,954
|
|
530
530
|
ansible/plugins/filter/unique.yml,sha256=ZII1RymJplBWxzNOXmpDltqfAvhi8EEbLy0hIrNNzgo,839
|
|
@@ -569,7 +569,7 @@ ansible/plugins/lookup/pipe.py,sha256=0hw-psGncRbtV1PaBV8tOVS8KL7javc4sA7MI0rSI3
|
|
|
569
569
|
ansible/plugins/lookup/random_choice.py,sha256=c7Cq2ufuDX1cOlMqvbjeoDT0B4r6jllprnl0FysUSgA,1574
|
|
570
570
|
ansible/plugins/lookup/sequence.py,sha256=klnr8ewcq7gz5S_Z-CMSR8OsSR2KgLSUrhDQ4xRV1zU,9171
|
|
571
571
|
ansible/plugins/lookup/subelements.py,sha256=VzmsVgB6VQFBx0zduPmnxpz0sB8MteIaZkR1Hk54J00,6325
|
|
572
|
-
ansible/plugins/lookup/template.py,sha256=
|
|
572
|
+
ansible/plugins/lookup/template.py,sha256=Zcx24htTXDMdgG7LZA6uIi7nv74WpjKxaAEAdDw3nTA,7039
|
|
573
573
|
ansible/plugins/lookup/together.py,sha256=WHPggvxSXhQEqN0mbYLzEixazGrDkS6UALLVEiS7K9U,2163
|
|
574
574
|
ansible/plugins/lookup/unvault.py,sha256=M9eHl4lFO2esDyeCxDiyRr1jU3RBdf1YYxPoNlWl8iw,1980
|
|
575
575
|
ansible/plugins/lookup/url.py,sha256=O6hCWoLtN5_YzNhZak8gyy2jaqO9kQjBsc1hzClx6YQ,9014
|
|
@@ -580,7 +580,7 @@ ansible/plugins/shell/__init__.py,sha256=Rj-H2AhfBZAWZ_Hy8D-1ypvjXTMP3pTbByOYlPM
|
|
|
580
580
|
ansible/plugins/shell/cmd.py,sha256=fswLtU2XVNb1T5tF0BIM9msViObs5dXzo9k6sNN4dao,2207
|
|
581
581
|
ansible/plugins/shell/powershell.py,sha256=qnpEZ9uOJF_4gExheFCAYT_tSR_KQtQeilU1WKXJymA,11376
|
|
582
582
|
ansible/plugins/shell/sh.py,sha256=1nhiMv0_c8zu2MaDHvOCr--dG8b-iUVEPPnpMh_Hx8I,3952
|
|
583
|
-
ansible/plugins/strategy/__init__.py,sha256=
|
|
583
|
+
ansible/plugins/strategy/__init__.py,sha256=wK-vhOG-rRpuqys881CTZHnW_Jqs4_yeckw3pRoH0zg,57085
|
|
584
584
|
ansible/plugins/strategy/debug.py,sha256=GxUS0bSiaWInIK8zgB7rMREEqvgrZhVlFUzOCJtnjFo,1258
|
|
585
585
|
ansible/plugins/strategy/free.py,sha256=eXAvxTFloyb5x6VYANXDMdloWUYxMhbPr1lyY6UPBps,15773
|
|
586
586
|
ansible/plugins/strategy/host_pinned.py,sha256=3-q5l-tpheMlU-BXGm6ZQNgHvQv5IMvOCDZBLibl1L4,1959
|
|
@@ -590,8 +590,8 @@ ansible/plugins/test/__init__.py,sha256=6DY18LxzSdtO7-fDS6957bo61fg-xG3TDWvtFkhG
|
|
|
590
590
|
ansible/plugins/test/abs.yml,sha256=-caY4vAMXbhukUTdMQvBa2WYvg6w1AWr8raEfAv0qa8,764
|
|
591
591
|
ansible/plugins/test/all.yml,sha256=I6SNRRTszIMFEjZQ1cRe122QnmH3MvUX4VUpIQ5Sdoc,701
|
|
592
592
|
ansible/plugins/test/any.yml,sha256=mLP-q-0d6kOv8c1kvXD1N_BwFbbY8vo0srU90WzdyOY,698
|
|
593
|
-
ansible/plugins/test/change.yml,sha256=
|
|
594
|
-
ansible/plugins/test/changed.yml,sha256=
|
|
593
|
+
ansible/plugins/test/change.yml,sha256=GKCtXvZHYs-axh78bMBz6uIMahu0NOotW2gUm2OyXAY,663
|
|
594
|
+
ansible/plugins/test/changed.yml,sha256=GKCtXvZHYs-axh78bMBz6uIMahu0NOotW2gUm2OyXAY,663
|
|
595
595
|
ansible/plugins/test/contains.yml,sha256=nhDISkTAXWlraEy_Fb9GaPDzXh2qLx4U0QU4ESERVgU,1287
|
|
596
596
|
ansible/plugins/test/core.py,sha256=ycFT5vFBgoWVad_PCagsUZF-38udyt158c1mrEqFKhU,9283
|
|
597
597
|
ansible/plugins/test/directory.yml,sha256=xevVVMcUcpixt7uo6QEAZw_t8sgzqphOz9iGeP9gA3E,660
|
|
@@ -617,7 +617,7 @@ ansible/plugins/test/match.yml,sha256=Vv9PDKK29DUHQF_D2EHpVJZViMNxZeuTrb5_fzppdt
|
|
|
617
617
|
ansible/plugins/test/mathstuff.py,sha256=-qFtm1QmLIwHUCBoGurJtJ5iZELpRkSwFTKHVhnqLyE,1561
|
|
618
618
|
ansible/plugins/test/mount.yml,sha256=NiUTLxtX-dQaa4OITY3hDF3hWgTZvQBJeddG4xrrmzI,596
|
|
619
619
|
ansible/plugins/test/nan.yml,sha256=cVZ2QTMKMGRzFGkR4HDSvWkRQVZNNGnGEYZU8alp6yk,584
|
|
620
|
-
ansible/plugins/test/reachable.yml,sha256=
|
|
620
|
+
ansible/plugins/test/reachable.yml,sha256=Y3aoKxA8AggXQ1kbwz2f-iPz4wOiIlvGafyj31z93TU,692
|
|
621
621
|
ansible/plugins/test/regex.yml,sha256=JUwPU7JAjv-HPLkcpwGolxcROL4-550ISPGxW2gNtQw,1034
|
|
622
622
|
ansible/plugins/test/same_file.yml,sha256=tMQgcJt2a7VnlgYa9SlPVxhpKRf7YAKnnTWGMHNJK2s,737
|
|
623
623
|
ansible/plugins/test/search.yml,sha256=Ph7frcpsnIfYiRt8RQa75bSoDY9gaOz3Ac04hqHROgc,923
|
|
@@ -625,12 +625,12 @@ ansible/plugins/test/skip.yml,sha256=_7R75HD_0kfApp2vAlZ50CbTvYIlUYx9sWUtCq35qT0
|
|
|
625
625
|
ansible/plugins/test/skipped.yml,sha256=_7R75HD_0kfApp2vAlZ50CbTvYIlUYx9sWUtCq35qT0,623
|
|
626
626
|
ansible/plugins/test/started.yml,sha256=X2gvzAEC5RlVeVKiubKMSMokZeYai6VYSHyzWuTdln8,690
|
|
627
627
|
ansible/plugins/test/subset.yml,sha256=L1sfICw51cRCNZ2gdHZRxDgGx3V_q6oE5dUMszEygik,750
|
|
628
|
-
ansible/plugins/test/succeeded.yml,sha256=
|
|
629
|
-
ansible/plugins/test/success.yml,sha256=
|
|
630
|
-
ansible/plugins/test/successful.yml,sha256=
|
|
628
|
+
ansible/plugins/test/succeeded.yml,sha256=K5rQxq1i1TM47MsZ8pP_oDXKFqtte0-bsUbpKhMNaoI,691
|
|
629
|
+
ansible/plugins/test/success.yml,sha256=K5rQxq1i1TM47MsZ8pP_oDXKFqtte0-bsUbpKhMNaoI,691
|
|
630
|
+
ansible/plugins/test/successful.yml,sha256=K5rQxq1i1TM47MsZ8pP_oDXKFqtte0-bsUbpKhMNaoI,691
|
|
631
631
|
ansible/plugins/test/superset.yml,sha256=8XGrAstolgW_pXvoo7ISz0DeRj_Zg7plWt3XNjrR4o0,754
|
|
632
632
|
ansible/plugins/test/truthy.yml,sha256=dzWnHv8wHVwYoQZO-pxE0cYrEobjEOkt0pwoJ5lmTEw,789
|
|
633
|
-
ansible/plugins/test/unreachable.yml,sha256=
|
|
633
|
+
ansible/plugins/test/unreachable.yml,sha256=Dn6Wsp4hb86fnZ65VwG0PlOJF_sZBEo5aqc_uX8XjaU,695
|
|
634
634
|
ansible/plugins/test/uri.py,sha256=GZDTKszB6cTufPwUePEyZxEwfULw1SB2gcMhFtbZlj8,1126
|
|
635
635
|
ansible/plugins/test/uri.yml,sha256=57vC77V30dzyq7ezb486CzRTl8PNQ2bJzMELv6_htdU,1115
|
|
636
636
|
ansible/plugins/test/url.yml,sha256=9dF6w4RZgEx6PQy4HJer11vsnVJkjw4fEKIel7WUoFk,934
|
|
@@ -640,7 +640,7 @@ ansible/plugins/test/version.yml,sha256=L10E0dA2Y_sRQpvhWzSoHFgtzLfHLp-bFgvaPxW9
|
|
|
640
640
|
ansible/plugins/test/version_compare.yml,sha256=L10E0dA2Y_sRQpvhWzSoHFgtzLfHLp-bFgvaPxW9hgc,3283
|
|
641
641
|
ansible/plugins/vars/__init__.py,sha256=EHGIwRJtDInKzn8NiqomHbbNLzOWnua6xAEiYsKjbmY,1359
|
|
642
642
|
ansible/plugins/vars/host_group_vars.py,sha256=1BkdaSFFpNbDyx_iHIBXvD1mlDeZ5c-3QxMdfgXx2ck,4689
|
|
643
|
-
ansible/template/__init__.py,sha256=
|
|
643
|
+
ansible/template/__init__.py,sha256=Lqmg7ehyUC7C2HpJ1Cf7hkS0xFTYNpgnhm4mMPbpGKg,40778
|
|
644
644
|
ansible/template/native_helpers.py,sha256=F0xI_VaIOmpQLv_k1aJvUDVaErKAwTyIRM7Hda5Rd0E,4378
|
|
645
645
|
ansible/template/template.py,sha256=synOxn1MzR7aNcIUanEsrtasK-jFlzvyJdUcqBdidGw,1667
|
|
646
646
|
ansible/template/vars.py,sha256=3_dLohGvZma3sMz6PUiWNxWfdDGXIcbDdHzidsX7z_U,2802
|
|
@@ -682,13 +682,13 @@ ansible/vars/hostvars.py,sha256=dg3jpVmNwSg8EJ4SIvYGT80uxMgRtrOW6vvtDfrQzDU,5152
|
|
|
682
682
|
ansible/vars/manager.py,sha256=qsF6PgAYcon5n7HmXG56P4pmKLyrniuFpAtKWnNaFpw,38284
|
|
683
683
|
ansible/vars/plugins.py,sha256=B7L3fXoSOoBZSXqJ2ulk0adx1g5SpAb8BxyLGPNA7d4,4695
|
|
684
684
|
ansible/vars/reserved.py,sha256=FBD7n2dnA0CW4I0J1LtWwk2hQqvGW0KTRPcxaRtMKWo,2615
|
|
685
|
-
ansible_core-2.15.
|
|
685
|
+
ansible_core-2.15.2.data/scripts/ansible-test,sha256=CYIYL99IxWdVTtDIj3avilIJXhGAmtjuKPPWNuLWuc8,1690
|
|
686
686
|
ansible_test/__init__.py,sha256=6e721yAyyyocRKzbCKtQXloAfFP7Aqv0L3zG70uh-4A,190
|
|
687
687
|
ansible_test/_data/ansible.cfg,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
688
688
|
ansible_test/_data/coveragerc,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
689
689
|
ansible_test/_data/completion/docker.txt,sha256=Bz-6tKH6BLsq25v03e7DBGnqgSLad-KQsOwkJMfix0U,822
|
|
690
690
|
ansible_test/_data/completion/network.txt,sha256=_-mi013-JeufshKMUmykkOmZPw1cVbakIMaAuweHet8,198
|
|
691
|
-
ansible_test/_data/completion/remote.txt,sha256=
|
|
691
|
+
ansible_test/_data/completion/remote.txt,sha256=q5HD3KFI2oHaAo6oobkuBeMAewg1vFm9WlMScOzLb7I,1161
|
|
692
692
|
ansible_test/_data/completion/windows.txt,sha256=k02uwXJ2i7cVHZnXS4HRFlvK5QU5BzAV291Cw53FlXA,226
|
|
693
693
|
ansible_test/_data/playbooks/posix_coverage_setup.yml,sha256=PgQNVzVTsNmfnu0sT2SAYiWtkMSOppfmh0oVmAsb7TQ,594
|
|
694
694
|
ansible_test/_data/playbooks/posix_coverage_teardown.yml,sha256=xHci5QllwJymFtig-hsOXm-Wdrxz063JH14aIyRXhyc,212
|
|
@@ -732,7 +732,7 @@ ansible_test/_data/requirements/sanity.yamllint.in,sha256=ivPsPeZUDHOuLbd603ZxKC
|
|
|
732
732
|
ansible_test/_data/requirements/sanity.yamllint.txt,sha256=t_5YBcbqw7-c3GCbTE3jh3e5M4YfRENpG0eFtJYpY-A,147
|
|
733
733
|
ansible_test/_data/requirements/units.txt,sha256=ah91xwwRFeY_fpi0WdRGw9GqEiAjm9BbVbnwTrdzn2g,125
|
|
734
734
|
ansible_test/_data/requirements/windows-integration.txt,sha256=jx9vvE8tX1-sColj5E2WuDs1sZvhuqUJnqBjheSbP4U,65
|
|
735
|
-
ansible_test/_internal/__init__.py,sha256=
|
|
735
|
+
ansible_test/_internal/__init__.py,sha256=Ov_4Oh-B08xt4PU_7M_fMkmG9X9gnseBo78x0hmXZ98,3156
|
|
736
736
|
ansible_test/_internal/ansible_util.py,sha256=umqdtrqg0C4T6EnoQ_tbAigVA6u5Y4qHq8-Iqxt9gDw,10271
|
|
737
737
|
ansible_test/_internal/become.py,sha256=zvOlaWKA4L6Cp6Xe795FsTw9xlWUy5Q5TicOwHXjzaI,3071
|
|
738
738
|
ansible_test/_internal/bootstrap.py,sha256=UbkB1ZJ-2bs7qtwRRBi5516IsBq0vZl-pUoyrgzdROQ,2471
|
|
@@ -742,10 +742,10 @@ ansible_test/_internal/completion.py,sha256=BJvhJ0d6PhBBn28YwZ63iGKtTh5TQw6R_uPN
|
|
|
742
742
|
ansible_test/_internal/config.py,sha256=LJkfQ0d6EjEgRWoovdxQX1AK3TRSx-H_Cx1lneNPCEc,12524
|
|
743
743
|
ansible_test/_internal/connections.py,sha256=-gK9FqvmpsjENdYNkvWgFgqYHJSS_F2XkvQzH2_s86E,7855
|
|
744
744
|
ansible_test/_internal/constants.py,sha256=ON2eUuS1im4EzNrvfST5KiFUtun_GN8YgNjm06MzGG0,1969
|
|
745
|
-
ansible_test/_internal/containers.py,sha256=
|
|
745
|
+
ansible_test/_internal/containers.py,sha256=YLRUYuLTUT4pSl7L9T_X1CI3lS53lBQk7lHQUwm5rX4,35635
|
|
746
746
|
ansible_test/_internal/content_config.py,sha256=pkhIu5lg-o8oWc7RBzuniYE-mBPyjnf400vpaO0gr08,5778
|
|
747
747
|
ansible_test/_internal/core_ci.py,sha256=qkOcmYldBC4EX3wvql5G29O8whPRzyTM00eUTRH-6e0,17594
|
|
748
|
-
ansible_test/_internal/coverage_util.py,sha256=
|
|
748
|
+
ansible_test/_internal/coverage_util.py,sha256=iw45rwz8Q5u37S4_dABNR0-Ybc5F8YRiEpUEKJiyjQ8,9302
|
|
749
749
|
ansible_test/_internal/data.py,sha256=OFDpRa47yqBqQO1aSvTZVQQpScHvBHsr861586MQEUI,11184
|
|
750
750
|
ansible_test/_internal/delegation.py,sha256=elCTCtsBtauVy0rE15BMC1EgUyfY5f8qusjWODiKKvw,13413
|
|
751
751
|
ansible_test/_internal/diff.py,sha256=COo6OgC3zxwymhOTlMifLZsGc1RGL0iM_zFVyqFNK48,7300
|
|
@@ -762,9 +762,9 @@ ansible_test/_internal/io.py,sha256=e7ccixoPL5lrAPLUx50vOGYpcELWHhs0R3a5Sh6b5hs,
|
|
|
762
762
|
ansible_test/_internal/junit_xml.py,sha256=zGOZeh7bKwASJ019TemgQtk-5j_eMC-exU6NKhSC7gI,8739
|
|
763
763
|
ansible_test/_internal/locale_util.py,sha256=tjRbwKmgMQc1ysIhvP8yBhFcNA-2UCaWfQBDgrRFUxU,2161
|
|
764
764
|
ansible_test/_internal/metadata.py,sha256=c9ThXPUlgeKYhaTUmfCSS4INRNQ1JhN2KEOVaX3m1Gk,4791
|
|
765
|
-
ansible_test/_internal/payload.py,sha256=
|
|
766
|
-
ansible_test/_internal/provisioning.py,sha256=
|
|
767
|
-
ansible_test/_internal/pypi_proxy.py,sha256=
|
|
765
|
+
ansible_test/_internal/payload.py,sha256=1Pw05OEHvP3LMQnoLXch8631c94YMklWlpDn0CvQECw,8012
|
|
766
|
+
ansible_test/_internal/provisioning.py,sha256=9Zl3xQqljx0MGDTp55Q4LZPWQ7Afj5K87cGsXzPGS5Y,7320
|
|
767
|
+
ansible_test/_internal/pypi_proxy.py,sha256=kVvqvLIxN-VolD1jG_EILwYy1bWoy766ZKVKEFlQgmA,6040
|
|
768
768
|
ansible_test/_internal/python_requirements.py,sha256=xhT-hndjxz16gx4lPqg_brbn5J_lakjY87uvrXo4Vpo,20061
|
|
769
769
|
ansible_test/_internal/ssh.py,sha256=2bS-DkcMJcBr3NExF2Y_htJVye_glKXir1NmLF05VR8,10662
|
|
770
770
|
ansible_test/_internal/target.py,sha256=Whtb_n0jn4zbiMmX7je5jewgzsRczfXRm_ndYtjTSTQ,25320
|
|
@@ -772,7 +772,7 @@ ansible_test/_internal/test.py,sha256=znQmGjKACqDU8T0EAPqcv2qyy0J7M2w4OmyYhwHLqT
|
|
|
772
772
|
ansible_test/_internal/thread.py,sha256=WQoZ2q2ljmEkKHRDkIqwxW7eZbkCKDrG3YZfcaxHzHw,2596
|
|
773
773
|
ansible_test/_internal/timeout.py,sha256=hT-LirImhAh1iCGIh8JpmECXsiGu6Zetw8BWl1iBIC8,4050
|
|
774
774
|
ansible_test/_internal/util.py,sha256=Mp9_uyY3aqEGJFq0POzvELMoh_IhyIxYuf-FiGBfZIM,37809
|
|
775
|
-
ansible_test/_internal/util_common.py,sha256=
|
|
775
|
+
ansible_test/_internal/util_common.py,sha256=S_YMEZvGEqtzKvgZmxQrIT7P66KnOLKyAvC_s1QppEE,17291
|
|
776
776
|
ansible_test/_internal/venv.py,sha256=DPHAt4tuoIdP7BOXa75-i4T7Paild8eGDsV2UUKOZ7U,9062
|
|
777
777
|
ansible_test/_internal/ci/__init__.py,sha256=QOaC_8_wUzqFEbsFCXYAnElWoUo6gB40CXvP9RJ-Iyo,7738
|
|
778
778
|
ansible_test/_internal/ci/azp.py,sha256=5ev2kSfqTHWVvluPbu7vV52gaXuBYt3mRGistKv4Kcs,10097
|
|
@@ -842,7 +842,7 @@ ansible_test/_internal/commands/integration/filters.py,sha256=OntBnxm9gnP57yFaiN
|
|
|
842
842
|
ansible_test/_internal/commands/integration/network.py,sha256=TvZmcJ1JEZPytj4Eqb3n98zrhZdcTX8PjIshE94Qv7Q,2417
|
|
843
843
|
ansible_test/_internal/commands/integration/posix.py,sha256=eyJg1tpmaVXl2wylN0gOqqLGF3RA1YZeKIZpQg59pM0,1444
|
|
844
844
|
ansible_test/_internal/commands/integration/windows.py,sha256=L6IVdT_2l9Hp6u-b9PL6CVs3pIxhK4ZGmnCt8D7TsBg,2639
|
|
845
|
-
ansible_test/_internal/commands/integration/cloud/__init__.py,sha256=
|
|
845
|
+
ansible_test/_internal/commands/integration/cloud/__init__.py,sha256=bNHhSfgjhRsZn1FbJpFR24MXJzZNC7NsJe-dMgtF6rc,14501
|
|
846
846
|
ansible_test/_internal/commands/integration/cloud/acme.py,sha256=OIiqJ3wZSbfxN3VHrREQilsqWsQJsx2M524SQp5NLjI,2235
|
|
847
847
|
ansible_test/_internal/commands/integration/cloud/aws.py,sha256=JzZZK8MMtIXf3zpojh4a3XF11FaE0GC9CTvZP4UU8fM,4202
|
|
848
848
|
ansible_test/_internal/commands/integration/cloud/azure.py,sha256=fYsv42elqyV-zYEvueeOc8fDNKXdKBvYDHiUBGl-ju0,5071
|
|
@@ -871,7 +871,7 @@ ansible_test/_internal/commands/sanity/pslint.py,sha256=lVgL6RrDolRgIOJ2NRr04k2K
|
|
|
871
871
|
ansible_test/_internal/commands/sanity/pylint.py,sha256=8XxdckD4AVTkP8GamX6XaeGcMvYvf5yTgtUIN5d8aFk,10922
|
|
872
872
|
ansible_test/_internal/commands/sanity/sanity_docs.py,sha256=0rbqhxKQXYuVzJ6x4V_ItH9tA15mT9gSYVgxNU3EhnQ,1605
|
|
873
873
|
ansible_test/_internal/commands/sanity/shellcheck.py,sha256=CZHNN_2iNVE3iqf5SIDSH9b2hwF6aXtJ0H6MPCEJX4s,3070
|
|
874
|
-
ansible_test/_internal/commands/sanity/validate_modules.py,sha256=
|
|
874
|
+
ansible_test/_internal/commands/sanity/validate_modules.py,sha256=D4qXBfkWQ5NJam6TN9HOi_NWXEDErBFXatWoP-OiQjo,7904
|
|
875
875
|
ansible_test/_internal/commands/sanity/yamllint.py,sha256=rF_L-QVWLfQ5HiOf_Q-6AMdk7orOJN_Bu8XyMfobRQ8,3423
|
|
876
876
|
ansible_test/_internal/commands/shell/__init__.py,sha256=70rahKppL1gi3I22YWZCkVKO9UF8Muryr0REiilb6C0,4371
|
|
877
877
|
ansible_test/_internal/commands/units/__init__.py,sha256=eDwwBQ87zWaVLRQbQ7GBC8P8TUcu28bhIAZqIjDk1fY,12686
|
|
@@ -999,9 +999,9 @@ ansible_test/config/cloud-config-vultr.ini.template,sha256=XLKHk3lg_8ReQMdWfZzhh
|
|
|
999
999
|
ansible_test/config/config.yml,sha256=wb3knoBmZewG3GWOMnRHoVPQWW4vPixKLPMNS6vJmTc,2620
|
|
1000
1000
|
ansible_test/config/inventory.networking.template,sha256=bFNSk8zNQOaZ_twaflrY0XZ9mLwUbRLuNT0BdIFwvn4,1335
|
|
1001
1001
|
ansible_test/config/inventory.winrm.template,sha256=1QU8W-GFLnYEw8yY9bVIvUAVvJYPM3hyoijf6-M7T00,1098
|
|
1002
|
-
ansible_core-2.15.
|
|
1003
|
-
ansible_core-2.15.
|
|
1004
|
-
ansible_core-2.15.
|
|
1005
|
-
ansible_core-2.15.
|
|
1006
|
-
ansible_core-2.15.
|
|
1007
|
-
ansible_core-2.15.
|
|
1002
|
+
ansible_core-2.15.2.dist-info/COPYING,sha256=CuBIWlvTemPmNgNZZBfk6w5lMzT6bH-TLKOg6F1K8ic,35148
|
|
1003
|
+
ansible_core-2.15.2.dist-info/METADATA,sha256=CUJcd0bbk7iv5DQS-VziWVpirjJK2jDkXIp7V-utA5o,7504
|
|
1004
|
+
ansible_core-2.15.2.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
|
|
1005
|
+
ansible_core-2.15.2.dist-info/entry_points.txt,sha256=0mpmsrIhODChxKl3eS-NcVQCaMetBn8KdPLtVxQgR64,453
|
|
1006
|
+
ansible_core-2.15.2.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
|
|
1007
|
+
ansible_core-2.15.2.dist-info/RECORD,,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
alpine/3.17 python=3.10 become=doas_sudo provider=aws arch=x86_64
|
|
2
2
|
alpine become=doas_sudo provider=aws arch=x86_64
|
|
3
|
-
fedora/37 python=3.11 become=sudo provider=aws arch=x86_64
|
|
3
|
+
fedora/37 python=3.11 become=sudo provider=aws arch=x86_64 # untested in CI, known to occasionally hang during boot
|
|
4
|
+
fedora/38 python=3.11 become=sudo provider=aws arch=x86_64
|
|
4
5
|
fedora become=sudo provider=aws arch=x86_64
|
|
5
6
|
freebsd/12.4 python=3.9 python_dir=/usr/local/bin become=su_sudo provider=aws arch=x86_64
|
|
6
7
|
freebsd/13.1 python=3.8,3.7,3.9,3.10 python_dir=/usr/local/bin become=su_sudo provider=aws arch=x86_64
|
|
@@ -43,6 +43,7 @@ from .data import (
|
|
|
43
43
|
|
|
44
44
|
from .util_common import (
|
|
45
45
|
CommonConfig,
|
|
46
|
+
ExitHandler,
|
|
46
47
|
)
|
|
47
48
|
|
|
48
49
|
from .cli import (
|
|
@@ -59,6 +60,12 @@ from .config import (
|
|
|
59
60
|
|
|
60
61
|
|
|
61
62
|
def main(cli_args: t.Optional[list[str]] = None) -> None:
|
|
63
|
+
"""Wrapper around the main program function to invoke cleanup functions at exit."""
|
|
64
|
+
with ExitHandler.context():
|
|
65
|
+
main_internal(cli_args)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def main_internal(cli_args: t.Optional[list[str]] = None) -> None:
|
|
62
69
|
"""Main program function."""
|
|
63
70
|
try:
|
|
64
71
|
os.chdir(data_context().content.root)
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
4
|
import abc
|
|
5
|
-
import atexit
|
|
6
5
|
import datetime
|
|
7
6
|
import os
|
|
8
7
|
import re
|
|
@@ -28,6 +27,7 @@ from ....util import (
|
|
|
28
27
|
)
|
|
29
28
|
|
|
30
29
|
from ....util_common import (
|
|
30
|
+
ExitHandler,
|
|
31
31
|
ResultType,
|
|
32
32
|
write_json_test_results,
|
|
33
33
|
)
|
|
@@ -306,7 +306,7 @@ class CloudProvider(CloudBase):
|
|
|
306
306
|
self.resource_prefix = self.ci_provider.generate_resource_prefix()
|
|
307
307
|
self.resource_prefix = re.sub(r'[^a-zA-Z0-9]+', '-', self.resource_prefix)[:63].lower().rstrip('-')
|
|
308
308
|
|
|
309
|
-
|
|
309
|
+
ExitHandler.register(self.cleanup)
|
|
310
310
|
|
|
311
311
|
def cleanup(self) -> None:
|
|
312
312
|
"""Clean up the cloud resource and any temporary configuration files after tests complete."""
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""Sanity test using validate-modules."""
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
-
import atexit
|
|
5
4
|
import collections
|
|
6
5
|
import contextlib
|
|
7
6
|
import json
|
|
@@ -38,6 +37,7 @@ from ...util import (
|
|
|
38
37
|
)
|
|
39
38
|
|
|
40
39
|
from ...util_common import (
|
|
40
|
+
ExitHandler,
|
|
41
41
|
process_scoped_temporary_directory,
|
|
42
42
|
run_command,
|
|
43
43
|
ResultType,
|
|
@@ -242,7 +242,7 @@ class ValidateModulesTest(SanitySingleVersion):
|
|
|
242
242
|
files = payload_config.files
|
|
243
243
|
files.append((path, os.path.relpath(path, data_context().content.root)))
|
|
244
244
|
|
|
245
|
-
|
|
245
|
+
ExitHandler.register(cleanup)
|
|
246
246
|
data_context().register_payload_callback(git_callback)
|
|
247
247
|
|
|
248
248
|
make_dirs(os.path.dirname(path))
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""High level functions for working with containers."""
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
-
import atexit
|
|
5
4
|
import collections.abc as c
|
|
6
5
|
import contextlib
|
|
7
6
|
import enum
|
|
@@ -20,6 +19,7 @@ from .util import (
|
|
|
20
19
|
)
|
|
21
20
|
|
|
22
21
|
from .util_common import (
|
|
22
|
+
ExitHandler,
|
|
23
23
|
named_temporary_file,
|
|
24
24
|
)
|
|
25
25
|
|
|
@@ -225,7 +225,7 @@ def run_support_container(
|
|
|
225
225
|
raise Exception(f'Container already defined: {name}')
|
|
226
226
|
|
|
227
227
|
if not support_containers:
|
|
228
|
-
|
|
228
|
+
ExitHandler.register(cleanup_containers, args)
|
|
229
229
|
|
|
230
230
|
support_containers[name] = descriptor
|
|
231
231
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""Utility code for facilitating collection of code coverage when running tests."""
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
-
import atexit
|
|
5
4
|
import dataclasses
|
|
6
5
|
import os
|
|
7
6
|
import sqlite3
|
|
@@ -34,6 +33,7 @@ from .data import (
|
|
|
34
33
|
)
|
|
35
34
|
|
|
36
35
|
from .util_common import (
|
|
36
|
+
ExitHandler,
|
|
37
37
|
intercept_python,
|
|
38
38
|
ResultType,
|
|
39
39
|
)
|
|
@@ -223,7 +223,7 @@ def get_coverage_config(args: TestConfig) -> str:
|
|
|
223
223
|
temp_dir = '/tmp/coverage-temp-dir'
|
|
224
224
|
else:
|
|
225
225
|
temp_dir = tempfile.mkdtemp()
|
|
226
|
-
|
|
226
|
+
ExitHandler.register(lambda: remove_tree(temp_dir))
|
|
227
227
|
|
|
228
228
|
path = os.path.join(temp_dir, COVERAGE_CONFIG_NAME)
|
|
229
229
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""Payload management for sending Ansible files and test content to other systems (VMs, containers)."""
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
-
import atexit
|
|
5
4
|
import os
|
|
6
5
|
import stat
|
|
7
6
|
import tarfile
|
|
@@ -32,6 +31,7 @@ from .data import (
|
|
|
32
31
|
|
|
33
32
|
from .util_common import (
|
|
34
33
|
CommonConfig,
|
|
34
|
+
ExitHandler,
|
|
35
35
|
)
|
|
36
36
|
|
|
37
37
|
# improve performance by disabling uid/gid lookups
|
|
@@ -192,7 +192,7 @@ def create_temporary_bin_files(args: CommonConfig) -> tuple[tuple[str, str], ...
|
|
|
192
192
|
temp_path = '/tmp/ansible-tmp-bin'
|
|
193
193
|
else:
|
|
194
194
|
temp_path = tempfile.mkdtemp(prefix='ansible', suffix='bin')
|
|
195
|
-
|
|
195
|
+
ExitHandler.register(remove_tree, temp_path)
|
|
196
196
|
|
|
197
197
|
for name, dest in ANSIBLE_BIN_SYMLINK_MAP.items():
|
|
198
198
|
path = os.path.join(temp_path, name)
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""Provision hosts for running tests."""
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
-
import atexit
|
|
5
4
|
import collections.abc as c
|
|
6
5
|
import dataclasses
|
|
7
6
|
import functools
|
|
@@ -27,6 +26,10 @@ from .util import (
|
|
|
27
26
|
type_guard,
|
|
28
27
|
)
|
|
29
28
|
|
|
29
|
+
from .util_common import (
|
|
30
|
+
ExitHandler,
|
|
31
|
+
)
|
|
32
|
+
|
|
30
33
|
from .thread import (
|
|
31
34
|
WrappedThread,
|
|
32
35
|
)
|
|
@@ -124,7 +127,7 @@ def prepare_profiles(
|
|
|
124
127
|
|
|
125
128
|
raise PrimeContainers()
|
|
126
129
|
|
|
127
|
-
|
|
130
|
+
ExitHandler.register(functools.partial(cleanup_profiles, host_state))
|
|
128
131
|
|
|
129
132
|
def provision(profile: HostProfile) -> None:
|
|
130
133
|
"""Provision the given profile."""
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""PyPI proxy management."""
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
-
import atexit
|
|
5
4
|
import os
|
|
6
5
|
import urllib.parse
|
|
7
6
|
|
|
@@ -23,6 +22,7 @@ from .util import (
|
|
|
23
22
|
)
|
|
24
23
|
|
|
25
24
|
from .util_common import (
|
|
25
|
+
ExitHandler,
|
|
26
26
|
process_scoped_temporary_file,
|
|
27
27
|
)
|
|
28
28
|
|
|
@@ -128,7 +128,7 @@ def configure_target_pypi_proxy(args: EnvironmentConfig, profile: HostProfile, p
|
|
|
128
128
|
run_playbook(args, inventory_path, 'pypi_proxy_prepare.yml', capture=True, variables=dict(
|
|
129
129
|
pypi_endpoint=pypi_endpoint, pypi_hostname=pypi_hostname, force=force))
|
|
130
130
|
|
|
131
|
-
|
|
131
|
+
ExitHandler.register(cleanup_pypi_proxy)
|
|
132
132
|
|
|
133
133
|
|
|
134
134
|
def configure_pypi_proxy_pip(args: EnvironmentConfig, profile: HostProfile, pypi_endpoint: str, pypi_hostname: str) -> None:
|
|
@@ -153,7 +153,7 @@ trusted-host = {1}
|
|
|
153
153
|
|
|
154
154
|
if not args.explain:
|
|
155
155
|
write_text_file(pip_conf_path, pip_conf, True)
|
|
156
|
-
|
|
156
|
+
ExitHandler.register(pip_conf_cleanup)
|
|
157
157
|
|
|
158
158
|
|
|
159
159
|
def configure_pypi_proxy_easy_install(args: EnvironmentConfig, profile: HostProfile, pypi_endpoint: str) -> None:
|
|
@@ -177,4 +177,4 @@ index_url = {0}
|
|
|
177
177
|
|
|
178
178
|
if not args.explain:
|
|
179
179
|
write_text_file(pydistutils_cfg_path, pydistutils_cfg, True)
|
|
180
|
-
|
|
180
|
+
ExitHandler.register(pydistutils_cfg_cleanup)
|