A new blog post by Ohad Levy describes in details how to provision EC2 systems using foreman. This is the latest addition to foreman allowing it provision from image instead of the network boot.
As promised in a previous post, Foreman can now manage virtual disks on oVirt. This new feature enable template-less provisioning. One can start a new VM from Blank on oVirt, add and remove disks, all from the Foreman provisioning console.
This is one more step toward the goal of offering a full-stack of automated provisioning in both bare-metal and cloud-based data centers. Supporting both image-based, and script-based provisioning.
Go ahead give it a try, it’s on Github.
In this post I will try to outline the near future we are planing for the Foreman cloud provisioning stack. Comments are welcome as this is a community driven effort and your opinion counts.
We are currently working on better integrating with Libvirt. This needs to be explained, the stack is designed to work on top of a cloud provider such as EC2, vSphere, oVirt, etc. Libvirt is a library that connects directly to a single hypervisor. The reason to support a single hypervisor is that it make sense in a development and testing environment, as well as, in tiny production environment. Managing hypervisors directly from Foreman is by no mean a cloud management replacement and is not planed to be one in the future. We are focusing on enabling a simple development cycle by adding features that we think will help both development and testing, this is why we have added the noVNC support and the Libvirt support.
Next we are adding more cloud providers. Most of them are already there because we are using fog. We have already started to test and enhance vShpere support. We will add more features to the oVirt integration such as adding and removing disks.
All that will be in Foreman in the next couple of weeks. In the longer term we will probably add more features to the EC2 integration and add OpenStack support.
When designing a cloud provisioning stack the main goals are:
- One process to create virtual machines regardless if its in your private or public cloud
- Prevent vendor lock down.
- Reuse existing resources and use existing knowledge in the organization
The Foreman-Puppet-Fog-oVirt stack is design to do just that. Here is a short description of the stack and the responsibility each component takes.
Foreman is aimed to be a Single Address For All Machines Life Cycle Management.
Foreman integrates with Puppet (and acts as web front end to it). It takes care of provisioning until the point puppet is running, allowing Puppet to do what it does best. Foreman shows you Systems Inventory and provides real time information about hosts status based on Puppet reports. It creates everything you need when adding a new machine to your network,It’s goal being automatically managing everything you would normally manage manually, this include DNS, DHCP, TFTP, Virtual Machines, PuppetCA, CMDB etc.
Puppet, an automated administrative engine for your *nix systems, performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification.
Fog provides an accessible entry point and facilitates cross service compatibility for the Cloud.
oVirt a virtual datacenter management platform
Manage and monitor hypervisors, virtual machines, storage, and network. oVirt is an open source project providing a feature-rich virtualization management system with advanced capabilities, including high availability, live migration, storage management, system scheduler, and more.
Foreman no includes an HTML5 based console for oVirt virtual machines. The new feature is very useful for debugging virtual machine deployment.
To use the new feature go to the Host show page, press the blue Console button and get this:
This is the virtual machine console. Implemented in java-script and HTML5 see NoVNC.
This post explains how to use the new cloud provisioning feature in Foreman. I assume that the reader is familiar with foreman. A later post will address stack architecture and foreman role and responsibility.
2. Click on the green ‘New Compute Resource’ button.
3. Fill in the connection details, and Done!
Now you are ready to start provisioning in your favorite cloud.
In the ‘New Host’ form you will find a new select box called ‘Provision On’, here you will find a list of all compute resources added in the previous step, EC2 regions and oVirt virtual data-centers as well as the default ‘Bare Metal’ option. When selecting a compute resource a new tab called ‘Virtual Machine’ is displayed.
In the ‘Virtual Machine’ tab for oVirt, you will find:
- Cluster – The hypervisor cluster that will host the vm.
- Template – A list of oVirt templates, similar to the EC2 hardware profile. If no template is displayed, except for blank, you can create them in oVirt.
- Machine details such as CPU cores, Memory size and Network interfaces.
After provisioning on oVirt a new button is available in the ‘Host Show’ page, in the actions toolbar, ‘PowerOn’ and ‘PowerOff’.