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.