mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
add support for gpgautoimport to refresh_db in the zypperpkg module
This commit is contained in:
parent
37d4aa2615
commit
e546bd7461
2 changed files with 87 additions and 2 deletions
|
@ -1398,7 +1398,7 @@ def mod_repo(repo, **kwargs):
|
|||
return repo
|
||||
|
||||
|
||||
def refresh_db(force=None, root=None):
|
||||
def refresh_db(force=None, root=None, **kwargs):
|
||||
"""
|
||||
Trigger a repository refresh by calling ``zypper refresh``. Refresh will run
|
||||
with ``--force`` if the "force=True" flag is passed on the CLI or
|
||||
|
@ -1409,6 +1409,17 @@ def refresh_db(force=None, root=None):
|
|||
|
||||
{'<database name>': Bool}
|
||||
|
||||
gpgautoimport : False
|
||||
If set to True, automatically trust and import public GPG key for
|
||||
the repository.
|
||||
|
||||
.. versionadded:: 3005
|
||||
|
||||
repos
|
||||
Refresh just the specified repos
|
||||
|
||||
.. versionadded:: 3005
|
||||
|
||||
root
|
||||
operate on a different root directory.
|
||||
|
||||
|
@ -1429,11 +1440,18 @@ def refresh_db(force=None, root=None):
|
|||
salt.utils.pkg.clear_rtag(__opts__)
|
||||
ret = {}
|
||||
refresh_opts = ["refresh"]
|
||||
global_opts = []
|
||||
if force is None:
|
||||
force = __pillar__.get("zypper", {}).get("refreshdb_force", True)
|
||||
if force:
|
||||
refresh_opts.append("--force")
|
||||
out = __zypper__(root=root).refreshable.call(*refresh_opts)
|
||||
repos = kwargs.get("repos", [])
|
||||
refresh_opts.extend([repos] if not isinstance(repos, list) else repos)
|
||||
|
||||
if kwargs.get("gpgautoimport", False):
|
||||
global_opts.append("--gpg-auto-import-keys")
|
||||
|
||||
out = __zypper__(root=root).refreshable.call(*global_opts, *refresh_opts)
|
||||
|
||||
for line in out.splitlines():
|
||||
if not line:
|
||||
|
|
|
@ -391,6 +391,73 @@ class ZypperTestCase(TestCase, LoaderModuleMockMixin):
|
|||
zypper_mock.assert_called_with(
|
||||
["zypper", "--non-interactive", "refresh", "--force"], **call_kwargs
|
||||
)
|
||||
zypper.refresh_db(gpgautoimport=True)
|
||||
zypper_mock.assert_called_with(
|
||||
[
|
||||
"zypper",
|
||||
"--non-interactive",
|
||||
"--gpg-auto-import-keys",
|
||||
"refresh",
|
||||
"--force",
|
||||
],
|
||||
**call_kwargs
|
||||
)
|
||||
zypper.refresh_db(gpgautoimport=True, force=True)
|
||||
zypper_mock.assert_called_with(
|
||||
[
|
||||
"zypper",
|
||||
"--non-interactive",
|
||||
"--gpg-auto-import-keys",
|
||||
"refresh",
|
||||
"--force",
|
||||
],
|
||||
**call_kwargs
|
||||
)
|
||||
zypper.refresh_db(gpgautoimport=True, force=False)
|
||||
zypper_mock.assert_called_with(
|
||||
[
|
||||
"zypper",
|
||||
"--non-interactive",
|
||||
"--gpg-auto-import-keys",
|
||||
"refresh",
|
||||
],
|
||||
**call_kwargs
|
||||
)
|
||||
zypper.refresh_db(
|
||||
gpgautoimport=True,
|
||||
refresh=True,
|
||||
repos="mock-repo-name",
|
||||
root=None,
|
||||
url="http://repo.url/some/path",
|
||||
)
|
||||
zypper_mock.assert_called_with(
|
||||
[
|
||||
"zypper",
|
||||
"--non-interactive",
|
||||
"--gpg-auto-import-keys",
|
||||
"refresh",
|
||||
"--force",
|
||||
"mock-repo-name",
|
||||
],
|
||||
**call_kwargs
|
||||
)
|
||||
zypper.refresh_db(
|
||||
gpgautoimport=True,
|
||||
repos="mock-repo-name",
|
||||
root=None,
|
||||
url="http://repo.url/some/path",
|
||||
)
|
||||
zypper_mock.assert_called_with(
|
||||
[
|
||||
"zypper",
|
||||
"--non-interactive",
|
||||
"--gpg-auto-import-keys",
|
||||
"refresh",
|
||||
"--force",
|
||||
"mock-repo-name",
|
||||
],
|
||||
**call_kwargs
|
||||
)
|
||||
|
||||
def test_info_installed(self):
|
||||
"""
|
||||
|
|
Loading…
Add table
Reference in a new issue