While pondering with colleagues about what to do with Set tftp kernel/initrd path depending on installation media (we found a solution in the mean time), I am wondering whether this foreman installation is using Operating Systems and Installation Media correctly.
The Foreman manual is a bit vague about this and leaves the following interpretations:
(1) 1:1 relationship between OS and IM
This is what most sites I have seen using foreman do: Have only a single set of IM per OS. The trivial case, willl obviously work.
(2) use IM to minimize cross-datacenter network traffic
In this use case, one has multiple IMs per OS, with all IMs having the same content but being located at different places (read: “mirror”). This is the version I, after thinking about it, believe to be the indended use. With this setup, one can force installations to always use the most local mirror (by only allowing these with the IM). This also explains why IMs can be restricted to some locations and Operating Systems can’t.
(3) use IM for OS staging
This is what my current customer does (and has always been doing): They do snapshots of the OS repository, have one IM per stage inside a single OS, and advance the code through the stages by renaming snapshots on the repository server. This breaks horribly for installation when different snapshots require different sets of initrd/kernel combo since the latter is selected inside the PXELinux template and is associated by default with the OS, not with the IM.
Since the manual is vague and could use improvement, I would like to file a documentation issue, but not without asking for your input since I might be missing something here. What is the intended use case, what are typical use cases, and what are impractical use cases for having more than one IM for an OS?
I would appreciate your input.