Intro:
ManageIQ is commonly leveraged by customers for provisioning. We have a few concepts in common with The Foreman (i.e. ERB customization templates), however we go much deeper into the pre-provision, post-provision and user friendliness of the task. We also offer service provisioning which can wrap several OS installations. The Foreman offers much more flexibility of the installation using partials to dynamically generate a kickstart based on multiple templates. They also offer the ability to customize the OS after the provision job is complete using puppet to manage the desired state. We should focus on the strong points of each project and enhance each as necessary to provide a better provisioning experience to the end user. After doing some research I have put together some thoughts on integrating with The Foreman.
Stages:
First: Collect inventory and Map Foreman objects to ManageIQ objects.
Second: Offload ManageIQ host provisioning (bare metal)
Third: Offload ManageIQ provisioning via ISO and PXE
Future:
- Add support for managing which puppet scripts are applied to the Host / VM
- Integrate Puppet scripts and report results with ManageIQ’s control to get event driven compliance?
Inventory Challenges:
-
Where to store data about The Foreman (and other management tools
like IPAM in the future) in ManageIQ? -
Traditionally the ExtManagementSystem has been Virtualization providers, but this
sounds like another type of EMS which would require dropping a new
subclass between ExtManagementSystem and its children (maybe EmsVirt)
to keep it separate from things like EmsForeman -
The Foreman refers to
all machines as a Host, ManageIQ tracks Hosts and VMs/Instances in
different tables, we need to map these objects to each other- Need a
new class for Foreman Hosts (needs a name) that can then belong_to a
Host or Vm
- Need a
Provisioning Challenges:
Enabling multi-select of customization templates in the UI When using Foreman as a provisioning type