ansible-core 2.15.12__py3-none-any.whl → 2.15.13rc1__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.

@@ -668,8 +668,8 @@ class TaskExecutor:
668
668
  self._handler.cleanup()
669
669
  display.debug("handler run complete")
670
670
 
671
- # preserve no log
672
- result["_ansible_no_log"] = no_log
671
+ # propagate no log to result- the action can set this, so only overwrite it with the task's value if missing or falsey
672
+ result["_ansible_no_log"] = bool(no_log or result.get('_ansible_no_log', False))
673
673
 
674
674
  if self._task.action not in C._ACTION_WITH_CLEAN_FACTS:
675
675
  result = wrap_var(result)
@@ -19,6 +19,6 @@
19
19
  from __future__ import (absolute_import, division, print_function)
20
20
  __metaclass__ = type
21
21
 
22
- __version__ = '2.15.12'
22
+ __version__ = '2.15.13rc1'
23
23
  __author__ = 'Ansible, Inc.'
24
24
  __codename__ = "Ten Years Gone"
ansible/modules/user.py CHANGED
@@ -1148,9 +1148,11 @@ class User(object):
1148
1148
  overwrite = None
1149
1149
  try:
1150
1150
  ssh_key_file = self.get_ssh_key_path()
1151
+ pub_file = '%s.pub' % ssh_key_file
1151
1152
  except Exception as e:
1152
1153
  return (1, '', to_native(e))
1153
1154
  ssh_dir = os.path.dirname(ssh_key_file)
1155
+
1154
1156
  if not os.path.exists(ssh_dir):
1155
1157
  if self.module.check_mode:
1156
1158
  return (0, '', '')
@@ -1159,12 +1161,23 @@ class User(object):
1159
1161
  os.chown(ssh_dir, info[2], info[3])
1160
1162
  except OSError as e:
1161
1163
  return (1, '', 'Failed to create %s: %s' % (ssh_dir, to_native(e)))
1164
+
1162
1165
  if os.path.exists(ssh_key_file):
1163
1166
  if self.force:
1164
- # ssh-keygen doesn't support overwriting the key interactively, so send 'y' to confirm
1167
+ self.module.warn('Overwriting existing ssh key private file "%s"' % ssh_key_file)
1165
1168
  overwrite = 'y'
1166
1169
  else:
1170
+ self.module.warn('Found existing ssh key private file "%s", no force, so skipping ssh-keygen generation' % ssh_key_file)
1167
1171
  return (None, 'Key already exists, use "force: yes" to overwrite', '')
1172
+
1173
+ if os.path.exists(pub_file):
1174
+ if self.force:
1175
+ self.module.warn('Overwriting existing ssh key public file "%s"' % pub_file)
1176
+ os.unlink(pub_file)
1177
+ else:
1178
+ self.module.warn('Found existing ssh key public file "%s", no force, so skipping ssh-keygen generation' % pub_file)
1179
+ return (None, 'Public key already exists, use "force: yes" to overwrite', '')
1180
+
1168
1181
  cmd = [self.module.get_bin_path('ssh-keygen', True)]
1169
1182
  cmd.append('-t')
1170
1183
  cmd.append(self.ssh_type)
@@ -1231,7 +1244,7 @@ class User(object):
1231
1244
  # If the keys were successfully created, we should be able
1232
1245
  # to tweak ownership.
1233
1246
  os.chown(ssh_key_file, info[2], info[3])
1234
- os.chown('%s.pub' % ssh_key_file, info[2], info[3])
1247
+ os.chown(pub_file, info[2], info[3])
1235
1248
  return (rc, out, err)
1236
1249
 
1237
1250
  def ssh_key_fingerprint(self):
@@ -237,7 +237,8 @@ class ActionModule(ActionBase):
237
237
  b_data, show_content = self._loader._get_file_contents(filename)
238
238
  data = to_text(b_data, errors='surrogate_or_strict')
239
239
 
240
- self.show_content = show_content
240
+ self.show_content &= show_content # mask all results if any file was encrypted
241
+
241
242
  data = self._loader.load(data, file_name=filename, show_content=show_content)
242
243
  if not data:
243
244
  data = dict()
@@ -2,7 +2,7 @@ DOCUMENTATION:
2
2
  name: any
3
3
  author: Ansible Core
4
4
  version_added: "2.4"
5
- short_description: is any conditions in a list true
5
+ short_description: is any condition in a list true
6
6
  description:
7
7
  - This test checks each condition in a list for truthiness.
8
8
  - Same as the C(any) Python function.
@@ -14,7 +14,7 @@ DOCUMENTATION:
14
14
  required: True
15
15
  EXAMPLES: |
16
16
  varexpression: "{{ 3 == 3 }}"
17
- # are all statements true?
17
+ # is any statement true?
18
18
  {{ [false, booleanvar, varexpression] is any}}
19
19
 
20
20
  RETURN:
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.12'
22
+ __version__ = '2.15.13rc1'
23
23
  __author__ = 'Ansible, Inc.'
24
24
  __codename__ = "Ten Years Gone"
ansible/utils/version.py CHANGED
@@ -192,6 +192,7 @@ class SemanticVersion(Version):
192
192
  raise ValueError("invalid semantic version '%s'" % vstring)
193
193
 
194
194
  (major, minor, patch, prerelease, buildmetadata) = match.group(1, 2, 3, 4, 5)
195
+ self.vstring = vstring
195
196
  self.major = int(major)
196
197
  self.minor = int(minor)
197
198
  self.patch = int(patch)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ansible-core
3
- Version: 2.15.12
3
+ Version: 2.15.13rc1
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=fwRCF-oOGOCoVOZVn_C-REckosrxSuzZKqOLe7twe9E,919
6
+ ansible/release.py,sha256=mVgq3s5ebRGXBRDSgjHiUMQj5uKMPCYGY08G4TQu31k,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
@@ -37,7 +37,7 @@ ansible/executor/module_common.py,sha256=6R58IqfOLzg0aDQWRWsi0cbohWMSf_Lvdhf_5hT
37
37
  ansible/executor/play_iterator.py,sha256=-ptFAZ7MBuV-aNRqPkpAPIpotPm4xag3yD3fUQqde_U,31026
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=h-bc0HS3y8b_8GncrUkV9tsEc5a-g4FX12boQPrXx50,59909
40
+ ansible/executor/task_executor.py,sha256=-GW6BMvKfr1oPMTMLijDzOQ4gWp8k_FHShF5uFTj0_8,60056
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
@@ -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=fwRCF-oOGOCoVOZVn_C-REckosrxSuzZKqOLe7twe9E,919
143
+ ansible/module_utils/ansible_release.py,sha256=mVgq3s5ebRGXBRDSgjHiUMQj5uKMPCYGY08G4TQu31k,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
@@ -342,7 +342,7 @@ ansible/modules/tempfile.py,sha256=D4l0CHjp9AIC0o1BBDvw8UWQkWpilnc9VdmxNChxq6E,3
342
342
  ansible/modules/template.py,sha256=k0h7j9n9v2efC0f1boCsTq2NwgTLkFuQxgxmUgq4nZE,3171
343
343
  ansible/modules/unarchive.py,sha256=mWo9EeZ0K2IALAzMcvKg7MmpTVr-bLmSJsffgD4E4GA,44323
344
344
  ansible/modules/uri.py,sha256=u1fL4uhNXim-wsZsmGbDpITshHTGyyd43i0lek3zsKc,28391
345
- ansible/modules/user.py,sha256=Tor9kvzd9cr34hqItK8pxztTp1qlZ7-SfqbRU1Ynq5o,116574
345
+ ansible/modules/user.py,sha256=eh0P5DBCIZseeEz1vIRK4o50VM98DWMFVTvg1ulhwpc,117179
346
346
  ansible/modules/validate_argument_spec.py,sha256=wbFJ6zNUOcRBtmES7rYBqt_Cqior9CKVBNem5k6jvsk,3128
347
347
  ansible/modules/wait_for.py,sha256=Gu0n6I4U5ipvs6ArqrDkAOjiY4Qkdu1n-D5iJT3suDg,27533
348
348
  ansible/modules/wait_for_connection.py,sha256=YKLM15BMeJxi7ev0h5bRxo5DVWK9yKV_6xaP2LyUfvY,3461
@@ -406,7 +406,7 @@ ansible/plugins/action/fail.py,sha256=tzfT2C4Qn0ifPyl8X3HfPXImTmSsp1DtpvHbojjwdO
406
406
  ansible/plugins/action/fetch.py,sha256=17H2Nlqf4DRDTAVE1jbhc0oLSzFK_oy06L9pN0k_oKU,9869
407
407
  ansible/plugins/action/gather_facts.py,sha256=UaHiZx4WMNJJ_gvs81r72mccFXFSeXL9O7DBoUdEFz8,6709
408
408
  ansible/plugins/action/group_by.py,sha256=bjgpc3YhM3B8BXPxzABHZU_qeb5vEVptFicuzJJnDxI,1914
409
- ansible/plugins/action/include_vars.py,sha256=cOzuJmQF_LvSuKXeZM4faflcO-twk2GwdZurx196McE,11414
409
+ ansible/plugins/action/include_vars.py,sha256=qveEz2kxA46-keefomYVVxlIWhjBoHcw9Zy47Pb1H5Q,11462
410
410
  ansible/plugins/action/normal.py,sha256=F92DJ_xOJMDB9kZWDGCzdjlJle8yBjgntLzbu83zQBk,1925
411
411
  ansible/plugins/action/package.py,sha256=iam5kUcjiiB2YSFaFjCXOj9VAw6Dj9yIdb_MlEOGojk,4224
412
412
  ansible/plugins/action/pause.py,sha256=rYZHy6QIRqaV_PjIttFHpXR-82gKvaXUP5UcFBhDIO8,5710
@@ -589,7 +589,7 @@ ansible/plugins/terminal/__init__.py,sha256=zGIuxlntye0FHk6Zbl57snHB5d3-w_pr0osR
589
589
  ansible/plugins/test/__init__.py,sha256=6DY18LxzSdtO7-fDS6957bo61fg-xG3TDWvtFkhGYOQ,471
590
590
  ansible/plugins/test/abs.yml,sha256=-caY4vAMXbhukUTdMQvBa2WYvg6w1AWr8raEfAv0qa8,764
591
591
  ansible/plugins/test/all.yml,sha256=I6SNRRTszIMFEjZQ1cRe122QnmH3MvUX4VUpIQ5Sdoc,701
592
- ansible/plugins/test/any.yml,sha256=mLP-q-0d6kOv8c1kvXD1N_BwFbbY8vo0srU90WzdyOY,698
592
+ ansible/plugins/test/any.yml,sha256=2PfZXMSxiuriOlD4pl5WWCdY5KZAlKZ0ezKLOozMYis,695
593
593
  ansible/plugins/test/change.yml,sha256=GKCtXvZHYs-axh78bMBz6uIMahu0NOotW2gUm2OyXAY,663
594
594
  ansible/plugins/test/changed.yml,sha256=GKCtXvZHYs-axh78bMBz6uIMahu0NOotW2gUm2OyXAY,663
595
595
  ansible/plugins/test/contains.yml,sha256=nhDISkTAXWlraEy_Fb9GaPDzXh2qLx4U0QU4ESERVgU,1287
@@ -670,7 +670,7 @@ ansible/utils/ssh_functions.py,sha256=GpLSJC-vDj5YyTHN48QaSUpuwAsaDb1oS4tbyVTRKg
670
670
  ansible/utils/unicode.py,sha256=aJoGG4GCriSxk6mD8pHLgHrnmbU9C5aIyAVyucwWaFk,1167
671
671
  ansible/utils/unsafe_proxy.py,sha256=-3GKHvmPvW-EHF1Df212rHnp4HUD7rb4D_ysJhbuo30,12733
672
672
  ansible/utils/vars.py,sha256=r6EGRbxRR_6M6iSeSdXPSJq8i_IjowI9qbXBbOcwNyg,10563
673
- ansible/utils/version.py,sha256=LHBI8I_ifkG2Pp4Y_NALEOlumNpp1ruG3LPS9h8Ny5k,7789
673
+ ansible/utils/version.py,sha256=w-HTErqE6TnGPnnrif-G2KNSlvsLWEN8bQfrDK148Kg,7820
674
674
  ansible/utils/collection_loader/__init__.py,sha256=l6gUbk5MzfUXlySWrj4xi4IF9UBIrOrEpRQ52-xfGsA,1118
675
675
  ansible/utils/collection_loader/_collection_config.py,sha256=aQRueIQj0XzpFuooDjYNvUaxGDtoN0Kf3u26pu636bg,3147
676
676
  ansible/utils/collection_loader/_collection_finder.py,sha256=Aibq92_ymyJr7M0IHsyCPU7u0iFUu6XPGx4UYdlH4Hk,56017
@@ -682,14 +682,14 @@ 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.12.data/scripts/ansible-test,sha256=CYIYL99IxWdVTtDIj3avilIJXhGAmtjuKPPWNuLWuc8,1690
685
+ ansible_core-2.15.13rc1.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
- ansible_test/_data/completion/network.txt,sha256=_-mi013-JeufshKMUmykkOmZPw1cVbakIMaAuweHet8,198
690
+ ansible_test/_data/completion/network.txt,sha256=BxVN0UxlVkRUrPi9MBArQOe6nR8exaow0oCAznUdfKQ,100
691
691
  ansible_test/_data/completion/remote.txt,sha256=3x7DUcbePaWuKPYBxD82rwvLd1D88AFOEPfswiLS41s,1071
692
- ansible_test/_data/completion/windows.txt,sha256=7xcstRugKOY6lnvJd1nzLE7I5awR-uQfmPtRoyPAg7g,230
692
+ ansible_test/_data/completion/windows.txt,sha256=LunFLE7xMeoS9TVDuE58nUBVzsz-Wh-9wfL80mGiUmo,147
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
695
695
  ansible_test/_data/playbooks/posix_hosts_prepare.yml,sha256=B_nfyUJMB3BkanlltW4oXCVna7IeEw86FZ1q28kRmhM,245
@@ -749,7 +749,7 @@ ansible_test/_internal/coverage_util.py,sha256=iw45rwz8Q5u37S4_dABNR0-Ybc5F8YRiE
749
749
  ansible_test/_internal/data.py,sha256=OFDpRa47yqBqQO1aSvTZVQQpScHvBHsr861586MQEUI,11184
750
750
  ansible_test/_internal/delegation.py,sha256=xw9pjUmdGLT-xz5LdcH4s4EMDFHrMrZeMv60Rkj7iDc,13458
751
751
  ansible_test/_internal/diff.py,sha256=COo6OgC3zxwymhOTlMifLZsGc1RGL0iM_zFVyqFNK48,7300
752
- ansible_test/_internal/docker_util.py,sha256=LF4RrClcsDhg3UqrqgOztbeB_oWcsf1nc3W4DFacans,37675
752
+ ansible_test/_internal/docker_util.py,sha256=tlHeB7-fCYYdFpkJJVdi4DON8SSc2Ezt9TfD163Ljls,37994
753
753
  ansible_test/_internal/encoding.py,sha256=E61EfXbQw0uQoFhbN3SYx3Oy_1tAMCPAAvY9hkEcSSo,1367
754
754
  ansible_test/_internal/executor.py,sha256=KW5yI-f-giErQ077MTj707fTtFkf_Kr8IV_Nr36NNmc,2959
755
755
  ansible_test/_internal/git.py,sha256=njtciWq2DlzZ1DAkQi08HRRP-TgH0mgeGZsWcsJGctI,4366
@@ -764,14 +764,14 @@ 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=b0UQjxOkI7pZUBrrR6tfhGWta9NvI4qlF7UUADoq7us,6224
767
+ ansible_test/_internal/pypi_proxy.py,sha256=nfqZJ7-SGBFrYV7WRrVsGIbe1fV8dSwTvZfY3x1L7Rk,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
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=lLlIM2pQZqKIstrH2O5DkkIZ2R2QVYI_lRNehMaur7k,37683
774
+ ansible_test/_internal/util.py,sha256=RNE8t6XMfpN1azln-4issThqQJolBoH95Q0iJL5i-3o,37908
775
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
@@ -927,7 +927,7 @@ ansible_test/_util/controller/sanity/code-smell/no-unicode-literals.py,sha256=-5
927
927
  ansible_test/_util/controller/sanity/code-smell/replace-urlopen.json,sha256=SsCZ1ULl6HPGBcMpXeCTH5-nNVU9jR-ZSeNy4fotpNY,111
928
928
  ansible_test/_util/controller/sanity/code-smell/replace-urlopen.py,sha256=PSLEuYW5SBrcC7YIt8jdvJ3arxLL7SK7Mxbsvz1UfXc,624
929
929
  ansible_test/_util/controller/sanity/code-smell/runtime-metadata.json,sha256=H2E2-01YXLlSWjvLJT5Vtj3Gn4zB6xhPXsDJh4a7EH0,225
930
- ansible_test/_util/controller/sanity/code-smell/runtime-metadata.py,sha256=Hjf8KqEgEa-K2pZ8E0hKQ80BMTX1slCz0Hp2P1CZWn8,12183
930
+ ansible_test/_util/controller/sanity/code-smell/runtime-metadata.py,sha256=ozoaAQCTZM-0Hnl--jSUwbZS0mBrs6FGWbP6_esODzk,12233
931
931
  ansible_test/_util/controller/sanity/code-smell/shebang.json,sha256=3vtNzoowM53gi2KZi9peIKVIU79ulQY3FE0jYcSP77M,63
932
932
  ansible_test/_util/controller/sanity/code-smell/shebang.py,sha256=AKCti3RCgZy0GWB3bXgimr_OhqfVPOp_I7345UN_DV8,4672
933
933
  ansible_test/_util/controller/sanity/code-smell/symlinks.json,sha256=JkalgX52aKGUKqjKG5P-68F0tXmUMgldPrNAknMN2Fk,96
@@ -980,7 +980,7 @@ ansible_test/_util/target/pytest/plugins/ansible_pytest_coverage.py,sha256=Nr52Y
980
980
  ansible_test/_util/target/sanity/compile/compile.py,sha256=X1WHH2iLT4K8kyYJKlr-6AL6EAzKisL_hYrjvGrHCZ8,1637
981
981
  ansible_test/_util/target/sanity/import/importer.py,sha256=Q2cmqi-dFOfXYFzPybbWKgqMYUnjmXz7WFiYb9ysEO4,26208
982
982
  ansible_test/_util/target/setup/ConfigureRemotingForAnsible.ps1,sha256=pW9YaaSNvhc_0ijjMfSMdoQkrmZNJ-Rb4xCL8m8t7yU,16693
983
- ansible_test/_util/target/setup/bootstrap.sh,sha256=zQSrUos2LPZXjRxglxLGIM__RYTYR4Gz1ZjTpGIjmQY,13304
983
+ ansible_test/_util/target/setup/bootstrap.sh,sha256=ftQFSP8QpcKRrkCq-9Ad-1pulL7swmADtfKt40spLD4,13666
984
984
  ansible_test/_util/target/setup/check_systemd_cgroup_v1.sh,sha256=Aq0T62x_KLtkGaWzYqWjvhchTqYFflrTbQET3h6xrT0,395
985
985
  ansible_test/_util/target/setup/probe_cgroups.py,sha256=ygqTkZc_YDH6EkZqp95rk_xkqsYcy_9IslPHKZO2A-8,712
986
986
  ansible_test/_util/target/setup/quiet_pip.py,sha256=k-EK8Ny7AcekGTejRFq0oV4YTVHaYUVpjfRLbKVApnc,3267
@@ -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.12.dist-info/COPYING,sha256=CuBIWlvTemPmNgNZZBfk6w5lMzT6bH-TLKOg6F1K8ic,35148
1005
- ansible_core-2.15.12.dist-info/METADATA,sha256=nm0KvRCuyOKp5baiCI9MvSiLR6IzlSNzjZ5gEDOKnkM,6976
1006
- ansible_core-2.15.12.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
1007
- ansible_core-2.15.12.dist-info/entry_points.txt,sha256=0mpmsrIhODChxKl3eS-NcVQCaMetBn8KdPLtVxQgR64,453
1008
- ansible_core-2.15.12.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
1009
- ansible_core-2.15.12.dist-info/RECORD,,
1004
+ ansible_core-2.15.13rc1.dist-info/COPYING,sha256=CuBIWlvTemPmNgNZZBfk6w5lMzT6bH-TLKOg6F1K8ic,35148
1005
+ ansible_core-2.15.13rc1.dist-info/METADATA,sha256=V8-UfCLvxu6MgWFv3phSKzb7UrrSeLGLB-DTT5JFMlE,6979
1006
+ ansible_core-2.15.13rc1.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
1007
+ ansible_core-2.15.13rc1.dist-info/entry_points.txt,sha256=0mpmsrIhODChxKl3eS-NcVQCaMetBn8KdPLtVxQgR64,453
1008
+ ansible_core-2.15.13rc1.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
1009
+ ansible_core-2.15.13rc1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (75.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,2 +1 @@
1
1
  ios/csr1000v collection=cisco.ios connection=ansible.netcommon.network_cli provider=aws arch=x86_64
2
- vyos/1.1.8 collection=vyos.vyos connection=ansible.netcommon.network_cli provider=aws arch=x86_64
@@ -1,5 +1,3 @@
1
- windows/2012 provider=azure arch=x86_64
2
- windows/2012-R2 provider=azure arch=x86_64
3
1
  windows/2016 provider=aws arch=x86_64
4
2
  windows/2019 provider=aws arch=x86_64
5
3
  windows/2022 provider=aws arch=x86_64
@@ -20,6 +20,8 @@ from .util import (
20
20
  SubprocessError,
21
21
  cache,
22
22
  OutputStream,
23
+ InternalError,
24
+ format_command_output,
23
25
  )
24
26
 
25
27
  from .util_common import (
@@ -300,7 +302,7 @@ def detect_host_properties(args: CommonConfig) -> ContainerHostProperties:
300
302
  options = ['--volume', '/sys/fs/cgroup:/probe:ro']
301
303
  cmd = ['sh', '-c', ' && echo "-" && '.join(multi_line_commands)]
302
304
 
303
- stdout = run_utility_container(args, f'ansible-test-probe-{args.session_name}', cmd, options)[0]
305
+ stdout, stderr = run_utility_container(args, f'ansible-test-probe-{args.session_name}', cmd, options)
304
306
 
305
307
  if args.explain:
306
308
  return ContainerHostProperties(
@@ -313,6 +315,12 @@ def detect_host_properties(args: CommonConfig) -> ContainerHostProperties:
313
315
 
314
316
  blocks = stdout.split('\n-\n')
315
317
 
318
+ if len(blocks) != len(multi_line_commands):
319
+ message = f'Unexpected probe output. Expected {len(multi_line_commands)} blocks but found {len(blocks)}.\n'
320
+ message += format_command_output(stdout, stderr)
321
+
322
+ raise InternalError(message.strip())
323
+
316
324
  values = blocks[0].split('\n')
317
325
 
318
326
  audit_parts = values[0].split(' ', 1)
@@ -76,7 +76,7 @@ def run_pypi_proxy(args: EnvironmentConfig, targets_use_pypi: bool) -> None:
76
76
  display.warning('Unable to use the PyPI proxy because Docker is not available. Installation of packages using `pip` may fail.')
77
77
  return
78
78
 
79
- image = 'quay.io/ansible/pypi-test-container:2.0.0'
79
+ image = 'quay.io/ansible/pypi-test-container:3.1.0'
80
80
  port = 3141
81
81
 
82
82
  run_support_container(
@@ -935,14 +935,7 @@ class SubprocessError(ApplicationError):
935
935
  error_callback: t.Optional[c.Callable[[SubprocessError], None]] = None,
936
936
  ) -> None:
937
937
  message = 'Command "%s" returned exit status %s.\n' % (shlex.join(cmd), status)
938
-
939
- if stderr:
940
- message += '>>> Standard Error\n'
941
- message += '%s%s\n' % (stderr.strip(), Display.clear)
942
-
943
- if stdout:
944
- message += '>>> Standard Output\n'
945
- message += '%s%s\n' % (stdout.strip(), Display.clear)
938
+ message += format_command_output(stdout, stderr)
946
939
 
947
940
  self.cmd = cmd
948
941
  self.message = message
@@ -986,6 +979,21 @@ class HostConnectionError(ApplicationError):
986
979
  self._callback()
987
980
 
988
981
 
982
+ def format_command_output(stdout: str, stderr: str) -> str:
983
+ """Return a formatted string containing the given stdout and stderr (if any)."""
984
+ message = ''
985
+
986
+ if stderr := stderr.strip():
987
+ message += '>>> Standard Error\n'
988
+ message += f'{stderr}{Display.clear}\n'
989
+
990
+ if stdout := stdout.strip():
991
+ message += '>>> Standard Output\n'
992
+ message += f'{stdout}{Display.clear}\n'
993
+
994
+ return message
995
+
996
+
989
997
  def retry(func: t.Callable[..., TValue], ex_type: t.Type[BaseException] = SubprocessError, sleep: int = 10, attempts: int = 10, warn: bool = True) -> TValue:
990
998
  """Retry the specified function on failure."""
991
999
  for dummy in range(1, attempts):
@@ -123,7 +123,9 @@ def get_collection_version():
123
123
  # noinspection PyBroadException
124
124
  try:
125
125
  result = collection_detail.read_manifest_json('.') or collection_detail.read_galaxy_yml('.')
126
- return SemanticVersion(result['version'])
126
+ version = SemanticVersion()
127
+ version.parse(result['version'])
128
+ return version
127
129
  except Exception: # pylint: disable=broad-except
128
130
  # We do not care why it fails, in case we cannot get the version
129
131
  # just return None to indicate "we don't know".
@@ -410,6 +410,15 @@ bootstrap_docker()
410
410
  {
411
411
  # Required for newer mysql-server packages to install/upgrade on Ubuntu 16.04.
412
412
  rm -f /usr/sbin/policy-rc.d
413
+
414
+ # CentOS 7 is EoL and its official repos are down; we need to the archived ones.
415
+ if grep -q '^CENTOS_MANTISBT_PROJECT="CentOS-7"$' /etc/os-release
416
+ then
417
+ sed -i \
418
+ -e 's/mirrorlist/#mirrorlist/g' \
419
+ -e 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' \
420
+ /etc/yum.repos.d/CentOS-*
421
+ fi
413
422
  }
414
423
 
415
424
  bootstrap_remote()