me
/
guix
Archived
1
0
Fork 0

gnu: ganeti: Fix test failure with PyYAML 6.0.

This fixes a regression that was introduced in
27720d0fe1.

* gnu/packages/patches/ganeti-pyyaml-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/virtualization.scm (ganeti)[source](patches): Add it.
master
Marius Bakke 2022-04-09 12:39:45 +02:00
parent 47b6451eb5
commit dce0249f18
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
3 changed files with 43 additions and 0 deletions

View File

@ -1084,6 +1084,7 @@ dist_patch_DATA = \
%D%/packages/patches/ganeti-disable-version-symlinks.patch \
%D%/packages/patches/ganeti-haskell-compat.patch \
%D%/packages/patches/ganeti-haskell-pythondir.patch \
%D%/packages/patches/ganeti-pyyaml-compat.patch \
%D%/packages/patches/ganeti-shepherd-master-failover.patch \
%D%/packages/patches/ganeti-shepherd-support.patch \
%D%/packages/patches/ganeti-sphinx-compat.patch \

View File

@ -0,0 +1,41 @@
Add Loader argument to 'yaml.load' invocations as required by PyYAML 6.0.
Submitted upstream:
https://github.com/ganeti/ganeti/pull/1668
diff --git a/qa/qa_utils.py b/qa/qa_utils.py
index da485df48..27428e685 100644
--- a/qa/qa_utils.py
+++ b/qa/qa_utils.py
@@ -450,7 +450,7 @@ def GetObjectInfo(infocmd):
master = qa_config.GetMasterNode()
cmdline = utils.ShellQuoteArgs(infocmd)
info_out = GetCommandOutput(master.primary, cmdline)
- return yaml.load(info_out)
+ return yaml.load(info_out, Loader=yaml.SafeLoader)
def UploadFile(node, src):
diff --git a/test/py/ganeti.cli_unittest.py b/test/py/ganeti.cli_unittest.py
index 9cc980afa..242aac9fd 100755
--- a/test/py/ganeti.cli_unittest.py
+++ b/test/py/ganeti.cli_unittest.py
@@ -1141,14 +1141,15 @@ class TestFormatPolicyInfo(unittest.TestCase):
self._RenameDictItem(minmax, key, keyparts[0])
self.assertTrue(constants.IPOLICY_DTS in parsed)
parsed[constants.IPOLICY_DTS] = yaml.load("[%s]" %
- parsed[constants.IPOLICY_DTS])
+ parsed[constants.IPOLICY_DTS],
+ Loader=yaml.SafeLoader)
@staticmethod
def _PrintAndParsePolicy(custom, effective, iscluster):
formatted = cli.FormatPolicyInfo(custom, effective, iscluster)
buf = StringIO()
cli._SerializeGenericInfo(buf, formatted, 0)
- return yaml.load(buf.getvalue())
+ return yaml.load(buf.getvalue(), Loader=yaml.SafeLoader)
def _PrintAndCheckParsed(self, policy):
parsed = self._PrintAndParsePolicy(policy, NotImplemented, True)

View File

@ -561,6 +561,7 @@ firmware blobs. You can
"ganeti-sphinx-compat.patch"
"ganeti-haskell-compat.patch"
"ganeti-haskell-pythondir.patch"
"ganeti-pyyaml-compat.patch"
"ganeti-disable-version-symlinks.patch"))))
(build-system gnu-build-system)
(arguments