After a bunch of reading and trial, I think I need opinions on this. The goal is to have a default provisioning tool for the STH lab. When we had 5-10 nodes in there, many of them running fairly static tasks, it was not a big deal. At this point I think we have upwards of 30 nodes so the time and need for a better solution is here.
Bare metal provisioning is an absolute must and is really the primary need here. I also think being able to install Ubuntu, Debian, RHEL, CentOS and Windows Server should be on the list as a requirement. If something had the ability to create IPMI users (Operator level maybe?) and give those login credentials out that would be even better.
My eventual goal is to take all this really cool hardware we get an have an easy system to get sets of hardware ready for STH reviews, STH guides and eventually do a service where we let folks log on some really cool machines and run their workloads on them. I do also want to be able to provision nodes then have them be used for folks to do how-to guides on (e.g. here is how to do a Kubernetes cluster, Hyper-V server 2016 cluster and etc.)
A harder point is that the STH budget is extremely tight right now and I only get 1-2 hours to work on this at a time with those work sessions sometimes separated by days. I also do want to make whatever gets done here into a how-to series.
Options I have been thinking about:
MAAS in the STH lab:
The fact that Xeon D node had a non-empty disk meant that the Ubuntu OpenStack installer went into a loop of unhappiness:
Any thoughts/ advice would be greatly appreciated as I am starting to feel the pain and do not have a ton of time (I am aware that no time, low budget, and no clue is a bad combination.)
Bare metal provisioning is an absolute must and is really the primary need here. I also think being able to install Ubuntu, Debian, RHEL, CentOS and Windows Server should be on the list as a requirement. If something had the ability to create IPMI users (Operator level maybe?) and give those login credentials out that would be even better.
My eventual goal is to take all this really cool hardware we get an have an easy system to get sets of hardware ready for STH reviews, STH guides and eventually do a service where we let folks log on some really cool machines and run their workloads on them. I do also want to be able to provision nodes then have them be used for folks to do how-to guides on (e.g. here is how to do a Kubernetes cluster, Hyper-V server 2016 cluster and etc.)
A harder point is that the STH budget is extremely tight right now and I only get 1-2 hours to work on this at a time with those work sessions sometimes separated by days. I also do want to make whatever gets done here into a how-to series.
Options I have been thinking about:
- MAAS - I think I have to re-do (e.g. wipe) everything to start using this in the STH lab. It seems like the OpenStack installer always picks a node that fails, causing a compile re-do every time it runs.
- Foreman - it seems like there is a good community behind this one
- Puppet - This is a possibility I am looking at fairly strongly as it is well supported
- RedHat Satellite - This is a strong possibility but it does move me back to learning RedHat v. sticking with Ubuntu/ Debian.
- Razor - seems like support for this one is waning but maybe in conjunction with Puppet
- CloneZilla + PXE boot - simple yet not really the level of provisioning I want
- RedHat SpaceWalk - I looked at this, and am just less excited about it although it does support most of the OSes we need.
MAAS in the STH lab:
- I do like the fact that it is Ubuntu based. I do a lot with Ubuntu
- I also like the fact you can tell MAAS to erase nodes upon release. This should be a requirement of mine.
- Does not support the Xeon D X552/ X557 onboard NIC using the out of box 14.04 commissioning OS. For nodes that have 1GbE, this is not really an issue. For nodes with 10GbE only, this can be challenging.
- I like having pfSense manage DHCP. That solution works well since I am using pfSense for the VPN gateway. Assume there will always be some amount of hardware that I cannot auto-provision.
- Launchpad is only free for 10 machines and starts to get too costly too quickly
- I am a little bit annoyed at how fragile the Ubuntu OpenStack install is, and how much it assumes 100% fresh/ new hardware. E.g. this killed my last OpenStack install:
Code:
BLKRRPART: Device or resource busy
failed to partition /dev/sda [
Disk /dev/sda: 24321 cylinders, 255 heads, 63 sectors/track
sfdisk: ERROR: sector 0 does not have an msdos signature
/dev/sda: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System
/dev/sda1 * 2048 390721934 390719887 83 Linux
/dev/sda2 0 - 0 0 Empty
/dev/sda3 0 - 0 0 Empty
/dev/sda4 0 - 0 0 Empty
Successfully wrote the new partition table
Code:
patrick@maas01:~$ sudo openstack-install -u
Warning:
This will uninstall OpenStack and make a best effort to return the system back to its original state.
Proceed? [y/N] y
Restoring system to last known state.
Ubuntu Openstack Installer Uninstalling ...Could not determine install type, was /home/sthroot/.cloud-install removed prior to running the uninstallation?
patrick@maas01:~$ sudo openstack-install
Error:
Previous installation detected. Did you mean to run openstack-status instead?
If attempting to re-install please run $ sudo openstack-install -u
patrick@maas01:~$ sudo openstack-install -u
Warning:
This will uninstall OpenStack and make a best effort to return the system back to its original state.
Proceed? [y/N] y
Restoring system to last known state.
Ubuntu Openstack Installer Uninstalling ...Could not determine install type, was /home/sthroot/.cloud-install removed prior to running the uninstallation?
patrick@maas01:~$