Integrated Server Solution Built on Puppet and RHEL-Derivatives
Well I have a little bit of time today, so I am going to make a post. I know I have again disappointed by not updating, ever! This is the typical distracted person right? Hey, I’m going to make a blog, and never post on it. However beyond the point let’s get this going.
Today, we are faced with many issues when deploying stable Linux platforms, and it seems that there is a niche that could be filled and I suspect work has been done here before but I feel like taking my spin on it. The plan is to implement RHEL ( or it’s derivatives ) with Enterprise IPA, Puppet, Application Management (light at first), and an easy PXE boot setup using a basic Kickstart. These are the basic goals, eventually a network file system such as OpenAFS or NFS to handle roaming profiles as well as pushing applications to the machines. I am planning to break down these things into roles, that could potentially be rolled out as one machine, ( don’t do it ) or rolled out as multiple machines. The deployment of the first server and puppet repositories are going to be handled in a distributed manor with git, instead of the traditional puppet configuration of client/server with load balanced server. None of these components must be used however, as they are simply various options that will be available in the puppet modules called
The first issue at hand was obtaining a platform with working FreeIPA, which currently was unavailable and into the 6.1 release it wasn’t stable or usable by any means due to the inconsistent behavior it exhibited. Fortunately RHEL 6.2 has shipped and this has resolved this situation, and now on to the next issue.
The second problem is coming up with a structure for puppet, beyond just the normal structures everyone is used to, to make the roles clearly defined, and finding out what things are truly different between these machines for the configuration process. I also need to be concerned with error log handling from workstations, since this is something that should have easily identifiable headers to the administration email account. I may have to develop some basic graphical tools to quickly setup such a server for the non-tech savvy or just quick testing of it.
Application management, fortunately has been sorted out using a combination of puppet and wrapper scripts. So hopefully I can establish a standardize way of install Linux applications that are commercial across the network. (that’s sensible) I do believe I have covered almost every circumstance possible, including a few crazy ones as I have garnered experience from an environment that could be just as troublesome.
The boot process has been a tricky one I have thought about, and haven’t quite solved. Using the method from the shop I was at previous would involve usb/disk booting with a Kickstart already there. The best option would be something like Cobbler with PXE booting setup and the setup pointed to various Kickstart files. I will hash this out as soon as I get there…
Now to the important part, why do all this work? Well this is more me seeing if I can clean room build an effective environment with descent documentation for anyone to use. I would like to see what is possible with puppet using git, as well as test use OpenAFS in a setting other than a university that is effective. This work could potentially pan out to be an entirely unpaid effort, but it’s still an interesting investigation none the less. I am eating my own poison here, so don’t assume this is just some academic not familiar with the territory.
I will continue on once I get the images for the distribution…