How to manage your Oracle VM setup with Puppet
Oracle is very strict when it comes to using their software on virtualization software. If you want to license only part of your VM setup, the only option available is to use Oracle VM. But setting up and managing an Oracle VM farm is no sinecure. Fortunately using our new
ovm_config
Puppet module, the process of setting up, adding and removing VM’s and another setup, has become very easy.
How to get started
To help you to get started, we have created a setup based on Vagrant. This is how the network setup is going to look like.
We have created a GitHub repository with a simple example setup. It contains one VM server an NFS based storage setup and a single VM. In this blog post, we are going to use this repository.
Go to your preferred working directory and enter:
$ git clone git@github.com:enterprisemodules/simple_ovm_demo.git
This will create a local copy.
The tools of trade
This example is designed, so you run on your own Workstation running Vagrant and VirtualBox. So to get started, you’ll need Vagrant and VirtualBox. You can find the information on how to install VirtualBox here at the VirtualBox website. To install Vagrant, go to the vagrant downloads page, and download the package for your platform. Then install it using standard procedures for your operating system. Because we only use Puppet inside the virtual machine, you don’t need to install Puppet on our workstation.
Required software
The examples repository doesn’t contain any of the required Oracle software. You will have to go to the Oracle site and download it yourself.
In the README, you can find a list of the software needed when you want to run the boxes.
Setting up the Oracle VM server
The first thing to do is to get the Oracle VM server running. Unfortunately, we cannot do this with vagrant
. SO we have to create the system manually. First, open VirtualBox
and then create a new VM.
Select about 16G of memory to run. When selecting the storage, make sure the V952527-01.iso
is selected as the file for the first CDROM.
Now you can start the VM, and it will start to install the Oracle VM server software.
Because we want to work towards a whole setup with the Puppetized Oracle VM Manager, it is important to use the correct network setup.
So when the installations ask for the IP setup, make sure you use the correct IP address and the network mask. Same goes for the gateway setup.
And the DNS setup.
When the installations askes for the password, use the password Password123
. When you use another password, make sure the Puppet code we are going to use later, is also updated with the correct password.
After a reboot, the console should look like this.
Now we are almost ready to start Puppet. There is one more thing left to do. Because this VM setup has no shared DNS, we must make sure the OVM server knows about its own name. To do so, log into the system as root, and edit the `/etc/hosts’ file to look like this:
192.168.56.2 ovs01.example.com ovs01
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Now the manual labor is done and we can start using some Puppet.
Masterless Puppet
Most of our clients use Puppet Enterprise, and of course, our modules work with the newest version of Puppet Enterprise. But to focus on the Oracle VM installation and configuration, this example contains a Puppet masterless setup. A setup you can easily run on any PC or laptop.
Starting the NFS server
Oracle VM needs storage to store the VM files and maybe some ISO’s. In this setup, we are using an NFS server. Before we start the Oracle VM manager, we first start the NS server.
$ vagrant up ml-nfs01
VirtualBox allows multiple network adapters with different interconnects. To make sure all systems in our setup can talk to each other, we must make sure that the network adapter of the Oracle VM server is on the same network as the second adapter of the NFS server and the second adapter of the Oracle VM Manager.
You can do this by opening the network settings for the NFS server and check on which network the adapter is connected and make sure all VM’s use the same network.
Starting the Oracle VM Manager
Now all the peripheral systems are up and running and we can get to the real stuff. Now we can start the ovmmgr
system and let Puppet do the installation of the Oracle VM manager software and configure the system.
$ vagrant up ml-ovmmgr
Conclusion
We hope this article helps you to get a glimpse of what you can do with Puppet and Oracle VM Manager. There is a lot more though. If you are interested, contact us so we can discuss how you can use these puppet modules to speed up your Oracle VM provisioning and deployment. In the next blog post we are going to look at some of the Puppet code to help you understand what is happening and how you can use it to develop Puppet code for your environments.