mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
using get_bin_path() on atomic modules (#2144)
* using get_bin_path() on atomic modules * added changelog fragment * Update changelogs/fragments/2144-atomic_get_bin_path.yml Co-authored-by: Felix Fontein <felix@fontein.de> Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
parent
3312ae08af
commit
c8885fdfbd
4 changed files with 28 additions and 28 deletions
4
changelogs/fragments/2144-atomic_get_bin_path.yml
Normal file
4
changelogs/fragments/2144-atomic_get_bin_path.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
minor_changes:
|
||||||
|
- atomic_container - using ``get_bin_path()`` before calling ``run_command()`` (https://github.com/ansible-collections/community.general/pull/2144).
|
||||||
|
- atomic_host - using ``get_bin_path()`` before calling ``run_command()`` (https://github.com/ansible-collections/community.general/pull/2144).
|
||||||
|
- atomic_image - using ``get_bin_path()`` before calling ``run_command()`` (https://github.com/ansible-collections/community.general/pull/2144).
|
|
@ -102,7 +102,8 @@ def do_install(module, mode, rootfs, container, image, values_list, backend):
|
||||||
system_list = ["--system"] if mode == 'system' else []
|
system_list = ["--system"] if mode == 'system' else []
|
||||||
user_list = ["--user"] if mode == 'user' else []
|
user_list = ["--user"] if mode == 'user' else []
|
||||||
rootfs_list = ["--rootfs=%s" % rootfs] if rootfs else []
|
rootfs_list = ["--rootfs=%s" % rootfs] if rootfs else []
|
||||||
args = ['atomic', 'install', "--storage=%s" % backend, '--name=%s' % container] + system_list + user_list + rootfs_list + values_list + [image]
|
atomic_bin = module.get_bin_path('atomic')
|
||||||
|
args = [atomic_bin, 'install', "--storage=%s" % backend, '--name=%s' % container] + system_list + user_list + rootfs_list + values_list + [image]
|
||||||
rc, out, err = module.run_command(args, check_rc=False)
|
rc, out, err = module.run_command(args, check_rc=False)
|
||||||
if rc != 0:
|
if rc != 0:
|
||||||
module.fail_json(rc=rc, msg=err)
|
module.fail_json(rc=rc, msg=err)
|
||||||
|
@ -112,7 +113,8 @@ def do_install(module, mode, rootfs, container, image, values_list, backend):
|
||||||
|
|
||||||
|
|
||||||
def do_update(module, container, image, values_list):
|
def do_update(module, container, image, values_list):
|
||||||
args = ['atomic', 'containers', 'update', "--rebase=%s" % image] + values_list + [container]
|
atomic_bin = module.get_bin_path('atomic')
|
||||||
|
args = [atomic_bin, 'containers', 'update', "--rebase=%s" % image] + values_list + [container]
|
||||||
rc, out, err = module.run_command(args, check_rc=False)
|
rc, out, err = module.run_command(args, check_rc=False)
|
||||||
if rc != 0:
|
if rc != 0:
|
||||||
module.fail_json(rc=rc, msg=err)
|
module.fail_json(rc=rc, msg=err)
|
||||||
|
@ -122,7 +124,8 @@ def do_update(module, container, image, values_list):
|
||||||
|
|
||||||
|
|
||||||
def do_uninstall(module, name, backend):
|
def do_uninstall(module, name, backend):
|
||||||
args = ['atomic', 'uninstall', "--storage=%s" % backend, name]
|
atomic_bin = module.get_bin_path('atomic')
|
||||||
|
args = [atomic_bin, 'uninstall', "--storage=%s" % backend, name]
|
||||||
rc, out, err = module.run_command(args, check_rc=False)
|
rc, out, err = module.run_command(args, check_rc=False)
|
||||||
if rc != 0:
|
if rc != 0:
|
||||||
module.fail_json(rc=rc, msg=err)
|
module.fail_json(rc=rc, msg=err)
|
||||||
|
@ -130,7 +133,8 @@ def do_uninstall(module, name, backend):
|
||||||
|
|
||||||
|
|
||||||
def do_rollback(module, name):
|
def do_rollback(module, name):
|
||||||
args = ['atomic', 'containers', 'rollback', name]
|
atomic_bin = module.get_bin_path('atomic')
|
||||||
|
args = [atomic_bin, 'containers', 'rollback', name]
|
||||||
rc, out, err = module.run_command(args, check_rc=False)
|
rc, out, err = module.run_command(args, check_rc=False)
|
||||||
if rc != 0:
|
if rc != 0:
|
||||||
module.fail_json(rc=rc, msg=err)
|
module.fail_json(rc=rc, msg=err)
|
||||||
|
@ -148,14 +152,12 @@ def core(module):
|
||||||
backend = module.params['backend']
|
backend = module.params['backend']
|
||||||
state = module.params['state']
|
state = module.params['state']
|
||||||
|
|
||||||
|
atomic_bin = module.get_bin_path('atomic')
|
||||||
module.run_command_environ_update = dict(LANG='C', LC_ALL='C', LC_MESSAGES='C')
|
module.run_command_environ_update = dict(LANG='C', LC_ALL='C', LC_MESSAGES='C')
|
||||||
out = {}
|
|
||||||
err = {}
|
|
||||||
rc = 0
|
|
||||||
|
|
||||||
values_list = ["--set=%s" % x for x in values] if values else []
|
values_list = ["--set=%s" % x for x in values] if values else []
|
||||||
|
|
||||||
args = ['atomic', 'containers', 'list', '--no-trunc', '-n', '--all', '-f', 'backend=%s' % backend, '-f', 'container=%s' % name]
|
args = [atomic_bin, 'containers', 'list', '--no-trunc', '-n', '--all', '-f', 'backend=%s' % backend, '-f', 'container=%s' % name]
|
||||||
rc, out, err = module.run_command(args, check_rc=False)
|
rc, out, err = module.run_command(args, check_rc=False)
|
||||||
if rc != 0:
|
if rc != 0:
|
||||||
module.fail_json(rc=rc, msg=err)
|
module.fail_json(rc=rc, msg=err)
|
||||||
|
@ -194,9 +196,7 @@ def main():
|
||||||
module.fail_json(msg="values is supported only with user or system mode")
|
module.fail_json(msg="values is supported only with user or system mode")
|
||||||
|
|
||||||
# Verify that the platform supports atomic command
|
# Verify that the platform supports atomic command
|
||||||
rc, out, err = module.run_command('atomic -v', check_rc=False)
|
dummy = module.get_bin_path('atomic', required=True)
|
||||||
if rc != 0:
|
|
||||||
module.fail_json(msg="Error in running atomic command", err=err)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
core(module)
|
core(module)
|
||||||
|
|
|
@ -57,18 +57,14 @@ from ansible.module_utils._text import to_native
|
||||||
|
|
||||||
def core(module):
|
def core(module):
|
||||||
revision = module.params['revision']
|
revision = module.params['revision']
|
||||||
args = []
|
atomic_bin = module.get_bin_path('atomic', required=True)
|
||||||
|
|
||||||
module.run_command_environ_update = dict(LANG='C', LC_ALL='C', LC_MESSAGES='C')
|
module.run_command_environ_update = dict(LANG='C', LC_ALL='C', LC_MESSAGES='C')
|
||||||
|
|
||||||
if revision == 'latest':
|
if revision == 'latest':
|
||||||
args = ['atomic', 'host', 'upgrade']
|
args = [atomic_bin, 'host', 'upgrade']
|
||||||
else:
|
else:
|
||||||
args = ['atomic', 'host', 'deploy', revision]
|
args = [atomic_bin, 'host', 'deploy', revision]
|
||||||
|
|
||||||
out = {}
|
|
||||||
err = {}
|
|
||||||
rc = 0
|
|
||||||
|
|
||||||
rc, out, err = module.run_command(args, check_rc=False)
|
rc, out, err = module.run_command(args, check_rc=False)
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,8 @@ from ansible.module_utils._text import to_native
|
||||||
|
|
||||||
|
|
||||||
def do_upgrade(module, image):
|
def do_upgrade(module, image):
|
||||||
args = ['atomic', 'update', '--force', image]
|
atomic_bin = module.get_bin_path('atomic')
|
||||||
|
args = [atomic_bin, 'update', '--force', image]
|
||||||
rc, out, err = module.run_command(args, check_rc=False)
|
rc, out, err = module.run_command(args, check_rc=False)
|
||||||
if rc != 0: # something went wrong emit the msg
|
if rc != 0: # something went wrong emit the msg
|
||||||
module.fail_json(rc=rc, msg=err)
|
module.fail_json(rc=rc, msg=err)
|
||||||
|
@ -91,20 +92,21 @@ def core(module):
|
||||||
is_upgraded = False
|
is_upgraded = False
|
||||||
|
|
||||||
module.run_command_environ_update = dict(LANG='C', LC_ALL='C', LC_MESSAGES='C')
|
module.run_command_environ_update = dict(LANG='C', LC_ALL='C', LC_MESSAGES='C')
|
||||||
|
atomic_bin = module.get_bin_path('atomic')
|
||||||
out = {}
|
out = {}
|
||||||
err = {}
|
err = {}
|
||||||
rc = 0
|
rc = 0
|
||||||
|
|
||||||
if backend:
|
if backend:
|
||||||
if state == 'present' or state == 'latest':
|
if state == 'present' or state == 'latest':
|
||||||
args = ['atomic', 'pull', "--storage=%s" % backend, image]
|
args = [atomic_bin, 'pull', "--storage=%s" % backend, image]
|
||||||
rc, out, err = module.run_command(args, check_rc=False)
|
rc, out, err = module.run_command(args, check_rc=False)
|
||||||
if rc < 0:
|
if rc < 0:
|
||||||
module.fail_json(rc=rc, msg=err)
|
module.fail_json(rc=rc, msg=err)
|
||||||
else:
|
else:
|
||||||
out_run = ""
|
out_run = ""
|
||||||
if started:
|
if started:
|
||||||
args = ['atomic', 'run', "--storage=%s" % backend, image]
|
args = [atomic_bin, 'run', "--storage=%s" % backend, image]
|
||||||
rc, out_run, err = module.run_command(args, check_rc=False)
|
rc, out_run, err = module.run_command(args, check_rc=False)
|
||||||
if rc < 0:
|
if rc < 0:
|
||||||
module.fail_json(rc=rc, msg=err)
|
module.fail_json(rc=rc, msg=err)
|
||||||
|
@ -112,7 +114,7 @@ def core(module):
|
||||||
changed = "Extracting" in out or "Copying blob" in out
|
changed = "Extracting" in out or "Copying blob" in out
|
||||||
module.exit_json(msg=(out + out_run), changed=changed)
|
module.exit_json(msg=(out + out_run), changed=changed)
|
||||||
elif state == 'absent':
|
elif state == 'absent':
|
||||||
args = ['atomic', 'images', 'delete', "--storage=%s" % backend, image]
|
args = [atomic_bin, 'images', 'delete', "--storage=%s" % backend, image]
|
||||||
rc, out, err = module.run_command(args, check_rc=False)
|
rc, out, err = module.run_command(args, check_rc=False)
|
||||||
if rc < 0:
|
if rc < 0:
|
||||||
module.fail_json(rc=rc, msg=err)
|
module.fail_json(rc=rc, msg=err)
|
||||||
|
@ -126,11 +128,11 @@ def core(module):
|
||||||
is_upgraded = do_upgrade(module, image)
|
is_upgraded = do_upgrade(module, image)
|
||||||
|
|
||||||
if started:
|
if started:
|
||||||
args = ['atomic', 'run', image]
|
args = [atomic_bin, 'run', image]
|
||||||
else:
|
else:
|
||||||
args = ['atomic', 'install', image]
|
args = [atomic_bin, 'install', image]
|
||||||
elif state == 'absent':
|
elif state == 'absent':
|
||||||
args = ['atomic', 'uninstall', image]
|
args = [atomic_bin, 'uninstall', image]
|
||||||
|
|
||||||
rc, out, err = module.run_command(args, check_rc=False)
|
rc, out, err = module.run_command(args, check_rc=False)
|
||||||
|
|
||||||
|
@ -155,9 +157,7 @@ def main():
|
||||||
)
|
)
|
||||||
|
|
||||||
# Verify that the platform supports atomic command
|
# Verify that the platform supports atomic command
|
||||||
rc, out, err = module.run_command('atomic -v', check_rc=False)
|
dummy = module.get_bin_path('atomic', required=True)
|
||||||
if rc != 0:
|
|
||||||
module.fail_json(msg="Error in running atomic command", err=err)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
core(module)
|
core(module)
|
||||||
|
|
Loading…
Reference in a new issue