Right, i'd suggest you have 2 dicts or lists - one for Debians and one for EL linuxes - and conditionally load them into the yum: task based on ansible_os_family.
On 7 December 2015 at 16:44, Александр Костырев <[email protected]> wrote: > Okay > I found this > https://github.com/ansible/ansible/issues/9552 > and the solution is to specify full package name in with_items > > what the hell.. it's not a solution at all > > I wanted to use some var as a package name prefix because > on Fedora and Red Hat systems > # yum install tfm-rubygem-foreman_discovery > > on on Debian and Ubuntu systems. > # apt-get install ruby-foreman-discovery > f > I'd like to write a multi-platform code. > > > On Monday, 7 December 2015 19:37:14 UTC+3, Александр Костырев wrote: >> >> Name : ansible >> Version : 1.9.2 >> >> I've got a simple play >> >> --- >> - hosts: all >> tasks: >> - name: debug >> debug: >> msg: "{{ item }}" >> with_items: >> - foreman_discovery >> - foreman_default_hostgroup >> tags: foreman-plugins-debug >> >> - name: debug install plugin >> debug: >> msg: "ruby193-rubygem-{{ item }}" >> with_items: >> - foreman_discovery >> - foreman_default_hostgroup >> tags: foreman-plugins-debug >> >> - name: install plugins >> yum: name='ruby193-rubygem-{{ item }}' state=present >> with_items: >> - foreman_discovery >> - foreman_default_hostgroup >> tags: >> - foreman-plugins-install >> - foreman-plugins-debug >> >> >> that fails >> >> PLAY [all] >> ******************************************************************** >> >> GATHERING FACTS >> *************************************************************** >> >> ok: [foreman.qa.linx.sbx.avp.ru] >> >> TASK: [debug] >> ***************************************************************** >> >> ok: [foreman.qa.linx.sbx.avp.ru] => (item=foreman_discovery) => { >> "item": "foreman_discovery", >> "msg": "foreman_discovery" >> } >> >> ok: [foreman.qa.linx.sbx.avp.ru] => (item=foreman_default_hostgroup) => { >> "item": "foreman_default_hostgroup", >> "msg": "foreman_default_hostgroup" >> } >> >> TASK: [debug install plugin] >> ************************************************** >> >> ok: [foreman.qa.linx.sbx.avp.ru] => (item=foreman_discovery) => { >> "item": "foreman_discovery", >> "msg": "ruby193-rubygem-foreman_discovery" >> } >> >> ok: [foreman.qa.linx.sbx.avp.ru] => (item=foreman_default_hostgroup) => { >> "item": "foreman_default_hostgroup", >> "msg": "ruby193-rubygem-foreman_default_hostgroup" >> } >> >> TASK: [install plugins] >> ******************************************************* >> failed: [foreman.qa.linx.sbx.avp.ru] => >> (item=foreman_discovery,foreman_default_hostgroup) => {"changed": false, >> "failed": true, "item": "foreman_discovery,foreman_default_hostgroup", >> "rc": 0, "results": >> ["ruby193-rubygem-foreman_discovery-4.0.0-1.fm1_9.el7.noarch providing >> ruby193-rubygem-foreman_discovery is already installed"]} >> msg: No Package matching 'foreman_default_hostgroup' found available, >> installed or updated >> >> FATAL: all hosts have already failed -- aborting >> >> at the same time >> >> $ yum install -q ruby193-rubygem-foreman_discovery ruby193-rubygem- >> foreman_default_hostgroup >> >> >> ========================================================================================================================================================================================================= >> Package >> Arch Version >> Repository Size >> >> ========================================================================================================================================================================================================= >> Installing: >> ruby193-rubygem-foreman_default_hostgroup >> noarch 3.0.0-1.el7 >> foreman-plugins 19 k >> ruby193-rubygem-foreman_discovery >> noarch 4.0.0-1.fm1_9.el7 >> foreman-plugins 206 k >> >> Transaction Summary >> >> ========================================================================================================================================================================================================= >> Install 2 Packages >> >> Is this ok [y/d/N]: y >> >> succeed >> >> How can I workaround this? >> >> Thanks! >> > -- > You received this message because you are subscribed to the Google Groups > "Ansible Project" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/ansible-project/69f8e2cd-b902-4237-a31d-d545edf81dcd%40googlegroups.com > <https://groups.google.com/d/msgid/ansible-project/69f8e2cd-b902-4237-a31d-d545edf81dcd%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAK5eLPR8AdfpOgkpLjzKQHTWqDrm0TvTCStL6_QoZHcCtpiX%2BA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
