ansible-core 2.18.3__py3-none-any.whl → 2.18.4__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.

@@ -17,6 +17,6 @@
17
17
 
18
18
  from __future__ import annotations
19
19
 
20
- __version__ = '2.18.3'
20
+ __version__ = '2.18.4'
21
21
  __author__ = 'Ansible, Inc.'
22
22
  __codename__ = "Fool in the Rain"
@@ -4,11 +4,14 @@
4
4
  from __future__ import annotations
5
5
 
6
6
  import os
7
+ import pathlib
7
8
  import subprocess
8
9
  import sys
9
10
 
10
11
  from ansible.module_utils.common.text.converters import to_bytes
11
12
 
13
+ _ANSIBLE_PARENT_PATH = pathlib.Path(__file__).parents[3]
14
+
12
15
 
13
16
  def has_respawned():
14
17
  return hasattr(sys.modules['__main__'], '_respawned')
@@ -54,11 +57,20 @@ def probe_interpreters_for_module(interpreter_paths, module_name):
54
57
  be returned (or ``None`` if probing fails for all supplied paths).
55
58
  :arg module_name: fully-qualified Python module name to probe for (eg, ``selinux``)
56
59
  """
60
+ PYTHONPATH = os.getenv('PYTHONPATH', '')
61
+ env = os.environ | {'PYTHONPATH': f'{_ANSIBLE_PARENT_PATH}:{PYTHONPATH}'.rstrip(': ')}
57
62
  for interpreter_path in interpreter_paths:
58
63
  if not os.path.exists(interpreter_path):
59
64
  continue
60
65
  try:
61
- rc = subprocess.call([interpreter_path, '-c', 'import {0}'.format(module_name)])
66
+ rc = subprocess.call(
67
+ [
68
+ interpreter_path,
69
+ '-c',
70
+ f'import {module_name}, ansible.module_utils.basic',
71
+ ],
72
+ env=env,
73
+ )
62
74
  if rc == 0:
63
75
  return interpreter_path
64
76
  except Exception:
@@ -94,6 +94,8 @@ class DarwinHardware(Hardware):
94
94
 
95
95
  total_used = 0
96
96
  page_size = 4096
97
+ if 'hw.pagesize' in self.sysctl:
98
+ page_size = int(self.sysctl['hw.pagesize'])
97
99
 
98
100
  vm_stat_command = self.module.get_bin_path('vm_stat')
99
101
  if vm_stat_command is None:
@@ -312,7 +312,7 @@ Function Add-CSharpType {
312
312
  # fatal error.
313
313
  # https://github.com/ansible-collections/ansible.windows/issues/598
314
314
  $ignore_warnings = [System.Collections.ArrayList]@('1610')
315
- $compile_units = [System.Collections.Generic.List`1[System.CodeDom.CodeSnippetCompileUnit]]@()
315
+ $compile_units = [System.Collections.Generic.List`1[string]]@()
316
316
  foreach ($reference in $References) {
317
317
  # scan through code and add any assemblies that match
318
318
  # //AssemblyReference -Name ... [-CLR Framework]
@@ -346,7 +346,7 @@ Function Add-CSharpType {
346
346
  }
347
347
  $ignore_warnings.Add($warning_id) > $null
348
348
  }
349
- $compile_units.Add((New-Object -TypeName System.CodeDom.CodeSnippetCompileUnit -ArgumentList $reference)) > $null
349
+ $compile_units.Add($reference) > $null
350
350
 
351
351
  $type_matches = $type_pattern.Matches($reference)
352
352
  foreach ($match in $type_matches) {
@@ -381,7 +381,10 @@ Function Add-CSharpType {
381
381
 
382
382
  $null = New-Item -Path $temp_path -ItemType Directory -Force
383
383
  try {
384
- $compile = $provider.CompileAssemblyFromDom($compile_parameters, $compile_units)
384
+ # FromSource is important, it will create the .cs files with
385
+ # the required extended attribute for the source to be trusted
386
+ # when using WDAC.
387
+ $compile = $provider.CompileAssemblyFromSource($compile_parameters, $compile_units)
385
388
  }
386
389
  finally {
387
390
  # Try to delete the temp path, if this fails and we are running
ansible/modules/dnf5.py CHANGED
@@ -368,10 +368,20 @@ def is_installed(base, spec):
368
368
  # If users wish to target the `sssd` binary they can by specifying the full path `name=/usr/sbin/sssd` explicitly
369
369
  # due to settings.set_with_filenames(True) being default.
370
370
  settings.set_with_binaries(False)
371
+ # Disable checking whether SPEC is provided by an installed package.
372
+ # Consider following real scenario from the rpmfusion repo:
373
+ # * the `ffmpeg-libs` package is installed and provides `libavcodec-freeworld`
374
+ # * but `libavcodec-freeworld` is NOT installed (???)
375
+ # * due to `set_with_provides(True)` being default `is_installed(base, "libavcodec-freeworld")`
376
+ # would "unexpectedly" return True
377
+ # We disable provides only for this `is_installed` check, for actual installation we leave the default
378
+ # setting to mirror the dnf cmdline behavior.
379
+ settings.set_with_provides(False)
371
380
  except AttributeError:
372
381
  # dnf5 < 5.2.0.0
373
382
  settings.group_with_name = True
374
383
  settings.with_binaries = False
384
+ settings.with_provides = False
375
385
 
376
386
  installed_query = libdnf5.rpm.PackageQuery(base)
377
387
  installed_query.filter_installed()
@@ -567,7 +577,14 @@ class Dnf5Module(YumDnf):
567
577
  elif self.best is not None:
568
578
  conf.best = self.best
569
579
  conf.install_weak_deps = self.install_weak_deps
570
- conf.gpgcheck = not self.disable_gpg_check
580
+ try:
581
+ # raises AttributeError only on getter if not available
582
+ conf.pkg_gpgcheck # pylint: disable=pointless-statement
583
+ except AttributeError:
584
+ # dnf5 < 5.2.7.0
585
+ conf.gpgcheck = not self.disable_gpg_check
586
+ else:
587
+ conf.pkg_gpgcheck = not self.disable_gpg_check
571
588
  conf.localpkg_gpgcheck = not self.disable_gpg_check
572
589
  conf.sslverify = self.sslverify
573
590
  conf.clean_requirements_on_remove = self.autoremove
ansible/release.py CHANGED
@@ -17,6 +17,6 @@
17
17
 
18
18
  from __future__ import annotations
19
19
 
20
- __version__ = '2.18.3'
20
+ __version__ = '2.18.4'
21
21
  __author__ = 'Ansible, Inc.'
22
22
  __codename__ = "Fool in the Rain"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ansible-core
3
- Version: 2.18.3
3
+ Version: 2.18.4
4
4
  Summary: Radically simple IT automation
5
5
  Author: Ansible Project
6
6
  Project-URL: Homepage, https://ansible.com/
@@ -3,7 +3,7 @@ ansible/__main__.py,sha256=24j-7-YT4lZ2fmV80JD-VRoYBnxR7YoP_VP-orJtDt0,796
3
3
  ansible/constants.py,sha256=dSgbrzNsmhYc4GQOWZvRm4XKgf--_MUWcMa_9_7l5Pc,9757
4
4
  ansible/context.py,sha256=oKYyfjfWpy8vDeProtqfnqSmuij_t75_5e5t0U_hQ1g,1933
5
5
  ansible/keyword_desc.yml,sha256=xD-MRMB8mSRaj2ADwRnjIEbOwJKbc6BYadouGPfS0mI,7462
6
- ansible/release.py,sha256=8JDdr3xoPP96cBtrknWA5s62nQX34KZNwTlkFf994GA,836
6
+ ansible/release.py,sha256=wAhhwjkzLxM4YxK4lrtQi1NAxuNCZzIGuHc-phFPCuI,836
7
7
  ansible/_vendor/__init__.py,sha256=2QBeBwT7uG7M3Aw-pIdCpt6XPtHMCpbEKfACYKA7xIg,2033
8
8
  ansible/cli/__init__.py,sha256=e0KjeLfG1Ketbwl-uOmQ-zXoq3_El80LnHTGu80d1gs,28111
9
9
  ansible/cli/adhoc.py,sha256=quJ9WzRzf3dz_dtDGmahNMffqyNVy1jzQCMo21YL5Qg,8194
@@ -141,7 +141,7 @@ ansible/inventory/host.py,sha256=PDb5OTplhfpUIvdHiP2BckUOB1gUl302N-3sW0_sTyg,503
141
141
  ansible/inventory/manager.py,sha256=45mHgZTAkQ3IjAtrgsNzJXvynC-HIEor-JJE-V3xXN4,29454
142
142
  ansible/module_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
143
  ansible/module_utils/_text.py,sha256=VkWgAnSNVCbTQqZgllUObBFsH3uM4EUW5srl1UR9t1g,544
144
- ansible/module_utils/ansible_release.py,sha256=8JDdr3xoPP96cBtrknWA5s62nQX34KZNwTlkFf994GA,836
144
+ ansible/module_utils/ansible_release.py,sha256=wAhhwjkzLxM4YxK4lrtQi1NAxuNCZzIGuHc-phFPCuI,836
145
145
  ansible/module_utils/api.py,sha256=r4wd6XZGhUnxMF416Ry6ebgq8BIhjCPSPOvO2ZtrYxE,5785
146
146
  ansible/module_utils/basic.py,sha256=fogfpo_l7JtS34WvgwwOebmPfMhFjQaJN5CwjKgUJVE,86291
147
147
  ansible/module_utils/connection.py,sha256=8TviwCucQ7d_JILwaUHE4tCuNfR3U1WFkmxLMxWa8Rw,7671
@@ -168,7 +168,7 @@ ansible/module_utils/common/locale.py,sha256=lLQU-CU4YfTVK8EknMb-PLKIAf5eAjD0ZwE
168
168
  ansible/module_utils/common/network.py,sha256=ffFrBriNPHFDslP54NRN3QaJADEWBG7eCgv5c7RcOHs,4226
169
169
  ansible/module_utils/common/parameters.py,sha256=VxFSxcIeY-7bqWoamBIQHL1AN3rJXxSHScBRc5gY5RM,37303
170
170
  ansible/module_utils/common/process.py,sha256=w7RqZy5RuqWKGEZ6GlA3Hb8ePkS3-cxM65AsnKFBRfo,2281
171
- ansible/module_utils/common/respawn.py,sha256=q1zJyJ1D0iLKINC48kzHWODZnIfpejQOzld34A_MyyM,3766
171
+ ansible/module_utils/common/respawn.py,sha256=Wssx9kz1kHw42IHf9eylnK7R8bywrpJdyzRrzV7zQr8,4129
172
172
  ansible/module_utils/common/sys_info.py,sha256=eOtNyL8SMTFEDqjS8PrvKiaSeRq92Fz_awii2K_z6aE,5436
173
173
  ansible/module_utils/common/validation.py,sha256=gsjY9oofCJHWoU5fvNBjgvPG5uTTV0S8NylodCRU2W8,19630
174
174
  ansible/module_utils/common/warnings.py,sha256=ifWww0in1jod-3ffJB7NmQSF0eaejxwAmYYWzUYhkRw,1365
@@ -205,7 +205,7 @@ ansible/module_utils/facts/utils.py,sha256=cKka93JV5LdMQ_Uec77p7DzyPfSBhitX1AfR0
205
205
  ansible/module_utils/facts/hardware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
206
206
  ansible/module_utils/facts/hardware/aix.py,sha256=r9rb_Qz-dPYDeZDDo49gqHQrf6HumHLnxZI6CkGgVxA,10681
207
207
  ansible/module_utils/facts/hardware/base.py,sha256=rLmKrvfA5e9CBHFxwgs9PzgnOivk31N8YDF7XPoxdgE,2751
208
- ansible/module_utils/facts/hardware/darwin.py,sha256=gP7ApESc2lj1kc_tEoFZSS1fjlgO2a4pg_5UEMMAYP0,5899
208
+ ansible/module_utils/facts/hardware/darwin.py,sha256=KymqwyGiHW-EoR9hZOUfwLsHsCbExxTrXS4cEpcGRfg,5996
209
209
  ansible/module_utils/facts/hardware/dragonfly.py,sha256=3KsbUJ-8IaPnFf22hE6YOX39ici317s3tOw7T-wbPSE,1037
210
210
  ansible/module_utils/facts/hardware/freebsd.py,sha256=mo9rLzYmM5plYkBOg8fKrjBqjfGnTRvL7EU8GR08XTk,10021
211
211
  ansible/module_utils/facts/hardware/hpux.py,sha256=W70ZZjV-_dv9JZfs77e31TYIIGEfGDxJxbVOIac3otg,8504
@@ -266,7 +266,7 @@ ansible/module_utils/facts/virtual/sunos.py,sha256=OcT2yemUKUgF8lHzMNkTqCwD4ScHw
266
266
  ansible/module_utils/facts/virtual/sysctl.py,sha256=lHR0b-9-1wFJTmVHiK3dRZ8v3MuewU4nn-x-hoFhu-E,5260
267
267
  ansible/module_utils/parsing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
268
268
  ansible/module_utils/parsing/convert_bool.py,sha256=ZEe44iS-9dLnWIK4RAHreTjh4HnO2hMR52C0VLY6q9I,1061
269
- ansible/module_utils/powershell/Ansible.ModuleUtils.AddType.psm1,sha256=LL4pfe_YVJXwV9sL29y6VY4sBQ1tbiVLrNYzR6bxM4s,20039
269
+ ansible/module_utils/powershell/Ansible.ModuleUtils.AddType.psm1,sha256=NYfvSKqsTCC2YQIx-pGPpKKS3BG499v8ZqQHlHiXsOQ,20127
270
270
  ansible/module_utils/powershell/Ansible.ModuleUtils.ArgvParser.psm1,sha256=x9wTV5jOpoCtFbpZW6GoZEELdL3RNOhdY91QOhYxJqk,3327
271
271
  ansible/module_utils/powershell/Ansible.ModuleUtils.Backup.psm1,sha256=ebgpraCNmPwswlLHShgiviTk2thw8ch3ekF5n_I_cXg,1104
272
272
  ansible/module_utils/powershell/Ansible.ModuleUtils.CamelConversion.psm1,sha256=zbcmdtVhksdi4BAuU6GAzePYv0_ZpY25X5YUlEShTWk,2455
@@ -296,7 +296,7 @@ ansible/modules/deb822_repository.py,sha256=SLJM8bBLc70WYu3-OA67wd5hMft3pznYAMIi
296
296
  ansible/modules/debconf.py,sha256=Y49U5pM6UpKvYAvDbOhYe6kmQFAaxjl7YoYnPrOaGGU,9362
297
297
  ansible/modules/debug.py,sha256=BFbzrU_vl-Try5DuLV20_sLgqxEJlPV9uOrgAtby2e8,2908
298
298
  ansible/modules/dnf.py,sha256=rsb28kjMMnTu-rPW0Pdnbs2RPyvfdhWgXeUORUSgzEI,52288
299
- ansible/modules/dnf5.py,sha256=csebof_G-_9HPDRJw65bnWv492jXL5Om7O4adw5w0Xg,29128
299
+ ansible/modules/dnf5.py,sha256=AuuJ_R0MPbJRBqQdIq1R4OiFqIv5NSo21vlw5SRm5L8,30114
300
300
  ansible/modules/dpkg_selections.py,sha256=lTWBhmVFrf6PsV4_BoR23wVTJOloCH1YNPcAn0m7DTY,2805
301
301
  ansible/modules/expect.py,sha256=O4emRoJ09i3OLmVX5j84WHkGKWg6bMytYpZlExOrSmc,9369
302
302
  ansible/modules/fail.py,sha256=95z8jFyVaizwwupSce04kj1wwnOmbM0ooUX7mXluoyU,1659
@@ -980,13 +980,13 @@ ansible_test/config/cloud-config-vultr.ini.template,sha256=XLKHk3lg_8ReQMdWfZzhh
980
980
  ansible_test/config/config.yml,sha256=1zdGucnIl6nIecZA7ISIANvqXiHWqq6Dthsk_6MUwNc,2642
981
981
  ansible_test/config/inventory.networking.template,sha256=bFNSk8zNQOaZ_twaflrY0XZ9mLwUbRLuNT0BdIFwvn4,1335
982
982
  ansible_test/config/inventory.winrm.template,sha256=1QU8W-GFLnYEw8yY9bVIvUAVvJYPM3hyoijf6-M7T00,1098
983
- ansible_core-2.18.3.dist-info/Apache-License.txt,sha256=y16Ofl9KOYjhBjwULGDcLfdWBfTEZRXnduOspt-XbhQ,11325
984
- ansible_core-2.18.3.dist-info/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
985
- ansible_core-2.18.3.dist-info/METADATA,sha256=jYnYoxfqbNuXTlbWtLaiB_7R8TZ7jgenorDCyhQR9dg,7668
986
- ansible_core-2.18.3.dist-info/MIT-license.txt,sha256=jLXp2XurnyZKbye40g9tfmLGtVlxh3pPD4n8xNqX8xc,1023
987
- ansible_core-2.18.3.dist-info/PSF-license.txt,sha256=g7BC_H1qyg8Q1o5F76Vrm8ChSWYI5-dyj-CdGlNKBUo,2484
988
- ansible_core-2.18.3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
989
- ansible_core-2.18.3.dist-info/entry_points.txt,sha256=S9yJij5Im6FgRQxzkqSCnPQokC7PcWrDW_NSygZczJU,451
990
- ansible_core-2.18.3.dist-info/simplified_bsd.txt,sha256=8R5R7R7sOa0h1Fi6RNgFgHowHBfun-OVOMzJ4rKAk2w,1237
991
- ansible_core-2.18.3.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
992
- ansible_core-2.18.3.dist-info/RECORD,,
983
+ ansible_core-2.18.4.dist-info/Apache-License.txt,sha256=y16Ofl9KOYjhBjwULGDcLfdWBfTEZRXnduOspt-XbhQ,11325
984
+ ansible_core-2.18.4.dist-info/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
985
+ ansible_core-2.18.4.dist-info/METADATA,sha256=zWmks7cOhNtrghHxfT7CKBwrfelN8iIh0jJkwH-zh7M,7668
986
+ ansible_core-2.18.4.dist-info/MIT-license.txt,sha256=jLXp2XurnyZKbye40g9tfmLGtVlxh3pPD4n8xNqX8xc,1023
987
+ ansible_core-2.18.4.dist-info/PSF-license.txt,sha256=g7BC_H1qyg8Q1o5F76Vrm8ChSWYI5-dyj-CdGlNKBUo,2484
988
+ ansible_core-2.18.4.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
989
+ ansible_core-2.18.4.dist-info/entry_points.txt,sha256=S9yJij5Im6FgRQxzkqSCnPQokC7PcWrDW_NSygZczJU,451
990
+ ansible_core-2.18.4.dist-info/simplified_bsd.txt,sha256=8R5R7R7sOa0h1Fi6RNgFgHowHBfun-OVOMzJ4rKAk2w,1237
991
+ ansible_core-2.18.4.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
992
+ ansible_core-2.18.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (76.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5