ansible-core 2.17.0b1__py3-none-any.whl → 2.17.0rc1__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/cli/config.py CHANGED
@@ -269,7 +269,7 @@ class ConfigCLI(CLI):
269
269
  if not settings[setting].get('description'):
270
270
  continue
271
271
 
272
- default = settings[setting].get('default', '')
272
+ default = self.config.template_default(settings[setting].get('default', ''), get_constants())
273
273
  if subkey == 'env':
274
274
  stype = settings[setting].get('type', '')
275
275
  if stype == 'boolean':
@@ -351,7 +351,7 @@ class ConfigCLI(CLI):
351
351
  if entry['key'] not in seen[entry['section']]:
352
352
  seen[entry['section']].append(entry['key'])
353
353
 
354
- default = opt.get('default', '')
354
+ default = self.config.template_default(opt.get('default', ''), get_constants())
355
355
  if opt.get('type', '') == 'list' and not isinstance(default, string_types):
356
356
  # python lists are not valid ini ones
357
357
  default = ', '.join(default)
@@ -413,14 +413,16 @@ class ConfigCLI(CLI):
413
413
  if context.CLIARGS['format'] == 'display':
414
414
  if isinstance(config[setting], Setting):
415
415
  # proceed normally
416
+ value = config[setting].value
416
417
  if config[setting].origin == 'default':
417
418
  color = 'green'
419
+ value = self.config.template_default(value, get_constants())
418
420
  elif config[setting].origin == 'REQUIRED':
419
421
  # should include '_terms', '_input', etc
420
422
  color = 'red'
421
423
  else:
422
424
  color = 'yellow'
423
- msg = "%s(%s) = %s" % (setting, config[setting].origin, config[setting].value)
425
+ msg = "%s(%s) = %s" % (setting, config[setting].origin, value)
424
426
  else:
425
427
  color = 'green'
426
428
  msg = "%s(%s) = %s" % (setting, 'default', config[setting].get('default'))
ansible/config/manager.py CHANGED
@@ -302,6 +302,17 @@ class ConfigManager(object):
302
302
  # ensure we always have config def entry
303
303
  self._base_defs['CONFIG_FILE'] = {'default': None, 'type': 'path'}
304
304
 
305
+ def template_default(self, value, variables):
306
+ if isinstance(value, string_types) and (value.startswith('{{') and value.endswith('}}')) and variables is not None:
307
+ # template default values if possible
308
+ # NOTE: cannot use is_template due to circular dep
309
+ try:
310
+ t = NativeEnvironment().from_string(value)
311
+ value = t.render(variables)
312
+ except Exception:
313
+ pass # not templatable
314
+ return value
315
+
305
316
  def _read_config_yaml_file(self, yml_file):
306
317
  # TODO: handle relative paths as relative to the directory containing the current playbook instead of CWD
307
318
  # Currently this is only used with absolute paths to the `ansible/config` directory
@@ -555,18 +566,9 @@ class ConfigManager(object):
555
566
  to_native(_get_entry(plugin_type, plugin_name, config)))
556
567
  else:
557
568
  origin = 'default'
558
- value = defs[config].get('default')
559
- if isinstance(value, string_types) and (value.startswith('{{') and value.endswith('}}')) and variables is not None:
560
- # template default values if possible
561
- # NOTE: cannot use is_template due to circular dep
562
- try:
563
- t = NativeEnvironment().from_string(value)
564
- value = t.render(variables)
565
- except Exception:
566
- pass # not templatable
567
-
568
- # ensure correct type, can raise exceptions on mismatched types
569
+ value = self.template_default(defs[config].get('default'), variables)
569
570
  try:
571
+ # ensure correct type, can raise exceptions on mismatched types
570
572
  value = ensure_type(value, defs[config].get('type'), origin=origin, origin_ftype=origin_ftype)
571
573
  except ValueError as e:
572
574
  if origin.startswith('env:') and value == '':
@@ -427,13 +427,13 @@ class PlayIterator:
427
427
  # might be there from previous flush
428
428
  state.handlers = self.handlers[:]
429
429
  state.update_handlers = False
430
- state.cur_handlers_task = 0
431
430
 
432
431
  while True:
433
432
  try:
434
433
  task = state.handlers[state.cur_handlers_task]
435
434
  except IndexError:
436
435
  task = None
436
+ state.cur_handlers_task = 0
437
437
  state.run_state = state.pre_flushing_run_state
438
438
  state.update_handlers = True
439
439
  break
ansible/galaxy/role.py CHANGED
@@ -386,6 +386,8 @@ class GalaxyRole(object):
386
386
  else:
387
387
  os.makedirs(self.path)
388
388
 
389
+ resolved_archive = unfrackpath(archive_parent_dir, follow=False)
390
+
389
391
  # We strip off any higher-level directories for all of the files
390
392
  # contained within the tar file here. The default is 'github_repo-target'.
391
393
  # Gerrit instances, on the other hand, does not have a parent directory at all.
@@ -400,33 +402,29 @@ class GalaxyRole(object):
400
402
  if not (attr_value := getattr(member, attr, None)):
401
403
  continue
402
404
 
403
- if attr_value.startswith(os.sep) and not is_subpath(attr_value, archive_parent_dir):
404
- err = f"Invalid {attr} for tarfile member: path {attr_value} is not a subpath of the role {archive_parent_dir}"
405
- raise AnsibleError(err)
406
-
407
405
  if attr == 'linkname':
408
406
  # Symlinks are relative to the link
409
- relative_to_archive_dir = os.path.dirname(getattr(member, 'name', ''))
410
- archive_dir_path = os.path.join(archive_parent_dir, relative_to_archive_dir, attr_value)
407
+ relative_to = os.path.dirname(getattr(member, 'name', ''))
411
408
  else:
412
409
  # Normalize paths that start with the archive dir
413
410
  attr_value = attr_value.replace(archive_parent_dir, "", 1)
414
411
  attr_value = os.path.join(*attr_value.split(os.sep)) # remove leading os.sep
415
- archive_dir_path = os.path.join(archive_parent_dir, attr_value)
412
+ relative_to = ''
416
413
 
417
- resolved_archive = unfrackpath(archive_parent_dir)
418
- resolved_path = unfrackpath(archive_dir_path)
419
- if not is_subpath(resolved_path, resolved_archive):
420
- err = f"Invalid {attr} for tarfile member: path {resolved_path} is not a subpath of the role {resolved_archive}"
414
+ full_path = os.path.join(resolved_archive, relative_to, attr_value)
415
+ if not is_subpath(full_path, resolved_archive, real=True):
416
+ err = f"Invalid {attr} for tarfile member: path {full_path} is not a subpath of the role {resolved_archive}"
421
417
  raise AnsibleError(err)
422
418
 
423
- relative_path = os.path.join(*resolved_path.replace(resolved_archive, "", 1).split(os.sep)) or '.'
419
+ relative_path_dir = os.path.join(resolved_archive, relative_to)
420
+ relative_path = os.path.join(*full_path.replace(relative_path_dir, "", 1).split(os.sep))
424
421
  setattr(member, attr, relative_path)
425
422
 
426
423
  if _check_working_data_filter():
427
424
  # deprecated: description='extract fallback without filter' python_version='3.11'
428
425
  role_tar_file.extract(member, to_native(self.path), filter='data') # type: ignore[call-arg]
429
426
  else:
427
+ # Remove along with manual path filter once Python 3.12 is minimum supported version
430
428
  role_tar_file.extract(member, to_native(self.path))
431
429
 
432
430
  # write out the install info file for later use
@@ -17,6 +17,6 @@
17
17
 
18
18
  from __future__ import annotations
19
19
 
20
- __version__ = '2.17.0b1'
20
+ __version__ = '2.17.0rc1'
21
21
  __author__ = 'Ansible, Inc.'
22
22
  __codename__ = "Gallows Pole"
@@ -22,7 +22,7 @@ Compat distro library.
22
22
  from __future__ import annotations
23
23
 
24
24
  # The following makes it easier for us to script updates of the bundled code
25
- _BUNDLED_METADATA = {"pypi_name": "distro", "version": "1.6.0"}
25
+ _BUNDLED_METADATA = {"pypi_name": "distro", "version": "1.8.0"}
26
26
 
27
27
  # The following additional changes have been made:
28
28
  # * Remove optparse since it is not needed for our use.
@@ -175,7 +175,7 @@ class LinuxVirtual(Virtual):
175
175
  virtual_facts['virtualization_type'] = 'RHEV'
176
176
  found_virt = True
177
177
 
178
- if product_name in ('VMware Virtual Platform', 'VMware7,1', 'VMware20,1'):
178
+ if product_name and product_name.startswith(("VMware",)):
179
179
  guest_tech.add('VMware')
180
180
  if not found_virt:
181
181
  virtual_facts['virtualization_type'] = 'VMware'
ansible/modules/dnf5.py CHANGED
@@ -504,7 +504,7 @@ class Dnf5Module(YumDnf):
504
504
  conf.config_file_path = self.conf_file
505
505
 
506
506
  try:
507
- base.load_config_from_file()
507
+ base.load_config()
508
508
  except RuntimeError as e:
509
509
  self.module.fail_json(
510
510
  msg=str(e),
@@ -544,7 +544,8 @@ class Dnf5Module(YumDnf):
544
544
  log_router = base.get_logger()
545
545
  global_logger = libdnf5.logger.GlobalLogger()
546
546
  global_logger.set(log_router.get(), libdnf5.logger.Logger.Level_DEBUG)
547
- logger = libdnf5.logger.create_file_logger(base)
547
+ # FIXME hardcoding the filename does not seem right, should libdnf5 expose the default file name?
548
+ logger = libdnf5.logger.create_file_logger(base, "dnf5.log")
548
549
  log_router.add_logger(logger)
549
550
 
550
551
  if self.update_cache:
@@ -569,7 +570,11 @@ class Dnf5Module(YumDnf):
569
570
  for repo in repo_query:
570
571
  repo.enable()
571
572
 
572
- sack.update_and_load_enabled_repos(True)
573
+ try:
574
+ sack.load_repos()
575
+ except AttributeError:
576
+ # dnf5 < 5.2.0.0
577
+ sack.update_and_load_enabled_repos(True)
573
578
 
574
579
  if self.update_cache and not self.names and not self.list:
575
580
  self.module.exit_json(
@@ -601,7 +606,11 @@ class Dnf5Module(YumDnf):
601
606
  self.module.exit_json(msg="", results=results, rc=0)
602
607
 
603
608
  settings = libdnf5.base.GoalJobSettings()
604
- settings.group_with_name = True
609
+ try:
610
+ settings.set_group_with_name(True)
611
+ except AttributeError:
612
+ # dnf5 < 5.2.0.0
613
+ settings.group_with_name = True
605
614
  if self.bugfix or self.security:
606
615
  advisory_query = libdnf5.advisory.AdvisoryQuery(base)
607
616
  types = []
ansible/release.py CHANGED
@@ -17,6 +17,6 @@
17
17
 
18
18
  from __future__ import annotations
19
19
 
20
- __version__ = '2.17.0b1'
20
+ __version__ = '2.17.0rc1'
21
21
  __author__ = 'Ansible, Inc.'
22
22
  __codename__ = "Gallows Pole"
@@ -85,26 +85,26 @@ def generate_ansible_template_vars(path, fullpath=None, dest_path=None):
85
85
  template_uid = os.stat(b_path).st_uid
86
86
 
87
87
  temp_vars = {
88
- 'template_host': to_text(os.uname()[1]),
89
- 'template_path': path,
88
+ 'template_host': to_unsafe_text(os.uname()[1]),
89
+ 'template_path': to_unsafe_text(path),
90
90
  'template_mtime': datetime.datetime.fromtimestamp(os.path.getmtime(b_path)),
91
- 'template_uid': to_text(template_uid),
91
+ 'template_uid': to_unsafe_text(template_uid),
92
92
  'template_run_date': datetime.datetime.now(),
93
- 'template_destpath': to_native(dest_path) if dest_path else None,
93
+ 'template_destpath': wrap_var(to_native(dest_path)) if dest_path else None,
94
94
  }
95
95
 
96
96
  if fullpath is None:
97
- temp_vars['template_fullpath'] = os.path.abspath(path)
97
+ temp_vars['template_fullpath'] = wrap_var(os.path.abspath(path))
98
98
  else:
99
- temp_vars['template_fullpath'] = fullpath
99
+ temp_vars['template_fullpath'] = wrap_var(fullpath)
100
100
 
101
101
  managed_default = C.DEFAULT_MANAGED_STR
102
102
  managed_str = managed_default.format(
103
- host=temp_vars['template_host'],
104
- uid=temp_vars['template_uid'],
105
- file=temp_vars['template_path'].replace('%', '%%'),
103
+ host="{{ template_host }}",
104
+ uid="{{ template_uid }}",
105
+ file="{{ template_path }}"
106
106
  )
107
- temp_vars['ansible_managed'] = to_unsafe_text(time.strftime(to_native(managed_str), time.localtime(os.path.getmtime(b_path))))
107
+ temp_vars['ansible_managed'] = time.strftime(to_native(managed_str), time.localtime(os.path.getmtime(b_path)))
108
108
 
109
109
  return temp_vars
110
110
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ansible-core
3
- Version: 2.17.0b1
3
+ Version: 2.17.0rc1
4
4
  Summary: Radically simple IT automation
5
5
  Home-page: https://ansible.com/
6
6
  Author: Ansible, Inc.
@@ -3,11 +3,11 @@ ansible/__main__.py,sha256=EnLcULXNtSXkuJ8igEHPPLBTZKAwqXv4PvMEhvzp2Oo,1430
3
3
  ansible/constants.py,sha256=vRwEcoynqtuKDPKsxKUY94XzrTSV3J0y1slb907DioU,9140
4
4
  ansible/context.py,sha256=oKYyfjfWpy8vDeProtqfnqSmuij_t75_5e5t0U_hQ1g,1933
5
5
  ansible/keyword_desc.yml,sha256=vE9joFgSeHR4Djl7Bd-HHVCrGByRCrTUmWYZ8LKPZKk,7412
6
- ansible/release.py,sha256=_cqtMDp5jk27e8FYVragFsoQIJ_bEG2mEGN2HJhDlFU,834
6
+ ansible/release.py,sha256=V3ZaI78P9iI1sYQQWErIjJjq0faSHe5D6OXh3C-Vv1k,835
7
7
  ansible/_vendor/__init__.py,sha256=2QBeBwT7uG7M3Aw-pIdCpt6XPtHMCpbEKfACYKA7xIg,2033
8
8
  ansible/cli/__init__.py,sha256=fzgR82NIGBH3GujIMehhAaP4KYszn4uztuCaFYRUpGk,28718
9
9
  ansible/cli/adhoc.py,sha256=quJ9WzRzf3dz_dtDGmahNMffqyNVy1jzQCMo21YL5Qg,8194
10
- ansible/cli/config.py,sha256=OW-ZtThC_xPgBtTRKVM80mH-yZeuk-ocu8IvTnB6Yxg,22450
10
+ ansible/cli/config.py,sha256=54IEhW7pH5bpWB7u1abEh-4zjU2xqhB0nQi5dHGBZSY,22663
11
11
  ansible/cli/console.py,sha256=GOdaJfy0NtBIo4HUom4V4VrcrmLiBYcaSBZgbmAP9Ss,21987
12
12
  ansible/cli/doc.py,sha256=kjyJlvlWwrE87I9TT0KT_XEoaltXqDPtBJHHBbGr1QU,69602
13
13
  ansible/cli/galaxy.py,sha256=E9llaIyZEbfFl9j2SEbu74Gghpt6x6Egz1CwtqPw_2g,95494
@@ -27,14 +27,14 @@ ansible/compat/selectors.py,sha256=pbI2QH2fT2WAOtmEBbd6Cp2yXyCBbb5TLR7iitqnAkU,1
27
27
  ansible/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
28
  ansible/config/ansible_builtin_runtime.yml,sha256=nwL_-rqEEmpuSHxZH70pJBiEosDKOPkYIboH3_7LVEY,376076
29
29
  ansible/config/base.yml,sha256=aovj2JgkotyG1UKFFISOUJaZ2UBF2eRRc1pzJRQ6Z5s,85646
30
- ansible/config/manager.py,sha256=3_SHtwx8ZMD83iALCV5HZB8XUWFlTMmS0ordGQLNc8w,25717
30
+ ansible/config/manager.py,sha256=MvNZnqHDtz9uda5_ryNvpCv2M3frAl81bvZvgS1lGko,25730
31
31
  ansible/errors/__init__.py,sha256=pJ0Cd87ET5SNut851lrHH8EAoKEal2DdUJYl8yjRd8E,14739
32
32
  ansible/errors/yaml_strings.py,sha256=fKfgD3rC017dyMackTpu-LkvbsdnsfBAKCxMH-fDtIg,3858
33
33
  ansible/executor/__init__.py,sha256=mRvbCJPA-_veSG5ka3v04G5vsarLVDeB3EWFsu6geSI,749
34
34
  ansible/executor/action_write_locks.py,sha256=Up2n3cwFCr4T4IvttHpe3QOxRBF_9NgWJ1tFm9CHpfM,1915
35
35
  ansible/executor/interpreter_discovery.py,sha256=i9BS5Rw0TWC_32zqRO3KTURjn1J6CugrVxKKqhvmn-k,9974
36
36
  ansible/executor/module_common.py,sha256=4pVfjMgCle9ttAZTeuwSx3Kdi0rljagyHC11i4VnCl4,65755
37
- ansible/executor/play_iterator.py,sha256=TiPXcXx22fh3l3-fopLdaGFesAjb9utH-EmxG2WIWEA,30423
37
+ ansible/executor/play_iterator.py,sha256=FRzl8ELbICqzud-lT2KNuLmPoPntzayf2Y9DboEwso0,30427
38
38
  ansible/executor/playbook_executor.py,sha256=S_dwBYqYTQtN32AMQXxQTOpVCczV4KJ8ezergt1nlmA,15014
39
39
  ansible/executor/stats.py,sha256=gcBhJQrZTgE95737d6lArJ3FpTlbAfVt6GMhEqs5ZPU,3180
40
40
  ansible/executor/task_executor.py,sha256=dnt52xdlu9pK_0utDAMT8DBzXD6ixFY5vFPRGd3GMXU,60391
@@ -57,7 +57,7 @@ ansible/executor/process/__init__.py,sha256=mRvbCJPA-_veSG5ka3v04G5vsarLVDeB3EWF
57
57
  ansible/executor/process/worker.py,sha256=BEVV3ZSSawsuJSQB1nF2q2b58xcIS9WkmnmHEMQZPAI,10041
58
58
  ansible/galaxy/__init__.py,sha256=b21BxSru5rGKDcFsolAnZ8GIvyDmD4Gj1nMACnZ7HK8,2497
59
59
  ansible/galaxy/api.py,sha256=72wp5fBqel-nw9xyTh8Yb0qdJjvdIF6e8kRk8BvwvSo,40193
60
- ansible/galaxy/role.py,sha256=5ZhfYS2CedATUTnwTqqWlIeEFwP4gMnqZ7gjs5N8DUU,21395
60
+ ansible/galaxy/role.py,sha256=yPLmpm1wESUHqmIRYJ9aLlfs-7TBOHwksa4W286SqGs,21120
61
61
  ansible/galaxy/token.py,sha256=Skm_MSpUgn7_SXeGHzdPEPR06kVZ-2dJgYGjm89c8MY,6131
62
62
  ansible/galaxy/user_agent.py,sha256=_Vr4ZJV8HNXhSbhw_dvUr378OjFdyhtLRHyywCjGU6g,760
63
63
  ansible/galaxy/collection/__init__.py,sha256=DBZFQRFQUA7jQknzOXAJbJezXeMNbGpgZpvtBzw3ZJg,78889
@@ -140,7 +140,7 @@ ansible/inventory/host.py,sha256=PDb5OTplhfpUIvdHiP2BckUOB1gUl302N-3sW0_sTyg,503
140
140
  ansible/inventory/manager.py,sha256=45mHgZTAkQ3IjAtrgsNzJXvynC-HIEor-JJE-V3xXN4,29454
141
141
  ansible/module_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
142
  ansible/module_utils/_text.py,sha256=VkWgAnSNVCbTQqZgllUObBFsH3uM4EUW5srl1UR9t1g,544
143
- ansible/module_utils/ansible_release.py,sha256=_cqtMDp5jk27e8FYVragFsoQIJ_bEG2mEGN2HJhDlFU,834
143
+ ansible/module_utils/ansible_release.py,sha256=V3ZaI78P9iI1sYQQWErIjJjq0faSHe5D6OXh3C-Vv1k,835
144
144
  ansible/module_utils/api.py,sha256=DWIuLW5gDWuyyDHLLgGnub42Qa8kagDdkf1xDeLAFl4,5784
145
145
  ansible/module_utils/basic.py,sha256=1BHf9_6SsFlfeTcYlOqOzbnITG3x8galaBcPm8ec6nE,85703
146
146
  ansible/module_utils/connection.py,sha256=q_BdUaST6E44ltHsWPOFOheXK9vKmzaJvP-eQOrOrmE,8394
@@ -185,7 +185,7 @@ ansible/module_utils/csharp/Ansible.Become.cs,sha256=1yasfX8SpbcIWJWiobr2Ms-Hl5W
185
185
  ansible/module_utils/csharp/Ansible.Privilege.cs,sha256=7e46na6k6ygdRwN53bzfIS8O-IwfM1TF_q5DeFH2Z80,19398
186
186
  ansible/module_utils/csharp/Ansible.Process.cs,sha256=g6R2PkbxiVBry4bk35ieWwYCAZOi7RSeyKmtOW8j90I,19449
187
187
  ansible/module_utils/csharp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
188
- ansible/module_utils/distro/__init__.py,sha256=w3fzYf7ymcBi5Hk1GOoZIm_bZWKMuGysQtCo8y5BNe8,1943
188
+ ansible/module_utils/distro/__init__.py,sha256=rm-n2ri9SCdppcZhv4iEVT0qEBmH7BLbImOcpYRWLHQ,1943
189
189
  ansible/module_utils/distro/_distro.py,sha256=zJMW0bb4xg-ZVpRdDcdAutOIGEPIN3FT3a7NZTVJPZI,49484
190
190
  ansible/module_utils/facts/__init__.py,sha256=Vyndmo-7rUjG-SX3hQHGoviksC_DeKSijZ2tFDESIAQ,1890
191
191
  ansible/module_utils/facts/ansible_collector.py,sha256=TGc3uEaOx0u-ucNM5_pt0HQTG-mN8zlQJLYPZXoeEFw,6566
@@ -253,7 +253,7 @@ ansible/module_utils/facts/virtual/base.py,sha256=V1WM831aLueSnON5jJbRT0oX7JW_sd
253
253
  ansible/module_utils/facts/virtual/dragonfly.py,sha256=fx8MZjy6FqfSpshxnPyGs5B4FezmYFqqTr1XibWWSeE,959
254
254
  ansible/module_utils/facts/virtual/freebsd.py,sha256=Wc3hjsxrjWnLaZFBX3zM4lZpeGy4ZS5BTOXTs9SRN-I,3018
255
255
  ansible/module_utils/facts/virtual/hpux.py,sha256=NLQfUpXE7Gh-eZFfLyugvnnJjWFIGv9xqjC_zV4DLKw,2823
256
- ansible/module_utils/facts/virtual/linux.py,sha256=yhkT9oJlQvvZ3a7mFv0R8u3YMpniCQmKEMVoWkbi9PM,17839
256
+ ansible/module_utils/facts/virtual/linux.py,sha256=ifvJuZ6S0IgFSLVH3ajCfkX2eFv2g5cajvid7UFCARE,17822
257
257
  ansible/module_utils/facts/virtual/netbsd.py,sha256=53n3E9vowi8kCbFyj7vDeKocZ3OU_TLVSKRJRU8SenE,2896
258
258
  ansible/module_utils/facts/virtual/openbsd.py,sha256=J8Ow7x3J5ZuHFThqAwIdAdTLV1V9vN_U965Q34TAvNA,2785
259
259
  ansible/module_utils/facts/virtual/sunos.py,sha256=OcT2yemUKUgF8lHzMNkTqCwD4ScHwgTEA6zX3lJ39A0,6217
@@ -290,7 +290,7 @@ ansible/modules/deb822_repository.py,sha256=CWgVVSuq45dkHrozG2Yk229FdIdGfaFSmBFB
290
290
  ansible/modules/debconf.py,sha256=6zKDjdehURYxMe9YfUDTQn7YQlhS4bm6STGbUm1T17E,9205
291
291
  ansible/modules/debug.py,sha256=jqFvwGzDkB5NlcxR8vXhHjaakv9Ib_GjGdT2GbKhMhE,2907
292
292
  ansible/modules/dnf.py,sha256=7_5SY2qJ5hoBgtIKWecYanV_sH2J-2LoJQWxMf9uLBI,55256
293
- ansible/modules/dnf5.py,sha256=w2weTJxQgiTlt9FA80SJLJFrTXWGkimJIsCh_Wk4YGo,25904
293
+ ansible/modules/dnf5.py,sha256=TJmBLB1ai6kIiZSy_MiaRNkrRBKcbNm6oYMohLB8Q4Q,26243
294
294
  ansible/modules/dpkg_selections.py,sha256=rBH3A2lr6DB6qGlF3fF2716QU4jMSqC6EjikYffTtOI,2782
295
295
  ansible/modules/expect.py,sha256=J7IsU3OvBOeK8YtSWKkQKTfgmnWs2OSP_ntyj3UjmvM,9367
296
296
  ansible/modules/fail.py,sha256=95z8jFyVaizwwupSce04kj1wwnOmbM0ooUX7mXluoyU,1659
@@ -636,7 +636,7 @@ ansible/plugins/test/version.yml,sha256=2d55HZGIniPu53z6_bV4C26_1sqRAHJqCwesOU3m
636
636
  ansible/plugins/test/version_compare.yml,sha256=2d55HZGIniPu53z6_bV4C26_1sqRAHJqCwesOU3ma38,3283
637
637
  ansible/plugins/vars/__init__.py,sha256=D3YwVKABesBwag9e7GsLOxlRWqEO5NgfHDmYSq0z_1k,1331
638
638
  ansible/plugins/vars/host_group_vars.py,sha256=Qouyds_KOEuqaz4GlTYQnQUxXyTyyjFMj7maRnH8miU,6284
639
- ansible/template/__init__.py,sha256=4gyXdTlPj6W-npR1VuYyGBcKl2tOjr_xuypQzVv8jYc,40958
639
+ ansible/template/__init__.py,sha256=_TjK5oSfTlC4sGqaOegaAyjVP_m2C9SmI2S2d690HLQ,40967
640
640
  ansible/template/native_helpers.py,sha256=XjaTCQFSq0X6xTVENviRKYRVqmgI7IXCx70DeZ0C7F4,4333
641
641
  ansible/template/template.py,sha256=47dvX9AqSKlp6-n2QRPrHyhI3bboVyOpQekmQYryUB4,1583
642
642
  ansible/template/vars.py,sha256=YUCVqNLS3wjYHACSei7f5uwZMZRBTwiyjGge09EP00E,2854
@@ -678,7 +678,7 @@ ansible/vars/hostvars.py,sha256=rzxFov5bLpRtCSAFJswuRSCBx0DMNPnMJwkFKepvMuY,4764
678
678
  ansible/vars/manager.py,sha256=ujVDQXWvy8BihIxGzBPX6fMeUl2AlclkwadKMo6VjSk,38583
679
679
  ansible/vars/plugins.py,sha256=RsRU9fiLcJwPIAyTYnmVZglsiEOMCIgQskflavE-XnE,4546
680
680
  ansible/vars/reserved.py,sha256=kZiQMPvaFin35006gLwDpX16w-9xlu6EaL4LSTKP40U,2531
681
- ansible_core-2.17.0b1.data/scripts/ansible-test,sha256=dyY2HtRZotRQO3b89HGXY_KnJgBvgsm4eLIe4B2LUoA,1637
681
+ ansible_core-2.17.0rc1.data/scripts/ansible-test,sha256=dyY2HtRZotRQO3b89HGXY_KnJgBvgsm4eLIe4B2LUoA,1637
682
682
  ansible_test/__init__.py,sha256=20VPOj11c6Ut1Av9RaurgwJvFhMqkWG3vAvcCbecNKw,66
683
683
  ansible_test/_data/ansible.cfg,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
684
684
  ansible_test/_data/coveragerc,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -979,9 +979,9 @@ ansible_test/config/cloud-config-vultr.ini.template,sha256=XLKHk3lg_8ReQMdWfZzhh
979
979
  ansible_test/config/config.yml,sha256=wb3knoBmZewG3GWOMnRHoVPQWW4vPixKLPMNS6vJmTc,2620
980
980
  ansible_test/config/inventory.networking.template,sha256=bFNSk8zNQOaZ_twaflrY0XZ9mLwUbRLuNT0BdIFwvn4,1335
981
981
  ansible_test/config/inventory.winrm.template,sha256=1QU8W-GFLnYEw8yY9bVIvUAVvJYPM3hyoijf6-M7T00,1098
982
- ansible_core-2.17.0b1.dist-info/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
983
- ansible_core-2.17.0b1.dist-info/METADATA,sha256=LD4hEFY_PFgGEgauISc7IDAoF5jPi_PF1KmaMw3rTVk,6947
984
- ansible_core-2.17.0b1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
985
- ansible_core-2.17.0b1.dist-info/entry_points.txt,sha256=0mpmsrIhODChxKl3eS-NcVQCaMetBn8KdPLtVxQgR64,453
986
- ansible_core-2.17.0b1.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
987
- ansible_core-2.17.0b1.dist-info/RECORD,,
982
+ ansible_core-2.17.0rc1.dist-info/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
983
+ ansible_core-2.17.0rc1.dist-info/METADATA,sha256=6wgPzc0F9QJGZxMPkGJoH3JeE2EiCaK2qLic9wu02Dc,6948
984
+ ansible_core-2.17.0rc1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
985
+ ansible_core-2.17.0rc1.dist-info/entry_points.txt,sha256=0mpmsrIhODChxKl3eS-NcVQCaMetBn8KdPLtVxQgR64,453
986
+ ansible_core-2.17.0rc1.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
987
+ ansible_core-2.17.0rc1.dist-info/RECORD,,