On Tue, 4 Mar 2014, Michael DeHaan wrote:
This is not the question that the poster asked Dag (plays vs tasks) -
and I'm disappointed in the way you are approaching this discussion
from a position that assumes a shadow conspiracy.
Discuss a technical solution if you like but there is no need for the hyperbole.
I approached this discussion with a patch to revert to the previous
behaviour.
The discussion is NOT plays vs tasks, again you have not understood what I
said in the issue ticket (or what bcoca said). ANd there is no shadow
conspiracy, it is mostly history repeating. You have a conviction and it
does not matter what people say. Every other view is a rare use-case.
Michael, you own this project and you give the direction. It doesn't
matter what I say or what I think. And if you wonder why I am frustrated,
THAT is exactly it. You make changes without even discussing it on this
list, and this is not the first time it happened and it won't be the last.
My patch for this regression was accepted, than reverted because nobody
knows what is a bug and what is design.
Your reason for this change is that it was never documented, and therefore
there is no specification to what is the correct behaviour. My position is
that how it worked for everyone the past 2 years is how people expect it
to behave. So the easiest solution is to document the existing behaviour,
instead of changing the behaviour.
So I come back to my remark, if the majority doesn't care and this is not
a democracy, the new way is works-as-designed. Have it your way !
So yes, I don't understand why you would want to undo the speed
improvements of 1.5.0 with a (default) mandatory facts gathering at each
play. Presumably because a task can change the facts. Well, if that's your
concern, you should force a facts gathering per task (because every task
can change facts and that has also not been documented). Or instead,
leave it up to the user to decide when to gather facts, but do it at
least once. (The way it always worked since Daniel Hokka Zakrisson
(dhozac) implemented it)
With the current change there is no guarantee that all systems have facts
gathered, so if you start ansible 1.5 with a:
----
- hosts: webservers
tasks:
- action: ping
- hosts: all
gather_facts: no
tasks:
- action: ping
----
You won't have facts except for the webservers. Whereas in the past
(pre 1.5) you could simply do:
----
- hosts: webservers
tasks:
- action: ping
- hosts: all
tasks:
- action: ping
---
And all systems would eventually have facts gathered one time. So total
control of facts gathering in 1.5 makes the default case worse, either
because you have facts gathered at every play (overhead), or because you
have to be careful in order to have facts gathered for all your hosts if
you would like to avoid the overhead.
If you keep up with the existing implementation in v1.5, I am going to
recommend people to always start with:
----
- hosts: all
gather_facts: no
tasks:
- action: setup
- hosts: webservers
gather_facts: no
tasks:
- action: ping
----
Simply to ensure you have facts for each host, and then disable facts
gathering on every subsequent play to avoid the additional overhead of
running the setup module.
I know I am not going to change your mind, but I care too much to not even
try to make the case (that you seem to ignoring).
--
-- dag wieers, [email protected], http://dag.wieers.com/
-- dagit linux solutions, [email protected], http://dagit.net/
[Any errors in spelling, tact or fact are transmission errors]
--
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/alpine.LRH.2.02.1403041339050.6649%40pikachu.3ti.be.
For more options, visit https://groups.google.com/groups/opt_out.