ansible-core 2.15.11__py3-none-any.whl → 2.15.12rc1__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/galaxy/role.py CHANGED
@@ -387,6 +387,8 @@ class GalaxyRole(object):
387
387
  else:
388
388
  os.makedirs(self.path)
389
389
 
390
+ resolved_archive = unfrackpath(archive_parent_dir, follow=False)
391
+
390
392
  # We strip off any higher-level directories for all of the files
391
393
  # contained within the tar file here. The default is 'github_repo-target'.
392
394
  # Gerrit instances, on the other hand, does not have a parent directory at all.
@@ -401,33 +403,29 @@ class GalaxyRole(object):
401
403
  if not (attr_value := getattr(member, attr, None)):
402
404
  continue
403
405
 
404
- if attr_value.startswith(os.sep) and not is_subpath(attr_value, archive_parent_dir):
405
- err = f"Invalid {attr} for tarfile member: path {attr_value} is not a subpath of the role {archive_parent_dir}"
406
- raise AnsibleError(err)
407
-
408
406
  if attr == 'linkname':
409
407
  # Symlinks are relative to the link
410
- relative_to_archive_dir = os.path.dirname(getattr(member, 'name', ''))
411
- archive_dir_path = os.path.join(archive_parent_dir, relative_to_archive_dir, attr_value)
408
+ relative_to = os.path.dirname(getattr(member, 'name', ''))
412
409
  else:
413
410
  # Normalize paths that start with the archive dir
414
411
  attr_value = attr_value.replace(archive_parent_dir, "", 1)
415
412
  attr_value = os.path.join(*attr_value.split(os.sep)) # remove leading os.sep
416
- archive_dir_path = os.path.join(archive_parent_dir, attr_value)
413
+ relative_to = ''
417
414
 
418
- resolved_archive = unfrackpath(archive_parent_dir)
419
- resolved_path = unfrackpath(archive_dir_path)
420
- if not is_subpath(resolved_path, resolved_archive):
421
- err = f"Invalid {attr} for tarfile member: path {resolved_path} is not a subpath of the role {resolved_archive}"
415
+ full_path = os.path.join(resolved_archive, relative_to, attr_value)
416
+ if not is_subpath(full_path, resolved_archive, real=True):
417
+ err = f"Invalid {attr} for tarfile member: path {full_path} is not a subpath of the role {resolved_archive}"
422
418
  raise AnsibleError(err)
423
419
 
424
- relative_path = os.path.join(*resolved_path.replace(resolved_archive, "", 1).split(os.sep)) or '.'
420
+ relative_path_dir = os.path.join(resolved_archive, relative_to)
421
+ relative_path = os.path.join(*full_path.replace(relative_path_dir, "", 1).split(os.sep))
425
422
  setattr(member, attr, relative_path)
426
423
 
427
424
  if _check_working_data_filter():
428
425
  # deprecated: description='extract fallback without filter' python_version='3.11'
429
426
  role_tar_file.extract(member, to_native(self.path), filter='data') # type: ignore[call-arg]
430
427
  else:
428
+ # Remove along with manual path filter once Python 3.12 is minimum supported version
431
429
  role_tar_file.extract(member, to_native(self.path))
432
430
 
433
431
  # write out the install info file for later use
@@ -19,6 +19,6 @@
19
19
  from __future__ import (absolute_import, division, print_function)
20
20
  __metaclass__ = type
21
21
 
22
- __version__ = '2.15.11'
22
+ __version__ = '2.15.12rc1'
23
23
  __author__ = 'Ansible, Inc.'
24
24
  __codename__ = "Ten Years Gone"
@@ -176,7 +176,7 @@ class LinuxVirtual(Virtual):
176
176
  virtual_facts['virtualization_type'] = 'RHEV'
177
177
  found_virt = True
178
178
 
179
- if product_name in ('VMware Virtual Platform', 'VMware7,1'):
179
+ if product_name and product_name.startswith(("VMware",)):
180
180
  guest_tech.add('VMware')
181
181
  if not found_virt:
182
182
  virtual_facts['virtualization_type'] = 'VMware'
ansible/modules/uri.py CHANGED
@@ -108,14 +108,15 @@ options:
108
108
  default: no
109
109
  follow_redirects:
110
110
  description:
111
- - Whether or not the URI module should follow redirects. C(all) will follow all redirects.
112
- C(safe) will follow only "safe" redirects, where "safe" means that the client is only
113
- doing a GET or HEAD on the URI to which it is being redirected. C(none) will not follow
114
- any redirects. Note that C(true) and C(false) choices are accepted for backwards compatibility,
115
- where C(true) is the equivalent of C(all) and C(false) is the equivalent of C(safe). C(true) and C(false)
116
- are deprecated and will be removed in some future version of Ansible.
111
+ - Whether or not the URI module should follow redirects.
112
+ - V(all) Will follow all redirects.
113
+ - V(none) Will not follow any redirects.
114
+ - V(safe) Only redirects doing GET or HEAD requests will be followed.
115
+ - V(urllib2) Defer to urllib2 behavior (As of writing this follows HTTP redirects).
116
+ - V('no') (DEPRECATED, will be removed in the future version) alias of V(none).
117
+ - V('yes') (DEPRECATED, will be removed in the future version) alias of V(all).
118
+ choices: ['all', 'none', 'safe', 'urllib2', 'yes', 'no']
117
119
  type: str
118
- choices: ['all', 'no', 'none', 'safe', 'urllib2', 'yes']
119
120
  default: safe
120
121
  creates:
121
122
  description:
@@ -14,7 +14,7 @@ description:
14
14
  underlying transport but instead runs in a PowerShell interpreter.
15
15
  version_added: "2.7"
16
16
  requirements:
17
- - pypsrp>=0.4.0 (Python library)
17
+ - pypsrp>=0.4.0, <1.0.0 (Python library)
18
18
  extends_documentation_fragment:
19
19
  - connection_pipelining
20
20
  options:
@@ -88,7 +88,14 @@ options:
88
88
  - section: url_lookup
89
89
  key: agent
90
90
  follow_redirects:
91
- description: String of urllib2, all/yes, safe, none to determine how redirects are followed, see RedirectHandlerFactory for more information
91
+ description:
92
+ - String of urllib2, all/yes, safe, none to determine how redirects are followed, see RedirectHandlerFactory for more information.
93
+ - V(all) Will follow all redirects.
94
+ - V(none) Will not follow any redirects.
95
+ - V(safe) Only redirects doing GET or HEAD requests will be followed.
96
+ - V(urllib2) Defer to urllib2 behavior (As of writing this follows HTTP redirects).
97
+ - V('no') (DEPRECATED, will be removed in the future version) alias of V(none).
98
+ - V('yes') (DEPRECATED, will be removed in the future version) alias of V(all).
92
99
  type: string
93
100
  version_added: "2.10"
94
101
  default: 'urllib2'
@@ -99,6 +106,7 @@ options:
99
106
  ini:
100
107
  - section: url_lookup
101
108
  key: follow_redirects
109
+ choices: ['all', 'none', 'safe', 'urllib2', 'yes', 'no']
102
110
  use_gssapi:
103
111
  description:
104
112
  - Use GSSAPI handler of requests
ansible/release.py CHANGED
@@ -19,6 +19,6 @@
19
19
  from __future__ import (absolute_import, division, print_function)
20
20
  __metaclass__ = type
21
21
 
22
- __version__ = '2.15.11'
22
+ __version__ = '2.15.12rc1'
23
23
  __author__ = 'Ansible, Inc.'
24
24
  __codename__ = "Ten Years Gone"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ansible-core
3
- Version: 2.15.11
3
+ Version: 2.15.12rc1
4
4
  Summary: Radically simple IT automation
5
5
  Home-page: https://ansible.com/
6
6
  Author: Ansible, Inc.
@@ -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=vE9joFgSeHR4Djl7Bd-HHVCrGByRCrTUmWYZ8LKPZKk,7412
6
- ansible/release.py,sha256=5fpB_dJ7zIOHieL9YPKdPJawaQAIfYKZezgRiJwonqs,919
6
+ ansible/release.py,sha256=OQwvKD28MUT18yleHrvggCxrxu8T5lpOVfix-JTng7Q,922
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
@@ -57,7 +57,7 @@ ansible/executor/process/__init__.py,sha256=1lMXN1i2fFqslda4BmeI5tpYMFP95D5Wpr1A
57
57
  ansible/executor/process/worker.py,sha256=k5aTaoCUu_ZUmdnPgIGqGsD7013_o3srzwxNpAjD1SY,9415
58
58
  ansible/galaxy/__init__.py,sha256=_ccTedn8dUGGtkmHcQLIkeje_YD0TYSXlvCl1AOY5fE,2533
59
59
  ansible/galaxy/api.py,sha256=E_c-WBgCj5QZSmOqLCGpiVbx5lQue1mHVwABFcVhmq0,39739
60
- ansible/galaxy/role.py,sha256=g7vPiT4IWpsXHP3Z5g9L4Y0lxfRbrRXixewAIN-XgRk,21379
60
+ ansible/galaxy/role.py,sha256=uc0PCEZD0Nm7-SCiMgKI7wfrmLwD25R8T3s0tBAnua4,21104
61
61
  ansible/galaxy/token.py,sha256=K0dAwD3Fjkn3Zs2N9sG98UesSWfAukie47QGyYpIf0M,6167
62
62
  ansible/galaxy/user_agent.py,sha256=x7cJzzpnTngHcwqSUd2hg0i28Dv0tbAyBdke5CSiNhM,813
63
63
  ansible/galaxy/collection/__init__.py,sha256=uD_Z41jelLRR9TkOfeydM2CYcWvFSXaU31e3l1ielNQ,77312
@@ -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=5fpB_dJ7zIOHieL9YPKdPJawaQAIfYKZezgRiJwonqs,919
143
+ ansible/module_utils/ansible_release.py,sha256=OQwvKD28MUT18yleHrvggCxrxu8T5lpOVfix-JTng7Q,922
144
144
  ansible/module_utils/api.py,sha256=BTo7stVOANbtd-ngZslaqx70r9t5gfvo44cKyu5SFjU,5837
145
145
  ansible/module_utils/basic.py,sha256=wzb7sayWWJC6BzzUUI3-GJQppKrVWiuiUcv0pIDHsJA,88437
146
146
  ansible/module_utils/connection.py,sha256=XHxMlyAdwLiXDSo8jBMkV61-lz_0FDJUYH1B152UGJU,8430
@@ -254,7 +254,7 @@ ansible/module_utils/facts/virtual/base.py,sha256=-E9fRYdyCOzq9VIryQSdpTNBUVCHay
254
254
  ansible/module_utils/facts/virtual/dragonfly.py,sha256=h8Xap4VGXOO3j8-fLUtVVe9-OwoqqLkaAV8VRHk-gL0,1012
255
255
  ansible/module_utils/facts/virtual/freebsd.py,sha256=TCe2GkBaybTG76rRucSUXv1FCGZp9MN-qCdHlEgw5pE,3071
256
256
  ansible/module_utils/facts/virtual/hpux.py,sha256=NbwiW87bzdTiPnWpFikokJlfZJKvoPmcMHyeEACDEaY,2876
257
- ansible/module_utils/facts/virtual/linux.py,sha256=KN59Dx3RPkXGLY9_-2--EQlwFTh1OiuC4341_ZBJ_lU,17878
257
+ ansible/module_utils/facts/virtual/linux.py,sha256=E9ikOXcFDxQDmXFI75waRt0lCumccP-oQXZNdSN8qLI,17875
258
258
  ansible/module_utils/facts/virtual/netbsd.py,sha256=FAOMM2tVHAehUpc1HxyxaxqeUpmo_wu87q7sr87y1fo,2949
259
259
  ansible/module_utils/facts/virtual/openbsd.py,sha256=JcEQZV1qpCRjeZ3NcZaHNWudsrPgUUONXcULWlaUF58,2838
260
260
  ansible/module_utils/facts/virtual/sunos.py,sha256=_m7Ob1v-9T3nEAs5JJleTuGXHKNWznQR6cNMY2huMk0,6270
@@ -341,7 +341,7 @@ ansible/modules/sysvinit.py,sha256=xFhfQLwTdcbV7xVdlItHeLFDdU0t3rjiWoY1qocCIs0,1
341
341
  ansible/modules/tempfile.py,sha256=D4l0CHjp9AIC0o1BBDvw8UWQkWpilnc9VdmxNChxq6E,3502
342
342
  ansible/modules/template.py,sha256=k0h7j9n9v2efC0f1boCsTq2NwgTLkFuQxgxmUgq4nZE,3171
343
343
  ansible/modules/unarchive.py,sha256=mWo9EeZ0K2IALAzMcvKg7MmpTVr-bLmSJsffgD4E4GA,44323
344
- ansible/modules/uri.py,sha256=WxTR6SU12aYFQRmoK94-C6t5sOFh_iSFXi3CQVQAXCk,28484
344
+ ansible/modules/uri.py,sha256=u1fL4uhNXim-wsZsmGbDpITshHTGyyd43i0lek3zsKc,28391
345
345
  ansible/modules/user.py,sha256=Tor9kvzd9cr34hqItK8pxztTp1qlZ7-SfqbRU1Ynq5o,116574
346
346
  ansible/modules/validate_argument_spec.py,sha256=wbFJ6zNUOcRBtmES7rYBqt_Cqior9CKVBNem5k6jvsk,3128
347
347
  ansible/modules/wait_for.py,sha256=Gu0n6I4U5ipvs6ArqrDkAOjiY4Qkdu1n-D5iJT3suDg,27533
@@ -441,7 +441,7 @@ ansible/plugins/cliconf/__init__.py,sha256=a_Am6c0D8jbeZlc9Q1KYXemoiBf8CNbxF-Ers
441
441
  ansible/plugins/connection/__init__.py,sha256=wuMOmg7G5tbluCy4uecRXG_pc0v3-NdUt7PX9RAzgho,16712
442
442
  ansible/plugins/connection/local.py,sha256=W2HFk14nKVaMZUE7YeX2bJLL0dvsVqYRf3qtCDdA2x4,8251
443
443
  ansible/plugins/connection/paramiko_ssh.py,sha256=YAxz8xFBMWTZzvoqmiuwlyp7a4MHvoBmVgjizvIkmtI,29594
444
- ansible/plugins/connection/psrp.py,sha256=DXeW4gUTfcbR4X-p-4KKZ8_-MU7dsHHH1C0_MjBtxJY,36046
444
+ ansible/plugins/connection/psrp.py,sha256=91ruWegzBBKUDeywg0FKzTnELw9tNdLUYR3ZqOAAHvI,36054
445
445
  ansible/plugins/connection/ssh.py,sha256=fORZ8o8tLWkQxUuc5Vqi8hQsJgZH57VaGIesuyS4dvw,62678
446
446
  ansible/plugins/connection/winrm.py,sha256=YS6qbhP8-2jqWa7pdKrAXJctdLTHPVqGFu_Nl_kUYGw,39730
447
447
  ansible/plugins/doc_fragments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -572,7 +572,7 @@ ansible/plugins/lookup/subelements.py,sha256=VzmsVgB6VQFBx0zduPmnxpz0sB8MteIaZkR
572
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
- ansible/plugins/lookup/url.py,sha256=O6hCWoLtN5_YzNhZak8gyy2jaqO9kQjBsc1hzClx6YQ,9014
575
+ ansible/plugins/lookup/url.py,sha256=bjVKpyIDPMXtroixPlE8zSalNM3EEFgTYjwZ7cPNTig,9511
576
576
  ansible/plugins/lookup/varnames.py,sha256=LE40sM6cgtUvZ2jfcvzTMUW-a4tKsNpw_0AfZWL-GQI,2366
577
577
  ansible/plugins/lookup/vars.py,sha256=3YJ6wGXkOa4Of_0ngL-2_ZMOG7lG_f0ozpkgFs57WIs,3477
578
578
  ansible/plugins/netconf/__init__.py,sha256=qRvdAYU-A3s4hLKH_gxKwcu6otMCZLi_H9r4N0IRZbc,17096
@@ -682,7 +682,7 @@ ansible/vars/hostvars.py,sha256=dg3jpVmNwSg8EJ4SIvYGT80uxMgRtrOW6vvtDfrQzDU,5152
682
682
  ansible/vars/manager.py,sha256=7krY5GH2T06FYCoCIigzo85kY7gIAm1aha-6fSPYXYA,38813
683
683
  ansible/vars/plugins.py,sha256=B7L3fXoSOoBZSXqJ2ulk0adx1g5SpAb8BxyLGPNA7d4,4695
684
684
  ansible/vars/reserved.py,sha256=FBD7n2dnA0CW4I0J1LtWwk2hQqvGW0KTRPcxaRtMKWo,2615
685
- ansible_core-2.15.11.data/scripts/ansible-test,sha256=CYIYL99IxWdVTtDIj3avilIJXhGAmtjuKPPWNuLWuc8,1690
685
+ ansible_core-2.15.12rc1.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
@@ -706,7 +706,7 @@ ansible_test/_data/pytest/config/default.ini,sha256=3f5D0MA9l2RafBBriLaG2eH3ePHP
706
706
  ansible_test/_data/pytest/config/legacy.ini,sha256=WBpVsIeHL2szv5oFznM2WXYizBgYhBrivpvQliYUKTw,85
707
707
  ansible_test/_data/requirements/ansible-test.txt,sha256=Kq-3pmddlqE9-gxK-N1Syatnm_owQwamEyJ0W1Ot6Eg,305
708
708
  ansible_test/_data/requirements/ansible.txt,sha256=9d8Y6zrArVx1DKYtq3CxLxx5HREtp1qhd14Z0P0TKsY,995
709
- ansible_test/_data/requirements/constraints.txt,sha256=WQLt0xOabeYk3f-l37XWfmcims_tG2Jkzy9YKrjb_G0,1503
709
+ ansible_test/_data/requirements/constraints.txt,sha256=fyHhr4LUMLrH2isO0A3NlZZzcRoodCDC0z6YOe7b9KU,1575
710
710
  ansible_test/_data/requirements/sanity.ansible-doc.in,sha256=9KRJJ-n37IMHpLJLv_VmFOhYF8Y3Vnk6eRyhwVKzC8A,108
711
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
@@ -764,7 +764,7 @@ ansible_test/_internal/locale_util.py,sha256=tjRbwKmgMQc1ysIhvP8yBhFcNA-2UCaWfQB
764
764
  ansible_test/_internal/metadata.py,sha256=c9ThXPUlgeKYhaTUmfCSS4INRNQ1JhN2KEOVaX3m1Gk,4791
765
765
  ansible_test/_internal/payload.py,sha256=1Pw05OEHvP3LMQnoLXch8631c94YMklWlpDn0CvQECw,8012
766
766
  ansible_test/_internal/provisioning.py,sha256=9Zl3xQqljx0MGDTp55Q4LZPWQ7Afj5K87cGsXzPGS5Y,7320
767
- ansible_test/_internal/pypi_proxy.py,sha256=kVvqvLIxN-VolD1jG_EILwYy1bWoy766ZKVKEFlQgmA,6040
767
+ ansible_test/_internal/pypi_proxy.py,sha256=b0UQjxOkI7pZUBrrR6tfhGWta9NvI4qlF7UUADoq7us,6224
768
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
@@ -1001,9 +1001,9 @@ ansible_test/config/cloud-config-vultr.ini.template,sha256=XLKHk3lg_8ReQMdWfZzhh
1001
1001
  ansible_test/config/config.yml,sha256=wb3knoBmZewG3GWOMnRHoVPQWW4vPixKLPMNS6vJmTc,2620
1002
1002
  ansible_test/config/inventory.networking.template,sha256=bFNSk8zNQOaZ_twaflrY0XZ9mLwUbRLuNT0BdIFwvn4,1335
1003
1003
  ansible_test/config/inventory.winrm.template,sha256=1QU8W-GFLnYEw8yY9bVIvUAVvJYPM3hyoijf6-M7T00,1098
1004
- ansible_core-2.15.11.dist-info/COPYING,sha256=CuBIWlvTemPmNgNZZBfk6w5lMzT6bH-TLKOg6F1K8ic,35148
1005
- ansible_core-2.15.11.dist-info/METADATA,sha256=x-_BGNMmSBRkRiCq1JJzDCjkEmfFt9QWf_5SHUXgHxU,6976
1006
- ansible_core-2.15.11.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
1007
- ansible_core-2.15.11.dist-info/entry_points.txt,sha256=0mpmsrIhODChxKl3eS-NcVQCaMetBn8KdPLtVxQgR64,453
1008
- ansible_core-2.15.11.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
1009
- ansible_core-2.15.11.dist-info/RECORD,,
1004
+ ansible_core-2.15.12rc1.dist-info/COPYING,sha256=CuBIWlvTemPmNgNZZBfk6w5lMzT6bH-TLKOg6F1K8ic,35148
1005
+ ansible_core-2.15.12rc1.dist-info/METADATA,sha256=kqP5oHkinB9iDD2USiM6_CB2jeWPVG0z6hbJ_vd_vto,6979
1006
+ ansible_core-2.15.12rc1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
1007
+ ansible_core-2.15.12rc1.dist-info/entry_points.txt,sha256=0mpmsrIhODChxKl3eS-NcVQCaMetBn8KdPLtVxQgR64,453
1008
+ ansible_core-2.15.12rc1.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
1009
+ ansible_core-2.15.12rc1.dist-info/RECORD,,
@@ -1,6 +1,7 @@
1
1
  # do not add a cryptography or pyopenssl constraint to this file, they require special handling, see get_cryptography_requirements in python_requirements.py
2
2
  # do not add a coverage constraint to this file, it is handled internally by ansible-test
3
3
  packaging < 21.0 ; python_version < '3.6' # packaging 21.0 requires Python 3.6 or newer
4
+ pypsrp < 1.0.0 # in case the next major version is too big of a change
4
5
  pywinrm >= 0.3.0 ; python_version < '3.11' # message encryption support
5
6
  pywinrm >= 0.4.3 ; python_version >= '3.11' # support for Python 3.11
6
7
  pytest < 5.0.0, >= 4.5.0 ; python_version == '2.7' # pytest 5.0.0 and later will no longer support python 2.7
@@ -14,6 +14,7 @@ from .config import (
14
14
 
15
15
  from .host_configs import (
16
16
  PosixConfig,
17
+ DockerConfig,
17
18
  )
18
19
 
19
20
  from .util import (
@@ -55,8 +56,14 @@ def run_pypi_proxy(args: EnvironmentConfig, targets_use_pypi: bool) -> None:
55
56
  return # user has overridden the proxy endpoint, there is nothing to provision
56
57
 
57
58
  versions_needing_proxy: tuple[str, ...] = tuple() # preserved for future use, no versions currently require this
59
+ containers_needing_proxy: set[str] = {'centos7'}
58
60
  posix_targets = [target for target in args.targets if isinstance(target, PosixConfig)]
59
- need_proxy = targets_use_pypi and any(target.python.version in versions_needing_proxy for target in posix_targets)
61
+ need_proxy = targets_use_pypi and any(
62
+ target.python.version in versions_needing_proxy or
63
+ (isinstance(target, DockerConfig) and target.name in containers_needing_proxy)
64
+ for target in posix_targets
65
+ )
66
+
60
67
  use_proxy = args.pypi_proxy or need_proxy
61
68
 
62
69
  if not use_proxy: