it would help to see the error, I'm going to guess you need a when: on
the last task that skips the 'skipped' items., also you should not
need to sudo in shell.

On Wed, Sep 2, 2015 at 3:04 PM, Samnang Sen <[email protected]> wrote:
> I store the modules I need to deploy within Consul. It consist of both Perl
> and PHP modules so on our web servers I only want to install the modules
> associated with PHP. The following playbook works as long as there are TWO
> matching modules. In my test case I have two keys with one of them being a
> key related to PHP deploys. The error I get is:
>
> fatal: [127.0.0.1] => with_items expects a list or a set
>
> FATAL: all hosts have already failed -- aborting
>
> If I remove the "when" clause and only have one key within Consul, it also
> works. How do I get around the error if I'm using a "when" clause and all
> that remainds within "deploy_list_result" is just one item?
>
> ## PLAYBOOK ##
>
>   - consul_kv: host=indeploy001 action=get key=deploylist/{{ jira_ticket }}
> keys=True
>     register: modules_to_deploy
>
>   - name: set fact
>     set_fact: deploy_list="{{ item | replace("deploylist/" + jira_ticket +
> "/",'') }}-{{ lookup('consul_kv',item) }}"
>     when: "'{{ item | replace('deploylist/' + jira_ticket + '/','') }}' in
> php_modules"
>     with_items: '{{ modules_to_deploy.value }}'
>     register: deploy_list_result
>
>   - shell: sudo rpm -Uvh {{ rpm_repo }}/aria-{{ item }}.rpm --force --test
>     with_items: "{{ deploy_list_result.results |
> map(attribute='ansible_facts.deploy_list') | sort }}"
>     register: php_command_result
>
> --
> 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/7f307ebe-2c47-469c-9724-46c30c7e5a42%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



-- 
Brian Coca

-- 
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/CAJ5XC8kiuDY7YyuFSTBJyQ%2BukpO9chdXn8kZL2dbALj0jJCExQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to