All the associations between data is VERY confusing - I can't be the only one who thinks this

In trying to setup our Foreman one of the things that keeps bugging me is all the associations between different things.


Locations can have all of these associations:

  • Users (or ALL)
  • Smart Proxies (or ALL)
  • Subnets (or ALL)
  • Media (or ALL)
  • Templates (or ALL)
  • Partition Tables (or ALL)
  • Domains (or ALL)
  • Environments (or ALL)
  • Host Groups (or ALL)
  • Organizations (Individual, NO ALL)

But at the same time:

Host Groups can be associated to:

  • Locations
  • Organizations

And Subnets to:

  • Domains
  • Locations
  • Organizations

And Domains to:

  • Locations
  • Organizations

What is the strategy to use for all these things? It seems like it would a support nightmare if you had to touch every domain, every subnet, every host group, every operating system, etc if you add a new location, and have to touch every location, every subnet if you add domain, etc.

Does everything have to be associated with everything?

I’m fairly new to Foreman. I’ve had a bit of a crash course in the last couple of weeks and I certainly don’t have all the answers. I was wondering about all of the spaghetti associations also, but here is where some of them come in.

I work at a company with multiple data centers, and now in a data center we have multiple availability zones. So the associations seem crazy but in one of our DCs, we have separate subnets in each AZ, therefore we would only associate certain Subnets to certain Locations.

Same thing if you have different OSs or versions of OSs for different groups in your organization. You can create different Orgs and only associate certain host groups per Org.

It’s confusing, but very flexible.

Not only is it confusing, but logical things like assigning all domains and subnets to an org or location, doesn’t result in those resources becoming available to hosts being built in that org or location, you have to make a mapping in the subnet or domain to the org or location for it to work.