You don't get it. Plugins are optional. They may or may not be wanted by user.
So I pushed to my repo the code that breaks just to illustrate want I'd like to achieve with ansible https://github.com/kostyrevaa/ansible-role-foreman We've got vars for Ubuntu https://github.com/kostyrevaa/ansible-role-foreman/blob/wip_plugins/vars/Ubuntu.yml and for RHEL https://github.com/kostyrevaa/ansible-role-foreman/blob/wip_plugins/vars/RedHat_7.yml those vars are pulled with https://github.com/kostyrevaa/ansible-role-foreman/blob/wip_plugins/tasks/main.yml#L4 and code that installs those plugins: https://github.com/kostyrevaa/ansible-role-foreman/blob/wip_plugins/tasks/plugins.yml#L21 Of course it's not gonna work for ubuntu 'cause I don't render repo files for it but it also fails for rhel with aforementioned error. Is there any workaround I could use to get what I want? Thanks! On Tuesday, 8 December 2015 00:04:19 UTC+3, Dick Davies wrote: > > 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] > <javascript:>> 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] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> 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/cfbd6e15-5e4e-46ec-aff9-2f21c4e7e442%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
