When using an OpenSUSE transactional server, transactional-update must be used instead of Zypper. Is there any way of doing this with Ansible?

  • You also need to consider, that all changes in /etc/ must be applied differently, i.e. in transactional-update run (or shell) and you don't have access to all locations from there, e.g. /home, where ansible usually stores temporary data.
    – sebix
    Aug 7, 2021 at 11:44

1 Answer 1


I think currently the only way is to use the command (or shell) module, as there's no native support for transactional-updates in Ansible yet. However, there's a fresh feature request issue: https://github.com/ansible-collections/community.general/issues/3159

For example:

- name: install a package with transactional-update
  ansible.builtin.command:  transactional-update --continue pkg install man

Multiple package names can be added. The parameter --continue is important, as otherwise only the last call to transactional-update will get effective.

Another downside is, that a reboot is required, which can be triggered from Ansible, but that kills the Ansible run....

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.