summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex <alexgubin@gmx.de>2016-09-10 08:36:59 +0200
committerRené Moser <mail@renemoser.net>2016-09-10 08:36:59 +0200
commiteb6e0069e96c2308ad7f0c5c31e87ab8b3a7a637 (patch)
tree22b8c10c06ba88ec1a5b8a44e885f1afe19423e2
parentac0e6d2c4d0c614378454ca03d06e54cb7c1afd2 (diff)
downloadansible-modules-extras-release-2.1.tar.gz
Start zypper in non-interactive mode (#2854)release-2.1
-rw-r--r--packaging/os/zypper_repository.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/packaging/os/zypper_repository.py b/packaging/os/zypper_repository.py
index bbed8143..0737d3cc 100644
--- a/packaging/os/zypper_repository.py
+++ b/packaging/os/zypper_repository.py
@@ -129,9 +129,17 @@ REPO_OPTS = ['alias', 'name', 'priority', 'enabled', 'autorefresh', 'gpgcheck']
from distutils.version import LooseVersion
+def _get_cmd(*args):
+ """Combines the non-interactive zypper command with arguments/subcommands"""
+ cmd = ['/usr/bin/zypper', '--quiet', '--non-interactive']
+ cmd.extend(args)
+
+ return cmd
+
+
def _parse_repos(module):
- """parses the output of zypper -x lr and return a parse repo dictionary"""
- cmd = ['/usr/bin/zypper', '-x', 'lr']
+ """parses the output of zypper --xmlout repos and return a parse repo dictionary"""
+ cmd = _get_cmd('--xmlout', 'repos')
from xml.dom.minidom import parseString as parseXML
rc, stdout, stderr = module.run_command(cmd, check_rc=False)
@@ -207,7 +215,7 @@ def repo_exists(module, repodata, overwrite_multiple):
def addmodify_repo(module, repodata, old_repos, zypper_version, warnings):
"Adds the repo, removes old repos before, that would conflict."
repo = repodata['url']
- cmd = ['/usr/bin/zypper', 'ar', '--check']
+ cmd = _get_cmd('addrepo', '--check')
if repodata['name']:
cmd.extend(['--name', repodata['name']])
@@ -251,7 +259,7 @@ def addmodify_repo(module, repodata, old_repos, zypper_version, warnings):
def remove_repo(module, repo):
"Removes the repo."
- cmd = ['/usr/bin/zypper', 'rr', repo]
+ cmd = _get_cmd('removerepo', repo)
rc, stdout, stderr = module.run_command(cmd, check_rc=True)
return rc, stdout, stderr
@@ -265,7 +273,7 @@ def get_zypper_version(module):
def runrefreshrepo(module, auto_import_keys=False, shortname=None):
"Forces zypper to refresh repo metadata."
- cmd = ['/usr/bin/zypper', 'refresh', '--force']
+ cmd = _get_cmd('refresh', '--force')
if auto_import_keys:
cmd.append('--gpg-auto-import-keys')
if shortname is not None: