openSUSE Leap: Installing rsyslog with zypper module

368 views
Skip to first unread message

Johannes Kastl

unread,
May 23, 2016, 1:17:14 PM5/23/16
to ansible...@googlegroups.com
Dear all,

does the zypper module combine all calls made with with_items into on
single command like the yum module does? I guess not...

Target Host is a VM with openSUSE Leap 42.1

I want to install rsyslog, which conflicts with systemd-logger (whose
only purpose is to provide an explanation why it conflicts... ;-) ).
So the solution is to install rsyslog and uninstall systemd-logger in
on call. On the cli I would do:

sudo zypper install rsyslog -systemd-logger

I tried to do the same with the zypper module:

> zypper: name="{{ item.name }}" state="{{ item.state }}"
> with_items:
> - name: rsyslog
> state: latest
> - name: systemd-logger
> state: absent

But this shows the error I get when I try to just install rsyslog
manually.

A task calling zypper via shell works:
> shell: zypper in -y rsyslog -systemd-logger

Is this intentional? Did I miss some other way to get the package
installed without the conflict?

Johannes

signature.asc

Werner Flamme

unread,
May 30, 2016, 5:21:38 AM5/30/16
to ansible...@googlegroups.com
Johannes Kastl [23.05.2016 19:16]:
Johannes,

when I look at the Python code, I guess that it is not interpreted as
one command due to the "present" for one item and the "absent" for the
other. I think this splits the call of zypper into one "zypper in" and
one "zypper rm" call. This will fail due to the dependencies.

Can you try
- name: "-systemd-logger"
state: present
in your playbook?

Btw, internally the module uses "/usr/bin/zypper --non-interactive",
there is no need for "-y" on the command line if you use that ;)

HTH,
Werner

--


Johannes Kastl

unread,
May 30, 2016, 8:42:56 AM5/30/16
to ansible...@googlegroups.com
Hi Werner,

On 30.05.16 11:21 Werner Flamme wrote:

> when I look at the Python code, I guess that it is not interpreted as
> one command due to the "present" for one item and the "absent" for the
> other. I think this splits the call of zypper into one "zypper in" and
> one "zypper rm" call. This will fail due to the dependencies.
>
> Can you try
> - name: "-systemd-logger"
> state: present
> in your playbook?

I will try this, yes.

> Btw, internally the module uses "/usr/bin/zypper --non-interactive",
> there is no need for "-y" on the command line if you use that ;)

If you mean in the shell-task? There it is needed, otherwise the
command hangs while asking for confirmation.
Then module of course does not require any "-y" or similar.

Johannes

signature.asc

Werner Flamme

unread,
May 30, 2016, 8:49:11 AM5/30/16
to ansible...@googlegroups.com
Johannes Kastl [30.05.2016 14:42]:
The command does not ask for confirmation if you use "--non-interactive"
or its short form "-n". The syntax here is "zypper -n install", which is
different from "zypper install -n" :)

Werner

--


Reply all
Reply to author
Forward
0 new messages