HowTo: Get oVirt 3.2 All-In-One working on Fedora 18 (With fixes!)

First off, Credit where it is due.

Most of what I used to get this working came from this post: http://blog.jebpages.com/archives/up-and-running-with-ovirt-3-2-edition/ 

I just wanted to say thank you to "Jeb" in his documentation to get me started on this project. 

Lets get to the fun part! There are a few requirements, please see the below. 

Hardware Requirements: 

You will need a server with x86-64 processors with Hardware Virtualization Extensions (Most modern processors have this! Make sure to check your bios to enable virtualization extensions). 

You should have a MINIMUM of 4 gb of RAM. The more the better! This will be your most sparse resource, when your out of ram, your out of VM's. 

Software Requirements: 

oVirt is designed/developed on the fedora Linux base. This means that you will most likely have the smoothest experience using Fedora for your system. 

As of now, you can use oVirt on Fedora 18. I currently have this working in my home-lab. I installed Fedora 18 from DVD via the "minimal" install. 

Network Requirements: 

You must have a hostname that resolves properly on your network. This will most likely require a local DNS server. The main record you need to make sure is working is your PTR record (reverse dns). Without this the engine-setup tool will complain a LOT. 

Lets get started!!

Configure the Repository: 

We are going to override the local repository for oVirt as Fedora 18 only has the oVirt 3.1 engine, not yet the 3.2 engine we want! 

sudo yum localinstall http://ovirt.org/releases/ovirt-release-fedora.noarch.rpm

 
 Modify SElinux so it will not bug us when we get things working. 
 

sudo setenforce 0

 
Then modify /etc/sysconfig/selinux and change the mode to "permissive". This will allow your SElinux changes to precist after reboots. 
Install the ALL-IN-ONE plugin via repo. This will give us everything we need to get working with oVirt 3.2
 

sudo yum install ovirt-engine-setup-plugin-allinone -y

 
Once everything is complete, we have a few minor things we need to change. Without these changes we will run into problems later. These are the bug fixes I have come up with to make sure engine-setup completes successfully the first time. 
 
 1. We use IPTables rather than firewalld. This is due to an issue with the current version of engine-setup that will cause problems for us and kill the installer. Run the below to make these changes. 

 

sudo service firewalld stop

sudo systemctl disable firewalld

sudo systemctl enable iptables

sudo service iptables start

 
2. We need to make ABSOLUTE sure that the server can resolve its hostname to its IP (the real IP, not the loopback! This is very important, if you use the loopback the setup will fail) 
Locate your server's IP. 
Edit /etc/hosts
Add in the line: 123.123.123.123 YOUR.HOSTNAME.HERE
Modifiy 123.123.123.123 to the actual IP address your server has on your network. 
Modify YOUR.HOSTNAME.HERE to be the name your server will have (ex = oVirt1.example.com)
 
3. Install a few tools/deps that were missed in the main install. 
 
sudo yum install dbus dbus-devel vdsm-jsonrpc avahi avahi-devel -y
 
4. Enable a few services that aren't setup. ( This fixes a problem with us enabling the ISO NFS storage later on)

 

sudo systemctl enable rpcbind

sudo systemctl enable nfs-server

sudo systemctl enable nfs-lock

sudo systemctl enable nfs-idmap

sudo rpcbind start

sudo nfs-server start

sudo nfs-lock start

sudo nfs-idmap start

 
Now, Lets get back to the "normal" install. 
 
Run the setup scripts (engine-setup)
sudo engine-setup --config-allinone=yes 
Complete all of the questions and the install should succeed now. Make sure that when you choose what firewall to use to specify "IPTables" so we don't error out over "Firewalld". 
 
On to the admin interface! 
Once the configuration completes, it will print out the URL used to access the admin backed. 
  • Get logged in to the "Administration Panel" and click on the "Storage" Tab. 
  • Click on "ISO_DOMAIN", at the bottom middle on the new info pain, click on "Data Center". 
  • Click "Attach". Select "local_datacenter". 
  • Click OK and wait! 
 
At this point you now have the server setup and ready to go. We just need to upload an ISO to get installed on. 
 
Use something such as WINscp to connect to your sever as root. 
Navigate to: /var/lib/exports/iso/
Upload any .ISO files you want to be available to your hosts here. 
 
 Good Luck and Happy Virtualizing! You are good to go. Build some servers and have some fun!
 
 
 *NOTE: These instructions will fix the following errors. 
 
libvirtd failure:  vdsm vds WARNING Unable to load the json rpc server module. Please make sure it is installed.

Failure to install properly: Error: Host was found in a 'Failed' state. Please check engine and bootstrap installation logs. Please check log file .....

(Note: the Host was found in a 'Failed' state. Is an error with having your /etc/hosts setup wrong. See above).