I want all my Apache installation to behave the same on all OSs -- I want 
to write one logical model of how Apache should work, and all OS 
differences should just be different views of that model.

Thus, this is how my "install Apache packages" task looks like -- one task, 
one data structure, thanks to some YAML magic:

- include: install_packages.yml
  pkgs: !platform
    - apache::
        Debian: apache2
        RedHat: httpd
    - mod_authnz_external::
        Debian: libapache2-mod-authnz-external
    - python-passlib::  # needed for Ansible's htpasswd module
        Gentoo: dev-python/passlib
    - pwauth
  tags:
    - apache/setup


If I had separate include files per OS, then my list of packages would be 
duplicated in multiple files -- I mean the logical list of packages (i.e., 
"apache" + "mod_authnz_external" + "python's passlib"). If I have to add 
another mod_foobar in the future, I only have to add it to one list instead 
of having to remember to maintain multiple OS-dependent representations in 
multiple places.


On Monday, June 8, 2015 at 7:15:59 PM UTC+2, Brian Coca wrote:
>
> @Adam, 
>
> Agreed, this workaround just offsets the work of having 2 tasks to 
> having 2 data structures and is more limited than the other version, 
> this is one of the reasons why we do not recommend it, but it is 
> available if people insist going down that path. 
>
>
> -- 
> 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 ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/c138e7cc-9bac-46c4-bf75-deca40e290f0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to