ansible-core 2.15.2rc1__py3-none-any.whl → 2.15.3__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.

Files changed (53) hide show
  1. ansible/cli/config.py +1 -0
  2. ansible/cli/galaxy.py +20 -3
  3. ansible/cli/inventory.py +1 -1
  4. ansible/executor/task_executor.py +1 -2
  5. ansible/galaxy/collection/__init__.py +3 -1
  6. ansible/module_utils/ansible_release.py +1 -1
  7. ansible/module_utils/urls.py +16 -12
  8. ansible/modules/getent.py +1 -1
  9. ansible/modules/git.py +1 -1
  10. ansible/modules/setup.py +1 -1
  11. ansible/modules/stat.py +3 -3
  12. ansible/modules/validate_argument_spec.py +1 -1
  13. ansible/modules/yum.py +1 -1
  14. ansible/plugins/action/__init__.py +1 -1
  15. ansible/plugins/filter/split.yml +1 -1
  16. ansible/release.py +1 -1
  17. ansible/utils/encrypt.py +9 -2
  18. ansible_core-2.15.3.dist-info/METADATA +129 -0
  19. {ansible_core-2.15.2rc1.dist-info → ansible_core-2.15.3.dist-info}/RECORD +51 -49
  20. {ansible_core-2.15.2rc1.dist-info → ansible_core-2.15.3.dist-info}/WHEEL +1 -1
  21. ansible_test/_data/requirements/sanity.ansible-doc.txt +2 -0
  22. ansible_test/_data/requirements/sanity.changelog.txt +2 -0
  23. ansible_test/_data/requirements/sanity.import.plugin.txt +2 -0
  24. ansible_test/_data/requirements/sanity.import.txt +2 -0
  25. ansible_test/_data/requirements/sanity.integration-aliases.txt +2 -0
  26. ansible_test/_data/requirements/sanity.pylint.txt +2 -0
  27. ansible_test/_data/requirements/sanity.runtime-metadata.txt +2 -0
  28. ansible_test/_data/requirements/sanity.validate-modules.txt +2 -0
  29. ansible_test/_data/requirements/sanity.yamllint.txt +2 -0
  30. ansible_test/_internal/ansible_util.py +1 -1
  31. ansible_test/_internal/classification/__init__.py +6 -13
  32. ansible_test/_internal/classification/python.py +0 -1
  33. ansible_test/_internal/commands/integration/cloud/cs.py +1 -1
  34. ansible_test/_internal/commands/sanity/__init__.py +44 -7
  35. ansible_test/_internal/commands/sanity/ansible_doc.py +3 -0
  36. ansible_test/_internal/commands/sanity/bin_symlinks.py +102 -0
  37. ansible_test/_internal/commands/sanity/import.py +1 -1
  38. ansible_test/_internal/commands/sanity/integration_aliases.py +430 -0
  39. ansible_test/_internal/commands/sanity/mypy.py +6 -1
  40. ansible_test/_internal/provider/layout/ansible.py +1 -1
  41. ansible_test/_internal/provider/source/unversioned.py +0 -3
  42. ansible_test/_internal/python_requirements.py +7 -0
  43. ansible_test/_internal/util.py +1 -1
  44. ansible_test/_internal/util_common.py +7 -2
  45. ansible_test/_util/controller/sanity/mypy/packaging.ini +20 -0
  46. ansible_test/_util/target/setup/ConfigureRemotingForAnsible.ps1 +1 -1
  47. ansible_test/_util/target/setup/requirements.py +63 -0
  48. ansible_core-2.15.2rc1.dist-info/METADATA +0 -155
  49. ansible_test/_internal/commands/sanity/sanity_docs.py +0 -61
  50. {ansible_core-2.15.2rc1.data → ansible_core-2.15.3.data}/scripts/ansible-test +0 -0
  51. {ansible_core-2.15.2rc1.dist-info → ansible_core-2.15.3.dist-info}/COPYING +0 -0
  52. {ansible_core-2.15.2rc1.dist-info → ansible_core-2.15.3.dist-info}/entry_points.txt +0 -0
  53. {ansible_core-2.15.2rc1.dist-info → ansible_core-2.15.3.dist-info}/top_level.txt +0 -0
@@ -3,15 +3,15 @@ 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=nk3D-OFndWT0eJOWEHLlOX6P4UGr0zzkBEmJhhh4ChE,921
6
+ ansible/release.py,sha256=44wspTcV3rRVBsUOVbSM6DiupR24vAfcjcOQkYlwfIU,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
10
- ansible/cli/config.py,sha256=xLrKBTn8Wm8lCcSWS42LYCghLgneI_WGZeyJcJkIoYQ,22114
10
+ ansible/cli/config.py,sha256=aSt2sNV8iMkqXM8YcLpfXRlNZKvYdoOW625241xT_VI,22157
11
11
  ansible/cli/console.py,sha256=rc-6s-Exf9b8lead40RyfugZdU1-cMoN-kA1iI8Uhs8,21941
12
12
  ansible/cli/doc.py,sha256=x7LNU10RiJJejxHxbZg0xd6cdJarxTEK5LfWmQMc3y0,64153
13
- ansible/cli/galaxy.py,sha256=BwKVIeErmdPIN7V77vzrGtlbO0n72_PYvh1bvVSuSLk,91107
14
- ansible/cli/inventory.py,sha256=6aZ9n8GrRHVPSYbrEezfIJO62pcdH8RUNIayA-iNTKs,17693
13
+ ansible/cli/galaxy.py,sha256=PTQ-abk1nra2lg_uMeq2-b4dvMdUnk7D3JDFWX72Wmw,92262
14
+ ansible/cli/inventory.py,sha256=YxCHVyGNrFEDsZK6mNUxklouvcKW6n0adIMrT7FjTc8,17691
15
15
  ansible/cli/playbook.py,sha256=2MNTSu99nKVO7b7ZeyA0PkR5ML8kuBCeCDMjd5YPh4g,10901
16
16
  ansible/cli/pull.py,sha256=TI3xfqcO-f8I60gRvVdiAEELghSq5Mlb8YPX6SdiitM,17010
17
17
  ansible/cli/vault.py,sha256=8od9BPi570xO7CqiG82G5HHa_6oFRGDxlQ5bdCZkkjQ,22645
@@ -37,7 +37,7 @@ ansible/executor/module_common.py,sha256=6R58IqfOLzg0aDQWRWsi0cbohWMSf_Lvdhf_5hT
37
37
  ansible/executor/play_iterator.py,sha256=WmByZKIcBYx1gT5ybsIv9yiwkimmljR_NnbBVtYs2X8,31562
38
38
  ansible/executor/playbook_executor.py,sha256=VQHEIvZbfOFzp388XFD0KjG0e8Ye8yuNPnnHAZmi898,15069
39
39
  ansible/executor/stats.py,sha256=757UK8wDzLCXq4ltI9PqpoMNAdtRsd9D9-GS-5Al_Hs,3264
40
- ansible/executor/task_executor.py,sha256=8LUxmZs5Ak3ciU_LayWB3LbCrzu4VkpCGnRkKGBCa-U,60003
40
+ ansible/executor/task_executor.py,sha256=SspK6gfZG-YUjtKwyY10TVSf9CFftn2dGXMFrY5B49w,59955
41
41
  ansible/executor/task_queue_manager.py,sha256=DxmfDMeWAClNvp85qvc1uATor-hilv8KsYno3Pl_Ztk,18758
42
42
  ansible/executor/task_result.py,sha256=DvshMci5i9-qCXs0m_vScSa6BJMbPwwNQBV7L2DTCzE,5748
43
43
  ansible/executor/discovery/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -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=U5_Gn33Fz2Ope0448KnGlh1rSArK3vU2LSryri8Ptlg,77327
63
+ ansible/galaxy/collection/__init__.py,sha256=othkH2m7kZYN5Q5e0boNP0rtr-fkjkiohjbYvUSWQHc,77429
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=nk3D-OFndWT0eJOWEHLlOX6P4UGr0zzkBEmJhhh4ChE,921
143
+ ansible/module_utils/ansible_release.py,sha256=44wspTcV3rRVBsUOVbSM6DiupR24vAfcjcOQkYlwfIU,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
@@ -149,7 +149,7 @@ ansible/module_utils/json_utils.py,sha256=IR_bSwrYK1Ie36dCQSHyN4mahkrZkzIIkH3Ddw
149
149
  ansible/module_utils/pycompat24.py,sha256=o0rCcuNi6H5_n926Meo7MIW2HBYCd9-v7GL5FRmbDhs,2269
150
150
  ansible/module_utils/service.py,sha256=kDc5Ykgtm9LCN49JOhGwdKel2gmQpiYTPuU9QVNP5i4,9159
151
151
  ansible/module_utils/splitter.py,sha256=XdRIlHGnD45f85HK3CNWlDCkdULKcP-lHtcmKbSfnmI,9522
152
- ansible/module_utils/urls.py,sha256=tgi54PL2Ya0okjw6i0BARV2i3Rq2M3rogwTC8gYyo7M,85443
152
+ ansible/module_utils/urls.py,sha256=K2-a2RUTXVDhXa5t0v8v4caRZuB2hgsrl3lNbfTE4Xk,85710
153
153
  ansible/module_utils/yumdnf.py,sha256=Itgdq7CSIyAOKQVJEspJA9iKtDnBxZOFQm8JJ4a3KOY,7713
154
154
  ansible/module_utils/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
155
  ansible/module_utils/common/_collections_compat.py,sha256=BcWZGbHoKICMJWrj7aqXlTYM7cH5sNXnLqqRQw6hOL8,981
@@ -301,8 +301,8 @@ ansible/modules/file.py,sha256=16a6R2WvXQWrZiW4P2pfwae4ljN1KGGRNcb4gK9MwcI,40890
301
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
- ansible/modules/getent.py,sha256=Lf6-fu8L9VvqF8MSu2r-4uXkHig8sSKX8mqyxlXn-o8,5676
305
- ansible/modules/git.py,sha256=0VJ8rV7db1d_a5ieJ9nBSvcHwyDX9LZJH-3V3T56IPU,56554
304
+ ansible/modules/getent.py,sha256=dcXZsKYsjTPAz4Ml8iyHHxh0K3zqTRSJePt6Yup_p_E,5675
305
+ ansible/modules/git.py,sha256=ZCOMhjdyvq9geb7iNyBlo5DHeC1Tj8nZGpGBNJQvQac,56555
306
306
  ansible/modules/group.py,sha256=VrfVk3qdDniNWb-sCgk5fjOQikDQMYfVBzZQI27GIGo,21259
307
307
  ansible/modules/group_by.py,sha256=RMC1jSnV1htlU_QLTZKYXWtUOdtDWXcHRFHBAqVsRMY,2467
308
308
  ansible/modules/hostname.py,sha256=BW47SL8_oTH9eZz8dX6-jA7sBMQr_n0D8LHCHSQD94I,28795
@@ -330,10 +330,10 @@ ansible/modules/service.py,sha256=ASr8j1pH40m_nUkCKb--h2zM3ifMDMEb_b8YETyrzzk,65
330
330
  ansible/modules/service_facts.py,sha256=sIh37AvjLTEmnE0wwB7Neg96uoUoKW7bqjZeyYkdtiQ,17134
331
331
  ansible/modules/set_fact.py,sha256=MlN10-J28T16ltvHmBTwbRRfLAv2NbKUVDItsVaJFg4,5756
332
332
  ansible/modules/set_stats.py,sha256=EviuH3UwFGg_aTsWWMnvdscfOR4B8Y2ycMCUO1CpUZQ,2667
333
- ansible/modules/setup.py,sha256=_19tPNNYFOJny8DTilms7cDkYhRRozvj0WriCbKnyTs,11056
333
+ ansible/modules/setup.py,sha256=xbxkK1i2n7hfhS2zXd62zP5KdgK0hcq0QmTefubaBkU,11054
334
334
  ansible/modules/shell.py,sha256=GiNFRd6Nbnji6wwaDM9RYoJQ0z3E_Za2Gkq33rgKpv8,6865
335
335
  ansible/modules/slurp.py,sha256=5Rl-VJ-je_8glRdMqcxfz1_8FO6NIYgA9wDDV20mQwU,3259
336
- ansible/modules/stat.py,sha256=c0XU4tSl5JGgqH4I_ei6TV5DKLiGPa7s_Qzt8zT-KG8,20080
336
+ ansible/modules/stat.py,sha256=vzLGjjgfA3vbv8zlQDJ8Q1txn2Xc46lp5o11Px8yJFk,20087
337
337
  ansible/modules/subversion.py,sha256=JsZd6nIVcKfoEwOKnn_kospKcTm9IuKMb3AxxL8PoKM,13534
338
338
  ansible/modules/systemd.py,sha256=QSyPV1YM0EnvR1mnzpko-nk1IwKWJ25TZKU8hxjaLWM,24120
339
339
  ansible/modules/systemd_service.py,sha256=QSyPV1YM0EnvR1mnzpko-nk1IwKWJ25TZKU8hxjaLWM,24120
@@ -343,10 +343,10 @@ 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=kZanwHDzN14bSWbuxxjbOiPN_M-32DvJ2kR5FWizkps,3129
346
+ ansible/modules/validate_argument_spec.py,sha256=wbFJ6zNUOcRBtmES7rYBqt_Cqior9CKVBNem5k6jvsk,3128
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
- ansible/modules/yum.py,sha256=5dgsGHH-qaxLwjE_dzcsV5jCdT3nyTkGHXV0y-JcdHE,73989
349
+ ansible/modules/yum.py,sha256=36ps6WpZbh0zdErOds9e7isUtricQ56gbOrVP8GsIfg,73994
350
350
  ansible/modules/yum_repository.py,sha256=TyW8EAvRjH5s68p_z9kLs-7_JSz-CrzoFKNDR6DETCI,25420
351
351
  ansible/parsing/__init__.py,sha256=fPEa2N1Z4mjQHwps752TC-vhKA1CkCoEcAjh0YkfM5Y,826
352
352
  ansible/parsing/ajson.py,sha256=CZ3s2arKLvMWz5rzRIhzutRGSx73aS6fDg4C94HAHVA,1338
@@ -393,7 +393,7 @@ ansible/playbook/role/requirement.py,sha256=T_PljD0hgVstV325iALyCUKkAZxzLLlcQjpp
393
393
  ansible/plugins/__init__.py,sha256=i984DJbHLaZ1rirIIGSk3mS-dRAYeCWMmS6jPWkK2bw,5117
394
394
  ansible/plugins/list.py,sha256=KniklIuay3JQv2btOCeX6m5BosHgosoWYjNY6Rz0JR4,8705
395
395
  ansible/plugins/loader.py,sha256=Xic0SBf9PAWG7NltPJDWL0km_X2RQl4hUJRspraCJLk,72768
396
- ansible/plugins/action/__init__.py,sha256=z92BZ8v_IEHThyLwTYfA7j-Vgff-u01wEVomNE49Cw0,69803
396
+ ansible/plugins/action/__init__.py,sha256=vKyTB-yeMTflt_GNKIUqi45NZ0PqJdxW1vblgQZbYSw,69870
397
397
  ansible/plugins/action/add_host.py,sha256=5r_HKyiIyiKAj3PZMshuepYliTppjBp6-o8b9_aFTJA,3667
398
398
  ansible/plugins/action/assemble.py,sha256=YlgV3zbB_gOtVFycTB9eC1u16essMRqYMDhb6ur4UVg,6573
399
399
  ansible/plugins/action/assert.py,sha256=l3BIU0ZfG7z832NpfvfvP8RfJwkBe-T5_PRsTAbyFZo,3891
@@ -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=4RgDPhGZY3EcWGNTWkVt_VuqMJXElhU60iY45n2COrE,843
516
+ ansible/plugins/filter/split.yml,sha256=rLF3diTDl3ZxxGCqEtdjqYPUwZkqlln1rxbKsuM0G_E,835
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
@@ -650,7 +650,7 @@ ansible/utils/cmd_functions.py,sha256=rh7_j2C93vVt-nueP9L2Ouz3Y_QAEQ7kI4dZTu2S6M
650
650
  ansible/utils/color.py,sha256=sBoONbLleSeCVPJMzyP4pvwSs1tKiSYwpCmAUq1Tzy0,4110
651
651
  ansible/utils/context_objects.py,sha256=1-j7SRLgVJU3J5b2PkXMcXS391z435SsKsYIU1m0eCw,3119
652
652
  ansible/utils/display.py,sha256=PPrbH_pIQwgHc_L22q0krzXR5aAxI4tv9BhvmDUJC_c,28192
653
- ansible/utils/encrypt.py,sha256=PRH8UG485_4PFH7B4VxXvz12iwprx8qWFbgBSTmlZEQ,10508
653
+ ansible/utils/encrypt.py,sha256=meEIayAAGzwa80zbW7LXmwxYl4hEjBxRudy8M52WS9I,10840
654
654
  ansible/utils/fqcn.py,sha256=bGTXbsj7wt0zfIf2c_mpLPTj8bGnjs1ACiRZAZpEs58,1268
655
655
  ansible/utils/galaxy.py,sha256=KkaFwPFCcn8S50R4jWDYzYm2H-2b95JUOxY2dAYPGIg,3914
656
656
  ansible/utils/hashing.py,sha256=YwnljDgZv2pJ82aydTSBGqmYWUujcOLHuwb-3S4AWfc,2904
@@ -682,7 +682,7 @@ 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.2rc1.data/scripts/ansible-test,sha256=CYIYL99IxWdVTtDIj3avilIJXhGAmtjuKPPWNuLWuc8,1690
685
+ ansible_core-2.15.3.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
@@ -708,32 +708,32 @@ ansible_test/_data/requirements/ansible-test.txt,sha256=Kq-3pmddlqE9-gxK-N1Syatn
708
708
  ansible_test/_data/requirements/ansible.txt,sha256=9d8Y6zrArVx1DKYtq3CxLxx5HREtp1qhd14Z0P0TKsY,995
709
709
  ansible_test/_data/requirements/constraints.txt,sha256=WQLt0xOabeYk3f-l37XWfmcims_tG2Jkzy9YKrjb_G0,1503
710
710
  ansible_test/_data/requirements/sanity.ansible-doc.in,sha256=9KRJJ-n37IMHpLJLv_VmFOhYF8Y3Vnk6eRyhwVKzC8A,108
711
- ansible_test/_data/requirements/sanity.ansible-doc.txt,sha256=H_tHvy4dGsLkliw-H_GCPTs-ValQKdaFOCkp-8k3i0g,167
711
+ ansible_test/_data/requirements/sanity.ansible-doc.txt,sha256=WJPXwhtJ44APsb2iiu2Ao3ruIcIl9hSksBfXcmEey_U,243
712
712
  ansible_test/_data/requirements/sanity.changelog.in,sha256=cpH3OaHMw_CwfWIEebuOTHTF1q-v5yHFXKibNYmh2qM,86
713
- ansible_test/_data/requirements/sanity.changelog.txt,sha256=7d4UOmmW_KqYu_mol1scTazcde4jZCRdVKc-mIm2dwE,265
713
+ ansible_test/_data/requirements/sanity.changelog.txt,sha256=Mvu2hzRb9EyTIsn8vBm8cIRIHcN5ix72KhuVp7RwVBU,341
714
714
  ansible_test/_data/requirements/sanity.import.in,sha256=dL2716R_VoxiYHZxXNa_offbX8YNF0TI5K_cLTCIte8,37
715
715
  ansible_test/_data/requirements/sanity.import.plugin.in,sha256=7D0HGyPvCG8D1BMuBYP2IMJ__OgCP8So2hzEVTVxvDg,70
716
- ansible_test/_data/requirements/sanity.import.plugin.txt,sha256=5E6VVmnxABEazQtKSQ2qa53cRerXPJrALcKdJYKlNzE,155
717
- ansible_test/_data/requirements/sanity.import.txt,sha256=PGgVCU3f2vPrh-EIt_Bsuwo7Pi5uaZ5UAbgYiuMUIcw,109
716
+ ansible_test/_data/requirements/sanity.import.plugin.txt,sha256=fbXzqn8vgxcDWA56jDiF5wlxBwY2J6XctCjZoFQq7ZI,231
717
+ ansible_test/_data/requirements/sanity.import.txt,sha256=PKv3cAOg1sHScFqM8Oo0n5ILbi0l3VMfbVnv1K5-Ayo,185
718
718
  ansible_test/_data/requirements/sanity.integration-aliases.in,sha256=NMkWvYDYr5-OnrCqjdCkfHbP9dFqncYTIUrKwA628dE,7
719
- ansible_test/_data/requirements/sanity.integration-aliases.txt,sha256=U-cTBB_FnDU4BQdn7F_mIbMb_r5g04pukB_qlxORYZA,135
719
+ ansible_test/_data/requirements/sanity.integration-aliases.txt,sha256=o2JsPjvtX8qcSqT4JUuj5SKaXA9FugFFM9DS4U5o_UY,211
720
720
  ansible_test/_data/requirements/sanity.mypy.in,sha256=7TvFAsO1M6tYke9A576pJq3d8GQOl2PVR5ni3jXxjl8,239
721
721
  ansible_test/_data/requirements/sanity.mypy.txt,sha256=FhiLnxUimDWvmAilIm1jYHR9cGoEsTykeM6RGJtLKRA,435
722
722
  ansible_test/_data/requirements/sanity.pep8.in,sha256=rHbIEiXmvsJ016mFcLVcF_d-dKgP3VdfOB6CWbivZug,12
723
723
  ansible_test/_data/requirements/sanity.pep8.txt,sha256=ugaZG7oks7629nPy4vTSWtP8iS90XcfmJKxmcps4B4o,113
724
724
  ansible_test/_data/requirements/sanity.pslint.ps1,sha256=JoDUUNLXQ4xDXUB5_W00q9o-gZ1oW1oShLp--f5OEIE,1624
725
725
  ansible_test/_data/requirements/sanity.pylint.in,sha256=CqgyF_s4K3o41RSc6KZVicBlhrb4twRm9zbp-HBwFeE,49
726
- ansible_test/_data/requirements/sanity.pylint.txt,sha256=fqfbYZxxVZrm8HlCOeSCZgeLvKf76-oEJUovdSw8III,293
726
+ ansible_test/_data/requirements/sanity.pylint.txt,sha256=aV_NakMqY0PTia1zp-ipD1q96nMXvXDQpOUdSWzplVc,369
727
727
  ansible_test/_data/requirements/sanity.runtime-metadata.in,sha256=QzOCB5QxVHYuXHXQvkUsa5MwRQzPhI-ZDD-M2htj36s,18
728
- ansible_test/_data/requirements/sanity.runtime-metadata.txt,sha256=K0Kesnp-H7naekb-cXc0oMAvqNKLwUATh_DgwcIdL3Q,148
728
+ ansible_test/_data/requirements/sanity.runtime-metadata.txt,sha256=JHfVwHa6zHC5rXieX-gQEBVl-5G1Pwpx2d7ubCaLSN4,224
729
729
  ansible_test/_data/requirements/sanity.validate-modules.in,sha256=XDFnVqB9yhfWhwIOBkTw-Dw8hpMnxqO1hXtettetUIU,117
730
- ansible_test/_data/requirements/sanity.validate-modules.txt,sha256=WzuOlP9NzdxowbQ1AcL09yt7zQ71n0R6GmcLyJ6cb20,209
730
+ ansible_test/_data/requirements/sanity.validate-modules.txt,sha256=RngJ3qn_GVyd8ZCk6AX949aOyH9QX3i1NbPUwq0h2Nw,285
731
731
  ansible_test/_data/requirements/sanity.yamllint.in,sha256=ivPsPeZUDHOuLbd603ZxKClOQ1bATyMYNx3GfHQmt4g,9
732
- ansible_test/_data/requirements/sanity.yamllint.txt,sha256=t_5YBcbqw7-c3GCbTE3jh3e5M4YfRENpG0eFtJYpY-A,147
732
+ ansible_test/_data/requirements/sanity.yamllint.txt,sha256=rOXYavTA8af_3aGS1zU0DP1RTJoE6pQleVyooL5OvHs,223
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
735
  ansible_test/_internal/__init__.py,sha256=Ov_4Oh-B08xt4PU_7M_fMkmG9X9gnseBo78x0hmXZ98,3156
736
- ansible_test/_internal/ansible_util.py,sha256=umqdtrqg0C4T6EnoQ_tbAigVA6u5Y4qHq8-Iqxt9gDw,10271
736
+ ansible_test/_internal/ansible_util.py,sha256=6qb5I6GIjxoITHXwUm0QX9X6Y8ZSaEe_NyHFRUMmI9Q,10274
737
737
  ansible_test/_internal/become.py,sha256=zvOlaWKA4L6Cp6Xe795FsTw9xlWUy5Q5TicOwHXjzaI,3071
738
738
  ansible_test/_internal/bootstrap.py,sha256=UbkB1ZJ-2bs7qtwRRBi5516IsBq0vZl-pUoyrgzdROQ,2471
739
739
  ansible_test/_internal/cache.py,sha256=3W_1s5xdXdm-6Mhgrk1bNlr_Nde-B4FDN00LN0hVbfk,1050
@@ -765,23 +765,23 @@ ansible_test/_internal/metadata.py,sha256=c9ThXPUlgeKYhaTUmfCSS4INRNQ1JhN2KEOVaX
765
765
  ansible_test/_internal/payload.py,sha256=1Pw05OEHvP3LMQnoLXch8631c94YMklWlpDn0CvQECw,8012
766
766
  ansible_test/_internal/provisioning.py,sha256=9Zl3xQqljx0MGDTp55Q4LZPWQ7Afj5K87cGsXzPGS5Y,7320
767
767
  ansible_test/_internal/pypi_proxy.py,sha256=kVvqvLIxN-VolD1jG_EILwYy1bWoy766ZKVKEFlQgmA,6040
768
- ansible_test/_internal/python_requirements.py,sha256=xhT-hndjxz16gx4lPqg_brbn5J_lakjY87uvrXo4Vpo,20061
768
+ ansible_test/_internal/python_requirements.py,sha256=T5FIlohIFeHHcFAJcsL8bUSvgQ-xg_JUyEZJaZL2PFg,20401
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
771
771
  ansible_test/_internal/test.py,sha256=znQmGjKACqDU8T0EAPqcv2qyy0J7M2w4OmyYhwHLqT0,14515
772
772
  ansible_test/_internal/thread.py,sha256=WQoZ2q2ljmEkKHRDkIqwxW7eZbkCKDrG3YZfcaxHzHw,2596
773
773
  ansible_test/_internal/timeout.py,sha256=hT-LirImhAh1iCGIh8JpmECXsiGu6Zetw8BWl1iBIC8,4050
774
- ansible_test/_internal/util.py,sha256=Mp9_uyY3aqEGJFq0POzvELMoh_IhyIxYuf-FiGBfZIM,37809
775
- ansible_test/_internal/util_common.py,sha256=S_YMEZvGEqtzKvgZmxQrIT7P66KnOLKyAvC_s1QppEE,17291
774
+ ansible_test/_internal/util.py,sha256=9F91OJLJBjtaG3CgFqCj7EqT0dnE9lKoj3LDO6FwaHc,37805
775
+ ansible_test/_internal/util_common.py,sha256=wxYutoQap6iemTLRC8c0fGSm3GP0ziAlq4XBV77aZfk,17389
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
779
779
  ansible_test/_internal/ci/local.py,sha256=E4nnerMKdBoVEbsT8IBkl0nSdXyxO2gT8WAaxyzA1EY,6739
780
- ansible_test/_internal/classification/__init__.py,sha256=MIYq_hhKRbZ9L31p7tRzeGlCPuX0M4IP1aH6f29K1UE,34475
780
+ ansible_test/_internal/classification/__init__.py,sha256=PPvWxiRoYAThqw4dPUfib-rtfisElZViuMXXR0Sqmx4,34325
781
781
  ansible_test/_internal/classification/common.py,sha256=jd5VLRegcOX-GNTZqN_7PBzwKF6akFQYsPEltfynGtU,894
782
782
  ansible_test/_internal/classification/csharp.py,sha256=3QpVZjamTTG7h86oeVm7d4UMbyojPbBALHVqCpxS1ic,3241
783
783
  ansible_test/_internal/classification/powershell.py,sha256=i8t8LxG_-wDPpz1VlnvqAPpRGgVJsuA_xglMtCpibCc,3053
784
- ansible_test/_internal/classification/python.py,sha256=x9G11qF7vjKrdZch8e9d65zEWXiJQmu1NhYe4uxhSZQ,13609
784
+ ansible_test/_internal/classification/python.py,sha256=pltDeMQEDbtjyG15vAizCvygU8MHrPcqWSobU6z_8YY,13532
785
785
  ansible_test/_internal/cli/__init__.py,sha256=kTB7TfN12k_VJGMXEuOSlu3huruIUTb8UIFkaFyMr_I,1427
786
786
  ansible_test/_internal/cli/actions.py,sha256=D3z2FdpJC1dpQR9Vu1662wW28_iqPpWeAC3rizzjVAA,3366
787
787
  ansible_test/_internal/cli/compat.py,sha256=IuzgPeiqCd-OTlIEuNiphq3M96d9KNBYWbg42akaVNY,23007
@@ -847,7 +847,7 @@ ansible_test/_internal/commands/integration/cloud/acme.py,sha256=OIiqJ3wZSbfxN3V
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
849
849
  ansible_test/_internal/commands/integration/cloud/cloudscale.py,sha256=yWCpAEBVjtbV-Ouhqtl0N42CTk7PuIL6TmGChaqB6pk,1794
850
- ansible_test/_internal/commands/integration/cloud/cs.py,sha256=ogVxOFHNzzLxjtpJ8TKfcach4Zwb-UXKksqN3Qr3zN0,5203
850
+ ansible_test/_internal/commands/integration/cloud/cs.py,sha256=fOU7EkLP6skeGeNzhCgzzK6T9UJDLYVhTi2wCbI4AV0,5203
851
851
  ansible_test/_internal/commands/integration/cloud/digitalocean.py,sha256=ut2jMYd91TPdBDtD-JFduYCBaQ7rNReCgvAEDHPexs4,1497
852
852
  ansible_test/_internal/commands/integration/cloud/foreman.py,sha256=JBGjVi9FD3MIkUJIIYvRHBaSD63aLs7ueXWptcFyfGE,2884
853
853
  ansible_test/_internal/commands/integration/cloud/galaxy.py,sha256=f5eRnPboXZ7mMY8h-Znj8BBFPGiGTz7E9-JkGSc3nt4,6352
@@ -860,16 +860,17 @@ ansible_test/_internal/commands/integration/cloud/openshift.py,sha256=GRexSBUT99
860
860
  ansible_test/_internal/commands/integration/cloud/scaleway.py,sha256=ZoScZMW5xP-0rQ68OE3-axjCD_p638AqU0B9tlmPTeU,1537
861
861
  ansible_test/_internal/commands/integration/cloud/vcenter.py,sha256=a1GALccb_wh1RWdQaGqhFpWQTINL7MxJNlUShyOVXQ0,5325
862
862
  ansible_test/_internal/commands/integration/cloud/vultr.py,sha256=TE43tKiAerXbKD9FXBrBVzeWNUB87qtR5twg_zDicHM,1488
863
- ansible_test/_internal/commands/sanity/__init__.py,sha256=dDmviUX_yX7BPXMYZy-CLuiizqymBORgHhxHLmLkVyY,48538
864
- ansible_test/_internal/commands/sanity/ansible_doc.py,sha256=jpxbRWM-QhR1L0b08tJPsxHIqM4ty0QjIMmO1AxcDHQ,5671
863
+ ansible_test/_internal/commands/sanity/__init__.py,sha256=hP7MNOXoxclVsESt8JfLz85beEpx5W08dtgv5QDAJ_o,50352
864
+ ansible_test/_internal/commands/sanity/ansible_doc.py,sha256=EY2PbiIAXkJRTS-WbTIirLDGaCwWZRJSnUIpViylHJA,5734
865
+ ansible_test/_internal/commands/sanity/bin_symlinks.py,sha256=IAHze0HglLHnsUW4HowA8tmDzWGn4E8N5mnAi7hXPMI,3045
865
866
  ansible_test/_internal/commands/sanity/compile.py,sha256=ZQwHB85a7N6utr038kLbDZwFlXGEJMkSI63YyoGcd-I,2539
866
867
  ansible_test/_internal/commands/sanity/ignores.py,sha256=9wpzc8eRKS4nAVWOeSgXju5j1tDXNFPMSlskrR-Pohs,2789
867
- ansible_test/_internal/commands/sanity/import.py,sha256=C7GCC2AFmjZ96rllGCcZIxiy_pDYSG9vGJFWcsny484,7555
868
- ansible_test/_internal/commands/sanity/mypy.py,sha256=d3K3mPO38sxAkvRm3DkR59TL3Aj57dQZp7JRsY_lDXI,10737
868
+ ansible_test/_internal/commands/sanity/import.py,sha256=gvPKZtJ4hyVclZmJsJcI4nxRqFRB8wGvJCmnUYEfF08,7571
869
+ ansible_test/_internal/commands/sanity/integration_aliases.py,sha256=sGN5ATjW3_Xn0m_ncqxxFz8tLQ0jqpceHDaeIZzshMM,16221
870
+ ansible_test/_internal/commands/sanity/mypy.py,sha256=nORKn27X6ePFs3qpWuSEmTS0bqNQ8jje-H8VNWsqgZE,10998
869
871
  ansible_test/_internal/commands/sanity/pep8.py,sha256=SSulTIljaSu_exl93ZklKyuhbKS-zf18SKu23k3VJhA,3125
870
872
  ansible_test/_internal/commands/sanity/pslint.py,sha256=lVgL6RrDolRgIOJ2NRr04k2KVwMddZz1M7I-6h57vII,3210
871
873
  ansible_test/_internal/commands/sanity/pylint.py,sha256=8XxdckD4AVTkP8GamX6XaeGcMvYvf5yTgtUIN5d8aFk,10922
872
- ansible_test/_internal/commands/sanity/sanity_docs.py,sha256=0rbqhxKQXYuVzJ6x4V_ItH9tA15mT9gSYVgxNU3EhnQ,1605
873
874
  ansible_test/_internal/commands/sanity/shellcheck.py,sha256=CZHNN_2iNVE3iqf5SIDSH9b2hwF6aXtJ0H6MPCEJX4s,3070
874
875
  ansible_test/_internal/commands/sanity/validate_modules.py,sha256=D4qXBfkWQ5NJam6TN9HOi_NWXEDErBFXatWoP-OiQjo,7904
875
876
  ansible_test/_internal/commands/sanity/yamllint.py,sha256=rF_L-QVWLfQ5HiOf_Q-6AMdk7orOJN_Bu8XyMfobRQ8,3423
@@ -882,14 +883,14 @@ ansible_test/_internal/dev/__init__.py,sha256=wUzKrVA5k8r6W3k9kaGg-c8k84avPlmC49
882
883
  ansible_test/_internal/dev/container_probe.py,sha256=HQwqiKwn4LEZhzchsGu1PGgGDv5Jb0P2iXwSDp5tIBI,7819
883
884
  ansible_test/_internal/provider/__init__.py,sha256=GYJAiW8sj-6IrKxiQQxCFVZ8Wu4R9okpR4ej4IM0T_s,2246
884
885
  ansible_test/_internal/provider/layout/__init__.py,sha256=yV3tTECAb-5iOquwKSdUl_AquOhUq1pNWnq898Y-qWc,7601
885
- ansible_test/_internal/provider/layout/ansible.py,sha256=QPFZiZTJAvKfAJ_ouKI6N5n4AOoL0-aw9FvdX-HLUVc,1969
886
+ ansible_test/_internal/provider/layout/ansible.py,sha256=OFxJcF1bVAcuL3hEx1ZFGBgfc6Cv_d2VvApUoxs7E-g,1979
886
887
  ansible_test/_internal/provider/layout/collection.py,sha256=0fTr6jLOXp4Nt-S6X3EiwHZwuaMJqCgX_mkF-uR2dHI,6130
887
888
  ansible_test/_internal/provider/layout/unsupported.py,sha256=VDD7tNkEQA0VBDHHtUCLXeufocPymxxCYTQKCO5Bkow,1240
888
889
  ansible_test/_internal/provider/source/__init__.py,sha256=H7blyEyZ_qEeo9z4QvuHBlM4H2i33EK9EL6eiX6mIHQ,359
889
890
  ansible_test/_internal/provider/source/git.py,sha256=yt9hlX0zdvVlKJJAGJz9eoDBwTr5tsjIoklu_dPud3Y,2540
890
891
  ansible_test/_internal/provider/source/installed.py,sha256=HWHqsPsN1rvLzZUkoo3xiVRG0Yuu1SqOzBgWkyUibR4,1165
891
892
  ansible_test/_internal/provider/source/unsupported.py,sha256=VuKKHXpK4oWWMSjcuIAKO2qobgERQuTyoHhzqIzrCDo,604
892
- ansible_test/_internal/provider/source/unversioned.py,sha256=nwg0-9B_oO7Aw2sCr5b3xpdwkSS6cB4uLsUpldWHH-U,2311
893
+ ansible_test/_internal/provider/source/unversioned.py,sha256=GLydvU4R-8TKSxl-xOk6jG3YPJqeM30NdloRpBxal9Q,2240
893
894
  ansible_test/_util/__init__.py,sha256=6e721yAyyyocRKzbCKtQXloAfFP7Aqv0L3zG70uh-4A,190
894
895
  ansible_test/_util/controller/sanity/code-smell/action-plugin-docs.json,sha256=UFrvd1xSg8KNvaqWyY0FcTTuzg7BdsaRF3Uumhi7Zik,249
895
896
  ansible_test/_util/controller/sanity/code-smell/action-plugin-docs.py,sha256=9tFehFF-r_PUo65lvZe1LvBmEiSFrzoPFW0-WKTZptg,1737
@@ -940,6 +941,7 @@ ansible_test/_util/controller/sanity/integration-aliases/yaml_to_json.py,sha256=
940
941
  ansible_test/_util/controller/sanity/mypy/ansible-core.ini,sha256=B13dYyd5PGoN-BrFShPMhGBCGbV2oiTsBD8TdRDAh3Q,2327
941
942
  ansible_test/_util/controller/sanity/mypy/ansible-test.ini,sha256=lbBGGRhM-sL7iUdt5f0ctGSAvPmjCXIFeogm3Z22qkA,908
942
943
  ansible_test/_util/controller/sanity/mypy/modules.ini,sha256=48N2I3ubw3yAuE8layHQ_d0CTfH_eATuXt-K5Bq-ifw,1694
944
+ ansible_test/_util/controller/sanity/mypy/packaging.ini,sha256=2hXaIMYMOv63GW5UZp8KwWzAuq7fEMMDoPi-EHnC-q8,457
943
945
  ansible_test/_util/controller/sanity/pep8/current-ignore.txt,sha256=9VSaFOsdxN4_8GJVhnmpl5kXos2TPU3M08eC_NRI2Ks,196
944
946
  ansible_test/_util/controller/sanity/pslint/pslint.ps1,sha256=h0fLdkwF7JhGGjApvqAsCU87BKy0E_UiFJ_O7MARz6U,1089
945
947
  ansible_test/_util/controller/sanity/pslint/settings.psd1,sha256=QJnOH39HTVkJbPhhVo29olmQ_ftvzYpNa8uQ-figgws,1869
@@ -977,12 +979,12 @@ ansible_test/_util/target/pytest/plugins/ansible_pytest_collections.py,sha256=Hp
977
979
  ansible_test/_util/target/pytest/plugins/ansible_pytest_coverage.py,sha256=Nr52YbVP7BwI4u6mZZptZIYGAfmqzzytdbC98lTr5Ks,1599
978
980
  ansible_test/_util/target/sanity/compile/compile.py,sha256=X1WHH2iLT4K8kyYJKlr-6AL6EAzKisL_hYrjvGrHCZ8,1637
979
981
  ansible_test/_util/target/sanity/import/importer.py,sha256=FNNKz2lSpxTNdfjLdvadzP3KryI4ut7gT03050gzDN8,25932
980
- ansible_test/_util/target/setup/ConfigureRemotingForAnsible.ps1,sha256=oo9syKBAmpDMEVIige_PSiQuzajS4Ejc7_IBkyUvs2Y,16669
982
+ ansible_test/_util/target/setup/ConfigureRemotingForAnsible.ps1,sha256=pW9YaaSNvhc_0ijjMfSMdoQkrmZNJ-Rb4xCL8m8t7yU,16693
981
983
  ansible_test/_util/target/setup/bootstrap.sh,sha256=CPZvtpT8H7l2F2Th9kc85EseMm6evxsWPLCgfirBNSA,12994
982
984
  ansible_test/_util/target/setup/check_systemd_cgroup_v1.sh,sha256=Aq0T62x_KLtkGaWzYqWjvhchTqYFflrTbQET3h6xrT0,395
983
985
  ansible_test/_util/target/setup/probe_cgroups.py,sha256=ygqTkZc_YDH6EkZqp95rk_xkqsYcy_9IslPHKZO2A-8,712
984
986
  ansible_test/_util/target/setup/quiet_pip.py,sha256=k-EK8Ny7AcekGTejRFq0oV4YTVHaYUVpjfRLbKVApnc,3267
985
- ansible_test/_util/target/setup/requirements.py,sha256=aA-UP2kyWKThgN1qh4Nt9zu3osqxlEjl6PEHUQCmjpo,10548
987
+ ansible_test/_util/target/setup/requirements.py,sha256=DK1jHcj_ghnPhG0A7SvSTIoiwnxGDuRnxVvlAD3zeq4,13253
986
988
  ansible_test/_util/target/tools/virtualenvcheck.py,sha256=U8MRKjU9A6G3KOfLzDIvKODmjyl1KXbDjxbx2ZZOta8,518
987
989
  ansible_test/_util/target/tools/yamlcheck.py,sha256=ypZ8yEX0x6CnCkwRAPHkMRtzdz32WrQx1_UbCqaxRCc,364
988
990
  ansible_test/config/cloud-config-aws.ini.template,sha256=XRzB9pG9aRS_fxLMcOcbyb9NeUHpcTZVXvceIl2GNy8,1280
@@ -999,9 +1001,9 @@ ansible_test/config/cloud-config-vultr.ini.template,sha256=XLKHk3lg_8ReQMdWfZzhh
999
1001
  ansible_test/config/config.yml,sha256=wb3knoBmZewG3GWOMnRHoVPQWW4vPixKLPMNS6vJmTc,2620
1000
1002
  ansible_test/config/inventory.networking.template,sha256=bFNSk8zNQOaZ_twaflrY0XZ9mLwUbRLuNT0BdIFwvn4,1335
1001
1003
  ansible_test/config/inventory.winrm.template,sha256=1QU8W-GFLnYEw8yY9bVIvUAVvJYPM3hyoijf6-M7T00,1098
1002
- ansible_core-2.15.2rc1.dist-info/COPYING,sha256=CuBIWlvTemPmNgNZZBfk6w5lMzT6bH-TLKOg6F1K8ic,35148
1003
- ansible_core-2.15.2rc1.dist-info/METADATA,sha256=yYS4Gmibt8j6LPN-jFDVpcKY7nau131BmOaAc_AjiCY,7507
1004
- ansible_core-2.15.2rc1.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
1005
- ansible_core-2.15.2rc1.dist-info/entry_points.txt,sha256=0mpmsrIhODChxKl3eS-NcVQCaMetBn8KdPLtVxQgR64,453
1006
- ansible_core-2.15.2rc1.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
1007
- ansible_core-2.15.2rc1.dist-info/RECORD,,
1004
+ ansible_core-2.15.3.dist-info/COPYING,sha256=CuBIWlvTemPmNgNZZBfk6w5lMzT6bH-TLKOg6F1K8ic,35148
1005
+ ansible_core-2.15.3.dist-info/METADATA,sha256=5gTzYLaxrp8HAIALh7CHbbPT8VU4AfeZt2tKcSY8IXc,6975
1006
+ ansible_core-2.15.3.dist-info/WHEEL,sha256=5sUXSg9e4bi7lTLOHcm6QEYwO5TIF1TNbTSVFVjcJcc,92
1007
+ ansible_core-2.15.3.dist-info/entry_points.txt,sha256=0mpmsrIhODChxKl3eS-NcVQCaMetBn8KdPLtVxQgR64,453
1008
+ ansible_core-2.15.3.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
1009
+ ansible_core-2.15.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.40.0)
2
+ Generator: bdist_wheel (0.41.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,4 +1,6 @@
1
1
  # edit "sanity.ansible-doc.in" and generate with: hacking/update-sanity-requirements.py --test ansible-doc
2
+ # pre-build requirement: pyyaml == 6.0
3
+ # pre-build constraint: Cython < 3.0
2
4
  Jinja2==3.1.2
3
5
  MarkupSafe==2.1.2
4
6
  packaging==23.0
@@ -1,4 +1,6 @@
1
1
  # edit "sanity.changelog.in" and generate with: hacking/update-sanity-requirements.py --test changelog
2
+ # pre-build requirement: pyyaml == 6.0
3
+ # pre-build constraint: Cython < 3.0
2
4
  antsibull-changelog==0.19.0
3
5
  docutils==0.18.1
4
6
  packaging==23.0
@@ -1,4 +1,6 @@
1
1
  # edit "sanity.import.plugin.in" and generate with: hacking/update-sanity-requirements.py --test import.plugin
2
+ # pre-build requirement: pyyaml == 6.0
3
+ # pre-build constraint: Cython < 3.0
2
4
  Jinja2==3.1.2
3
5
  MarkupSafe==2.1.2
4
6
  PyYAML==6.0
@@ -1,2 +1,4 @@
1
1
  # edit "sanity.import.in" and generate with: hacking/update-sanity-requirements.py --test import
2
+ # pre-build requirement: pyyaml == 6.0
3
+ # pre-build constraint: Cython < 3.0
2
4
  PyYAML==6.0
@@ -1,2 +1,4 @@
1
1
  # edit "sanity.integration-aliases.in" and generate with: hacking/update-sanity-requirements.py --test integration-aliases
2
+ # pre-build requirement: pyyaml == 6.0
3
+ # pre-build constraint: Cython < 3.0
2
4
  PyYAML==6.0
@@ -1,4 +1,6 @@
1
1
  # edit "sanity.pylint.in" and generate with: hacking/update-sanity-requirements.py --test pylint
2
+ # pre-build requirement: pyyaml == 6.0
3
+ # pre-build constraint: Cython < 3.0
2
4
  astroid==2.15.4
3
5
  dill==0.3.6
4
6
  isort==5.12.0
@@ -1,3 +1,5 @@
1
1
  # edit "sanity.runtime-metadata.in" and generate with: hacking/update-sanity-requirements.py --test runtime-metadata
2
+ # pre-build requirement: pyyaml == 6.0
3
+ # pre-build constraint: Cython < 3.0
2
4
  PyYAML==6.0
3
5
  voluptuous==0.13.1
@@ -1,4 +1,6 @@
1
1
  # edit "sanity.validate-modules.in" and generate with: hacking/update-sanity-requirements.py --test validate-modules
2
+ # pre-build requirement: pyyaml == 6.0
3
+ # pre-build constraint: Cython < 3.0
2
4
  antsibull-docs-parser==0.2.0
3
5
  Jinja2==3.1.2
4
6
  MarkupSafe==2.1.2
@@ -1,4 +1,6 @@
1
1
  # edit "sanity.yamllint.in" and generate with: hacking/update-sanity-requirements.py --test yamllint
2
+ # pre-build requirement: pyyaml == 6.0
3
+ # pre-build constraint: Cython < 3.0
2
4
  pathspec==0.11.1
3
5
  PyYAML==6.0
4
6
  yamllint==1.30.0
@@ -231,7 +231,7 @@ def generate_egg_info(path: str) -> None:
231
231
  # minimal PKG-INFO stub following the format defined in PEP 241
232
232
  # required for older setuptools versions to avoid a traceback when importing pkg_resources from packages like cryptography
233
233
  # newer setuptools versions are happy with an empty directory
234
- # including a stub here means we don't need to locate the existing file or have setup.py generate it when running from source
234
+ # including a stub here means we don't need to locate the existing file or run any tools to generate it when running from source
235
235
  pkg_info = '''
236
236
  Metadata-Version: 1.0
237
237
  Name: ansible
@@ -721,17 +721,6 @@ class PathMapper:
721
721
  if path.startswith('changelogs/'):
722
722
  return minimal
723
723
 
724
- if path.startswith('docs/'):
725
- return minimal
726
-
727
- if path.startswith('examples/'):
728
- if path == 'examples/scripts/ConfigureRemotingForAnsible.ps1':
729
- return {
730
- 'windows-integration': 'connection_winrm',
731
- }
732
-
733
- return minimal
734
-
735
724
  if path.startswith('hacking/'):
736
725
  return minimal
737
726
 
@@ -753,8 +742,12 @@ class PathMapper:
753
742
  return minimal
754
743
 
755
744
  if path.startswith('packaging/'):
756
- if path.startswith('packaging/pep517_backend/'):
757
- return packaging
745
+ packaging_target = f'packaging_{os.path.splitext(path.split(os.path.sep)[1])[0]}'
746
+
747
+ if packaging_target in self.integration_targets_by_name:
748
+ return {
749
+ 'integration': packaging_target,
750
+ }
758
751
 
759
752
  return minimal
760
753
 
@@ -256,7 +256,6 @@ class ModuleUtilFinder(ast.NodeVisitor):
256
256
  # The mapping is a tuple consisting of a path pattern to match and a replacement path.
257
257
  # During analysis, any relative imports not covered here will result in warnings, which can be fixed by adding the appropriate entry.
258
258
  path_map = (
259
- ('^hacking/build_library/build_ansible/', 'build_ansible/'),
260
259
  ('^lib/ansible/', 'ansible/'),
261
260
  ('^test/lib/ansible_test/_util/controller/sanity/validate-modules/', 'validate_modules/'),
262
261
  ('^test/units/', 'test/units/'),
@@ -41,7 +41,7 @@ class CsCloudProvider(CloudProvider):
41
41
  def __init__(self, args: IntegrationConfig) -> None:
42
42
  super().__init__(args)
43
43
 
44
- self.image = os.environ.get('ANSIBLE_CLOUDSTACK_CONTAINER', 'quay.io/ansible/cloudstack-test-container:1.6.0')
44
+ self.image = os.environ.get('ANSIBLE_CLOUDSTACK_CONTAINER', 'quay.io/ansible/cloudstack-test-container:1.6.1')
45
45
  self.host = ''
46
46
  self.port = 0
47
47
 
@@ -71,6 +71,7 @@ from ...executor import (
71
71
  )
72
72
 
73
73
  from ...python_requirements import (
74
+ PipCommand,
74
75
  PipInstall,
75
76
  collect_requirements,
76
77
  run_pip,
@@ -263,7 +264,7 @@ def command_sanity(args: SanityConfig) -> None:
263
264
  virtualenv_python = create_sanity_virtualenv(args, test_profile.python, test.name)
264
265
 
265
266
  if virtualenv_python:
266
- virtualenv_yaml = check_sanity_virtualenv_yaml(virtualenv_python)
267
+ virtualenv_yaml = args.explain or check_sanity_virtualenv_yaml(virtualenv_python)
267
268
 
268
269
  if test.require_libyaml and not virtualenv_yaml:
269
270
  result = SanitySkipped(test.name)
@@ -1147,7 +1148,7 @@ def create_sanity_virtualenv(
1147
1148
  # The path to the virtual environment must be kept short to avoid the 127 character shebang length limit on Linux.
1148
1149
  # If the limit is exceeded, generated entry point scripts from pip installed packages will fail with syntax errors.
1149
1150
  virtualenv_install = json.dumps([command.serialize() for command in commands], indent=4)
1150
- virtualenv_hash = hashlib.sha256(to_bytes(virtualenv_install)).hexdigest()[:8]
1151
+ virtualenv_hash = hash_pip_commands(commands)
1151
1152
  virtualenv_cache = os.path.join(os.path.expanduser('~/.ansible/test/venv'))
1152
1153
  virtualenv_path = os.path.join(virtualenv_cache, label, f'{python.version}', virtualenv_hash)
1153
1154
  virtualenv_marker = os.path.join(virtualenv_path, 'marker.txt')
@@ -1169,24 +1170,60 @@ def create_sanity_virtualenv(
1169
1170
 
1170
1171
  run_pip(args, virtualenv_python, commands, None) # create_sanity_virtualenv()
1171
1172
 
1172
- write_text_file(meta_install, virtualenv_install)
1173
+ if not args.explain:
1174
+ write_text_file(meta_install, virtualenv_install)
1173
1175
 
1174
1176
  # false positive: pylint: disable=no-member
1175
1177
  if any(isinstance(command, PipInstall) and command.has_package('pyyaml') for command in commands):
1176
- virtualenv_yaml = yamlcheck(virtualenv_python)
1178
+ virtualenv_yaml = yamlcheck(virtualenv_python, args.explain)
1177
1179
  else:
1178
1180
  virtualenv_yaml = None
1179
1181
 
1180
- write_json_file(meta_yaml, virtualenv_yaml)
1182
+ if not args.explain:
1183
+ write_json_file(meta_yaml, virtualenv_yaml)
1181
1184
 
1182
1185
  created_venvs.append(f'{label}-{python.version}')
1183
1186
 
1184
- # touch the marker to keep track of when the virtualenv was last used
1185
- pathlib.Path(virtualenv_marker).touch()
1187
+ if not args.explain:
1188
+ # touch the marker to keep track of when the virtualenv was last used
1189
+ pathlib.Path(virtualenv_marker).touch()
1186
1190
 
1187
1191
  return virtualenv_python
1188
1192
 
1189
1193
 
1194
+ def hash_pip_commands(commands: list[PipCommand]) -> str:
1195
+ """Return a short hash unique to the given list of pip commands, suitable for identifying the resulting sanity test environment."""
1196
+ serialized_commands = json.dumps([make_pip_command_hashable(command) for command in commands], indent=4)
1197
+
1198
+ return hashlib.sha256(to_bytes(serialized_commands)).hexdigest()[:8]
1199
+
1200
+
1201
+ def make_pip_command_hashable(command: PipCommand) -> tuple[str, dict[str, t.Any]]:
1202
+ """Return a serialized version of the given pip command that is suitable for hashing."""
1203
+ if isinstance(command, PipInstall):
1204
+ # The pre-build instructions for pip installs must be omitted, so they do not affect the hash.
1205
+ # This is allows the pre-build commands to be added without breaking sanity venv caching.
1206
+ # It is safe to omit these from the hash since they only affect packages used during builds, not what is installed in the venv.
1207
+ command = PipInstall(
1208
+ requirements=[omit_pre_build_from_requirement(*req) for req in command.requirements],
1209
+ constraints=list(command.constraints),
1210
+ packages=list(command.packages),
1211
+ )
1212
+
1213
+ return command.serialize()
1214
+
1215
+
1216
+ def omit_pre_build_from_requirement(path: str, requirements: str) -> tuple[str, str]:
1217
+ """Return the given requirements with pre-build instructions omitted."""
1218
+ lines = requirements.splitlines(keepends=True)
1219
+
1220
+ # CAUTION: This code must be kept in sync with the code which processes pre-build instructions in:
1221
+ # test/lib/ansible_test/_util/target/setup/requirements.py
1222
+ lines = [line for line in lines if not line.startswith('# pre-build ')]
1223
+
1224
+ return path, ''.join(lines)
1225
+
1226
+
1190
1227
  def check_sanity_virtualenv_yaml(python: VirtualPythonConfig) -> t.Optional[bool]:
1191
1228
  """Return True if PyYAML has libyaml support for the given sanity virtual environment, False if it does not and None if it was not found."""
1192
1229
  virtualenv_path = os.path.dirname(os.path.dirname(python.path))
@@ -113,6 +113,9 @@ class AnsibleDocTest(SanitySingleVersion):
113
113
  summary = 'Output on stderr from ansible-doc is considered an error.\n\n%s' % SubprocessError(cmd, stderr=stderr)
114
114
  return SanityFailure(self.name, summary=summary)
115
115
 
116
+ if args.explain:
117
+ continue
118
+
116
119
  plugin_list_json = json.loads(stdout)
117
120
  doc_targets[doc_type] = []
118
121
  for plugin_name, plugin_value in sorted(plugin_list_json.items()):