From Wikipedia, the free encyclopedia Virtualization management web application software (ovirt) ovirt is free platform virtualization management web application software developed by Red Hat. ovirt is built on libvirt which allows it to manage virtual machines hosted on any supported backend, including KVM, Xen and VirtualBox. ovirt can handle multiple hosts. It communicates with its host servers through HTTP with XML- RPC.oVirt is able to handle storage solutions such as NFS, iscsi and local storage. The ovirt project is an open virtualization project providing a feature-rich server virtualization management system with advanced capabilities for hosts and guests, including high availability, live migration, storage management, system scheduler and more. About the ovirt Project The ovirt project today announced that Canonical, Cisco, IBM, Intel, NetApp, Red Hat and SUSE have joined together to help create a new open source community for the development of open virtualization platforms, including virtual management tools to manage the Kernel-based Virtual Machine (KVM) hypervisor. With the ovirt project, the industry gains an open source, openly governed virtualization stack. The ovirt project was formed to deliver and establish a development community around an integrated virtualization platform that offers advanced virtualization management capabilities for hosts and guests, including high availability, live migration, storage management, system scheduler and more. With this project, Red Hat has open sourced its Red Hat Enterprise Virtualization management technology. The project combines the Red Hat Enterprise
Virtualization management technology code with established open technologies, including KVM, the ovirt node for running virtual machines and virtualization tools such as libvirt and v2v. ovirt aims to deliver both a cohesive stack and discretely reusable components for open virtualization management, and to improve key building blocks for private and public cloud deployments. The ovirt project comes on the heels of the formation of the Open Virtualization Alliance in May 2011 to foster the adoption of KVM as an open virtualization alternative. The Open Virtualization Alliance has achieved significant global interest and momentum with membership numbers growing over 20-fold in its first several months of practice. To drive the establishment of an active community around ovirt, the project board leaders held an open community project launch and workshop November 1-3, 2011, in San Jose, Calif. on the Cisco campus to officially kick off the project and community. Sessions at the workshop covered technical sub-projects, governance, how to get involved, usage and more. Full source code for the open management system was also launched during the event. Mark Baker, server product manager at Canonical comments, It is important for us to be involved in the ovirt project, which enables users to more easily deploy virtualized solutions using open source software. Having a robust management stack around KVM is key to enabling organizations to use open source virtualization solutions in their datacenters. Increasing the number of enterprise-class virtualization solutions available can only be a good thing for the industry. NetApp views the ecosystem of solutions around KVM to be important to our customers and to the industry, said Jon Benedict, reference architect, VMware Engineering at NetApp. Our participation as a strategic member of ovirt.org demonstrates our commitment to open source, industry cooperation and leadership in storage for virtualized environments. The establishment of the ovirt project as an open source community around virtualization management technology and open virtualization management for KVM as a whole will help drive innovation and the evolution of open virtualization alternatives, said Carl Trieloff, technical director at Red Hat. This is another proof point in Red Hat s commitment to the open source community and open development model. The kickoff workshop in November was oversubscribed, showing the interest in open virtualization alternatives.
Building ovirt engine Introduction Follow these instructions to successfully build the ovirt Engine project. Installation and configuration of all required tools to complete the build is also covered. For instructions on obtaining and building VDSM, the package required to turn existing systems into ovirt Nodes, see Vdsm Developers. #> at the beginning of the command stands for execution as root. $> at the beginning of the command stands for execution as user. Prerequisites 1. Linux based operating system with support for OpenJDK 1.6.0, Maven 2, and PostgreSQL 8.4.8 (or higher). 2. An Internet connection. Installing Build Tools 1. Installing OpenJDK The supported Java development and runtime environments for the ovirt-engine project are provied by OpenJDK 1.6.0. Install the java-1.6.0-openjdk-devel package to obtain OpenJDK 1.6.0: #> yum install -y java-1.6.0-openjdk-devel
2. Installing git The ovirt-engine source code is stored in a GIT repository. As such GIT is required to obtain the latest source code. #> yum install -y git 3. Installing maven2 ovirt engine is using maven version 2.2.x, maven 3.x will not work. #> yum install -y maven2 4. Maven personal settings Create your ~/.m2/ directory $> mkdir ~/.m2 Use wget -O ~/.m2/settings.xml http://www.ovirt.org/w/images/1/18/settings.xml.png Or copy & paste the content of the file below into ~/.m2/settings.xml <settings xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!--**************************** PROFILES ****************************--> <activeprofiles> <activeprofile>ovirtenvsettings</activeprofile> </activeprofiles> <profiles> <profile> <id>ovirtenvsettings</id> <properties> <jbosshome>/usr/local/jboss-as-7.1.0.beta1b</jbosshome> <JAVA_1_6_HOME>/usr/lib/jvm/java-1.6.0- openjdk.x86_64</java_1_6_home>
<forktests>always</forktests> </properties> </profile> </profiles> </settings> Do not omit the active-profiles element in the above xml, it is crucial. 5. Installing JBoss AS Automatically (From RPMs) First, add the third part repository as a source for software: #> wget -P /etc/yum.repos.d/ http://ranglust.fedorapeople.org/ovirt-engine-jbossas/ovirtengine-jbossas.repo Then install the ovirt-engine-jbossas package: #> yum install ovirt-engine-jbossas Finally, check that the installed service runs: #> service jboss start #> ps ax grep java 6. Installing PostgreSQL #> yum install -y postgresql-server postgresql-contrib pgadmin3
Building ovirt-engine from source Clone ovirt-engine codebase Choose a directory where you want to keep ovirt sources and 'cd' to it. Use git to clone the ovirt-engine repository into the current working directory, $> git clone git://gerrit.ovirt.org/ovirt-engine For further instructions let $OVIRT_HOME be <your_chosen_source_location>/ovirt-engine Creating the database Change into your git repository. $> cd $OVIRT_HOME/backend/manager/dbscripts Then run the following command, as root, to create the database. #>./create_db_devel.sh -u postgres On some installations you will receive an error message about uuid-ossp.sql not being found. This is an open issue. https://bugzilla.redhat.com/750626 To work around the issue, edit the file $OVIRT_HOME/backend/manager/dbscripts_postgres/create_db.sh and change the references to uuid-ossp.sql to point to the right location. Build Note that on most modern distributions the 'mvn' binary refers to Maven 3, to use Maven 2 you must use mvn2. If in doubt run 'mvn --version' and/or 'mvn2 --version' to confirm the version of Maven in use. If you only want to build virt-engine-core and REST API then: $> cd $OVIRT_HOME $> mvn2 clean install For compiling the web-admin and user-portal in addition to the api and engine use: $> cd $OVIRT_HOME
$> mvn2 clean install -Pgwt-admin,gwt-user Notes: 1. Compiling the webadmin and userportal takes (a long) time, please visit GWT Compilation Configuration if you want to speed the web compilation process during development time 2. Make sure to run this with your user, not 'root', running as root will result in a missing settings.xml file in the 'root' home directory. 3. To skip the execution of the unit tests and only compile and package ovirt, add the option: -DskipTests=true to the mvn2 build command 4. You can reduce the build time and memory consumption - look at the temp section at the end. 5. If you receive "java.lang.outofmemoryerror: PermGen space" error, use the MAVEN_OPTS environment variable to set a higher heap and permanent generation stack size, then try again: $> export MAVEN_OPTS="-XX:MaxPermSize=128m" Deploy The first deployment of the application to JBoss AS container should use the setup profile: $> cd $OVIRT_HOME/ear $> mvn2 clean install -Pdep,setup There is a issue with the dep and setup_postgres profiles getting in the way of each other. the setup_postgres profile will prevent the deployment of the quartz jar to the JBoss server. So after this step completes, run: $> cd $OVIRT_HOME/ear $> mvn2 clean install -Pdep
From this point on, every time you deploy you can simply run: $> cd $OVIRT_HOME/ear $> mvn2 clean install -Pdep Since postgres is already set up. Testing Assuming JBoss is not running, it should be started: $> /usr/local/jboss-as-7.1.0.beta1b/bin/standalone.sh Use username admin@internal and password letmein! Accessing the RESTful API: wget -O - --debug --auth-no-challenge --http-user=admin@internal --http-password='letmein!' head='accept: application/xml' http://<server name>:<port>/api/ (by default, the port is 8080). or from the browser http://<server name>:<port>/api Accessing the web-admin: http://<server name>:<port>/webadmin Accessing the user-portal http://<server name>:<port>/userportal
Quick Start This section is intended for users who wish to start using ovirt quickly. While it is recommended thatyou read the entire document, this section briefly describes how to apply ovirt's functionality to typicalvirtualization tasks. This section provides examples of how you can use ovirt to set up a number ofnodes and how to set up a team environment. Note: It is assumed that you have ovirt installed and setup as described in the Installationguide, or on the website. A Sample Scenario ovirt enables a development team to access hardware, storage and virtual machines for a new projectin a quick, efficient and balanced way. A development team requires hardware resources, storage anda number of virtual machines to proceed with their project. In this exercise, the hardware administratorsets up the hardware resources, the team administrator assigns user permissions, and the developerscan define, start or stop the VMs.The scenario is as follows, given physical hosts and adequate networked storage: Create a hardware pool for a team. In the hardware pool, make a set of Virtual machines with appropriate resource allocations andlimits for three developers working on a project. Assign the developers appropriate permissions to use and manage their VMs. 2.1. Add Hosts to a Hardware Pool A hardware pool consists of fake or hardware ovirt nodes. Nodes are automatically added to thehardware pool when they first bootup. If your nodes have not yet been booted up, from a commandshell, if you are on a development version run: # virsh start node3 on your host machine to start your first fake ovirt node. If you are using a production version, withphysical machines, boot up your first piece of physical hardware, and make sure it PXE boots as anovirt node. Once your first piece of hardware (either virtual or physical) is booted: 1.Click on the default hardware pool in the Resource Pools Navigator on the right hand side of theovirt User Interface. The Contents pane and the Hardware resource menu display on the right-hand side of the page. 2.Click on the Hosts tab in the Hardware Resource Menu.
3.The Hosts page appears in the Contents pane and displays the hosts that you just booted. Thismeans that you have successfully registered at least one piece of hardware with ovirt. 2.2. Add Storage to a Hardware Pool The hardware pool requires storage. You can setup iscsi or NFS storage. If you are using thedeveloper version, storage is exported from the appliance. You can also add your own NFS or iscsistorage. Assuming that you have set up hosts as described in the previous section, the defaulthardware pool in the Resource Pools Navigator is selected. The Contents page and the Hardwareresource menu displays on the right-hand side of the page, the hosts display on the page. 1.Click on the Storage tab in the Hardware Resource Menu. 2.The Storage page appears in the Contents pane. If this is the first time you are setting up Storage,a message on the page prompts you to add the first storage volume to the hardware pool. 3.Click the message on the page, or Add Storage Server. The Add Storage Pool dialog boxdisplays. For purposes of this exercise, use the storage exported by the appliance. Enter thefollowing: Storage Type iscsi IP Address - 192.168.50.2 Port 3260 Target - ovirtpriv:storage 4.The storage volume appears in the Contents pane. This storage server can now be usedanywhere in the ovirt system. 2.3. Create a Virtual Machine Pool In the previous steps we added hosts and storage to the default hardware pool. The next step is to create a Virtual Machine Pool within the default hardware pool. Virtual machines can only be created within a virtual machine pool. Assuming that you have set up hosts and storage as described in the previous sections, the default hardware pool in the Resource Pools Navigator is selected. The Contents page and the Hardware resource menu displays on the right-hand side of the page, the Storage volumes display on the page.
1.Click Virtual Machine Pools on the menu. 2.The Virtual Machine page appears in the Contents pane. If this is the first time you are setting upvirtual machine pools, a message on the page prompts you to add the first virtual machine pool to the hardware pool. 3.Click the message on the page, or New Machine Pool. The Add New Virtual Machine Pool dialog box displays. Enter a name for the virtual machine pool. For example, in this exercise thename of the virtual machine pool is "switch". 4.The new virtual machine pool, "switch" displays on the Virtual Machine Pool page and in thenavigator pane. 2.4. Create Virtual Machines In the previous steps we added hosts, storage and a virtual machine pool to the default hardware pool.the next step is to create a Virtual Machines within the Virtual Machine Pool created in the previoussection. Virtual machines can only be created within a virtual machine pool. Assuming that you have Create Virtual Machines9set up hosts, storage and the "switch" virtual machine pool as described in the previous sections,the default hardware pool in the Resource Pools Navigator is selected. The Contents page and thehardware resource menu displays on the right-hand side of the page, the Virtual Machine Pools pagedisplays on the page. 1.Select the virtual machine pool, switch, from the Navigator Pane. The Virtual Machine Pool menuand page displays in the Content pane. 2.Click Virtual Machine on the menu. 3.The Virtual Machine Summary page appears in the Contents pane. 4.Click Virtual Machines on the menu. The Virtual Machines menu displays. If this is the first timeyou are setting up virtual machines, a message on the page prompts you to add the first virtualmachine to the resource pool. 5.Click the message on the page, or Add Virtual Machine. The Add Virtual Machine dialog boxdisplays. Enter the following for the virtual machine pool. Name - the name of the virtual machine. Operating System - choose from the list, for example Fedora 9 or windows-xp
CPUs - assign the number of CPUs for this virtual machine Memory - assign how much memory can be used. Storage - Select the storage server on which the guest is to be installed. VNIC - leave the default, or change if required. UUID - Accept the default, or change if required. 6.ClickStart VM now? to start the virtual machine immediately. 7.Click Add Virtual Machine.8.The new virtual machine is created and displays on the Virtual Machine page. 2.5. Assign User Permissions In the previous steps we added hosts, storage, a virtual machine pool and virtual machines. The finalstep is to assign user permissions. User permissions can be assigned at any level, in this example,we will specify which users can use the virtual machine pool "switch". Assuming that you have set uphosts, storage, the "switch" virtual machine pool and added the virtual machine "RHEL" as describedin the previous sections, the switch virtual machine pool is selected in the Resource Pools Navigator.The Contents page and the Hardware resource menu displays on the right-hand side of the page, thevirtual Machines page displays on the page. 1.Select the virtual machine pool, switch, from the Navigator Pane. The Virtual Machine Pool menuand page displays in the Content pane. 2.Click User Access on the menu. 3.The User Access page appears in the Contents pane. 4.Click Add User on the menu. The Add New User dialog box displays. 5.Select the Role for the user. Administrator Super Admin User