Can't take any credit, I'm just a very content user is all. Good luck with
your PR.


On Fri, Aug 1, 2014 at 5:00 PM, Ned McClain <[email protected]> wrote:

> Michael, Stephen,
>
> I appreciate you taking the time to respond to this old thread, and for
> your thoughts, and for all your hard work on Ansible.
>
> I will work on a PR for this.
>
> Ned.
>
> On Thursday, July 31, 2014 5:53:02 PM UTC-6, Michael DeHaan wrote:
>
>> I'm open to making set_fact work with with_items (pull request welcome).
>>
>> not having tested it recently - I'm actually surprised it didn't :)
>>
>>
>>
>> On Thu, Jul 31, 2014 at 7:02 PM, Stephen Gargan <[email protected]>
>> wrote:
>>
>>> Ned,
>>>
>>> There are better patterns for sharing data that what I'd originally
>>> suggested. As your system grows this approach gets untenable. If you need
>>> to share data variable files are a far more flexible solution.
>>>
>>> As Michael says, if you post another thread explaining of what you're
>>> trying to we'll gladly help you out.
>>>
>>> Thanks,
>>>
>>> Steve.
>>>
>>>
>>> On Thu, Jul 31, 2014 at 11:41 PM, Michael DeHaan <[email protected]>
>>> wrote:
>>>
>>>> So that's a very old thread you've replied to, can you paste an example
>>>> of what you are wishing to do?
>>>>
>>>>
>>>>
>>>>
>>>> On Wed, Jul 30, 2014 at 8:51 PM, Ned McClain <[email protected]>
>>>> wrote:
>>>>
>>>>> Stephen,
>>>>>
>>>>> I also desperately need a set_facts that works with with_items.  Have
>>>>> you had any response to these excellent use-case examples?
>>>>>
>>>>> Ned.
>>>>>
>>>>>
>>>>> On Monday, November 11, 2013 11:14:41 AM UTC-7, Stephen Gargan wrote:
>>>>>>
>>>>>> Michael,
>>>>>>
>>>>>> I've put together an implementation for an add_facts command a couple
>>>>>> of examples that show what it might be useful for here
>>>>>> https://github.com/sgargan/ansible-add-facts-examples. I think it
>>>>>> explains the intention of the command a little better and gives a 
>>>>>> concrete
>>>>>> example of the pattern I was attempting to explain above. I'm interested 
>>>>>> to
>>>>>> hear what your thoughts are.
>>>>>>
>>>>>> thanks,
>>>>>>
>>>>>> Steve.
>>>>>>
>>>>>> On Wednesday, 6 November 2013 22:48:22 UTC-8, Stephen Gargan wrote:
>>>>>>>
>>>>>>> I've a pattern that I want to apply and I'm wondering what the best
>>>>>>> practice might be for this. I have a situation where I apply a number of
>>>>>>> roles to a host and each have a number of facts or variables that I'd 
>>>>>>> like
>>>>>>> to use in a final role, typically to generate a unified config for the 
>>>>>>> host.
>>>>>>>
>>>>>>> Say I'm applying a number of roles say a, b, c that are all
>>>>>>> distinct, but each exposes a set of metrics in a uniform way. As each 
>>>>>>> gets
>>>>>>> played, I'd like to add facts about the metrics for the role in such a 
>>>>>>> way
>>>>>>> that I can iterate over them in a final role d to generate some 
>>>>>>> aggregate
>>>>>>> config to expose all the metrics.
>>>>>>>
>>>>>>> I have a number of situations that I'd like to apply this pattern so
>>>>>>> if there is a standard way to do this I'd love to hear it.
>>>>>>>
>>>>>>> If not, I have been mulling over extending the set_fact module to
>>>>>>> allow something like the following
>>>>>>> Say each role could add a dictionary of values to an aggregate
>>>>>>> collection, aggregated_facts, so that in d I could do
>>>>>>>
>>>>>>> {% for addedFactsForRole in aggregated_facts %}
>>>>>>> // processing facts for key addedFactsForRole.key
>>>>>>>  {% for addedFact in addedFactsForRole.facts %}
>>>>>>> // process addedFact.name
>>>>>>> // process addedFact.value
>>>>>>>  {% endfor %}
>>>>>>> {% endfor %}
>>>>>>>
>>>>>>> I have used group variables to do something similar, but this tends
>>>>>>> to get crufty as it means replicating the data in every site that I use 
>>>>>>> the
>>>>>>> role and I like to be able to have very generic roles that I can reuse 
>>>>>>> in
>>>>>>> different sites. If the list could dynamically built like this it would 
>>>>>>> be
>>>>>>> arguably more cohesive as now I could define all of the data for the 
>>>>>>> role,
>>>>>>> within the role, and still have the ability to override it at the site
>>>>>>> level with group vars.
>>>>>>>
>>>>>>> I'm thinking the task definition might look something like this.
>>>>>>>
>>>>>>>   name: Add metrics to metrics aggregate
>>>>>>>   add_fact: group=host_metrics key=$role_key fact=$item
>>>>>>>   with_items: $list_of_metrics
>>>>>>>
>>>>>>> In the case above the list_of_metrics could be a list of single
>>>>>>> entries or a list of json blobs. I don't want to go re-inventing the 
>>>>>>> wheel,
>>>>>>> this seems like a common enough scenario so I'm very curious how folks
>>>>>>> tackle it, before I go about putting this together.
>>>>>>>
>>>>>>> Thanks in advance,
>>>>>>>
>>>>>>> Steve.
>>>>>>>
>>>>>>  --
>>>>> 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/d6bd87d4-d208-4890-9ff1-
>>>>> e17d81778e6f%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/ansible-project/d6bd87d4-d208-4890-9ff1-e17d81778e6f%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 a topic in the
>>>> Google Groups "Ansible Project" group.
>>>> To unsubscribe from this topic, visit https://groups.google.com/d/
>>>> topic/ansible-project/ObxLwj_egEI/unsubscribe.
>>>> To unsubscribe from this group and all its topics, 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/CA%2BnsWgxadOn-kkLwu6Fsr3SbER6bPAHeaeQgvqUsy9
>>>> QygA3M2A%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgxadOn-kkLwu6Fsr3SbER6bPAHeaeQgvqUsy9QygA3M2A%40mail.gmail.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/CAPe9%3DrDZnoOL-UeD7ejcBY22uw%
>>> 2BqJRpZkGzxAWJCsZUe_KygrQ%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/ansible-project/CAPe9%3DrDZnoOL-UeD7ejcBY22uw%2BqJRpZkGzxAWJCsZUe_KygrQ%40mail.gmail.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 a topic in the
> Google Groups "Ansible Project" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/ansible-project/ObxLwj_egEI/unsubscribe.
> To unsubscribe from this group and all its topics, 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/a764ab4a-7884-4a7b-845b-95218aa85481%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/a764ab4a-7884-4a7b-845b-95218aa85481%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/CAPe9%3DrAtNOZpy3o8g46fW3jHP7j31kBO1as_vRMQXJZvXb_PcA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to