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.

Reply via email to