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.

Reply via email to