New user here trying to figure out the best way to convert our current 
server provisioning system to Ansible.  Our system uses approx. 5 different 
attributes to provision each server and we have about 1,000 servers.  I'm 
wondering whether we could get by by using Ansible's built-in mechanism for 
support "groups" and variables in "group_vars".  That would certainly be 
the easiest way...just not sure it would scale well at all.

I'm estimating about 100 different "groups" based on all combinations of 
these attributes.  For example, assuming we have about 40 different groups 
corresponding to playbooks (webserver, dbserver, appclient), 40 different 
"projects" (managing root passwords and access), 8 different "locations" 
(managing things like ntp server settings).

Is anyone out there doing something like this?  My worries are:

- Scalability.  Can Ansible handle this?  What about 10k servers?  The 
inventory script will contain roughly 100 different groups, totaling about 
5,000 server entries (1k servers * 5 groups)
- Maintainability.  The group_vars directory will probably contain 100+ 
files.  The all.yaml file itself will probably be hundreds of lines long.  
- Managing group conflict.  What happens when someone puts the "ntp_server" 
setting, which is supposed to be in a site-specific yaml file, is put 
inside one of the project-specific yaml files?   According to the 
documentation, the last file alphabetically gets precedence.  That's really 
not acceptable, but I don't know another way to do it.

Summary: looking for people with real-world Ansible experience who may be 
dealing with a similar setup.

-- 
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/c170a973-b37d-4bf0-be06-a8fd024a8954%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to