Not transferring the setup file

There is no need for the setup file (/etc/ansible/setup) (other than those who have found use for it) to be transferred to remote hosts, if we remove the ability for the /usr/bin/ansible command line to call the template module, and make templates only available in playbooks. Templates in playbooks already happen entirely server side.

(A) How many people are currently running templates with /usr/bin/ansible, or (B) making some use of the metadata file?

I am very inclined to remove it because then it removes a whole class of permission logic problems, path calculation code, and tons more, plus means not transferring variables about a server’s configuration to the server when they are not needed.

You would still be able to run the setup module with /usr/bin/ansible to see what data it would return (analogous to running ohai or facter locally with Puppet/Chef, but here we would be running it remotely).

I guess I’m not really asking, more so “fair warning”, and wanting to understand what kinds of use cases we might be breaking, if any, so we can tell folks how to supplant them.

To me, if you are expressing the state of remote config files, what you express should really be in version control, and should be tracked, so the idea of executing the template module with arbitrary variables seems to be a thing you usually don’t want to do anyway.

–Michael

(A) How many people are currently running templates with /usr/bin/ansible

I do, occasionally, but I could live without `/usr/bin/ansible .. -m template'

(B) making some use of the metadata file?

I do:

1) It's a great debugging tool to see which variables arrive node-side
2) I "fetch" them back for inventory purposes.

You would still be able to run the setup module with /usr/bin/ansible
to see what data it would return

I could live with that provided it returns JSON similar to the way the
`setup' file currently looks and that I can store that some place on a
per/node basis.

        -JP

(A) How many people are currently running templates with /usr/bin/ansible

I do, occasionally, but I could live without `/usr/bin/ansible … -m template’

(B) making some use of the metadata file?

I do:

  1. It’s a great debugging tool to see which variables arrive node-side

(See comment below)

  1. I “fetch” them back for inventory purposes.

(This could be replaced with the method below using the ansible CLI option --tree)

You would still be able to run the setup module with /usr/bin/ansible
to see what data it would return

I could live with that provided it returns JSON similar to the way the
`setup’ file currently looks and that I can store that some place on a
per/node basis.

Yep, in fact if you run the setup module via /usr/bin/ansible now it returns JSON like this already, and prints it.

Remember that removing more code will not be favorable to Ansible's perceived value on ohloh.net :wink:

Really like that idea!