[Ovirt-devel] oVirt Source Repository Refactoring

Perry N. Myers pmyers at redhat.com
Mon Sep 8 19:40:28 UTC 2008

oVirt is composed of several components that have well defined interfaces
and are able to be used in isolation from each other.  Our code repository
did not reflect this since it was a single monolithic repository for all
of oVirt.

We've refactored the repositories into the following:

ovirt-server    : RPMs that provide oVirt Server Suite functionality
ovirt-node      : RPMs that provide oVirt node functionality
ovirt-node-image: RPM that contains LiveCD ISO image and PXE images of
                   the oVirt Node which uses the ovirt-node RPM
ovirt-appliance : RPM that contains a Fedora appliance OS with
                   ovirt-server and ovirt-node-image RPMs installed and
ovirt-release   : RPM that contains yum repo configuration file for
                   ovirt.org repositories and developer convenience scripts
ovirt-docs      : RPMs that contain documentation for the oVirt project

The build-all.sh script that was used to build all of the sub-projects of
oVirt has been replaced with a top level makefile (ovirt.mk) from the
ovirt-release repository and RPM.

The old ovirt repo will continue to be hosted on git.et.redhat.org
indefinitely, since it corresponds to version 0.92-1 and below of oVirt.
The next release of oVirt will use the new refactored repositories.

In addition to the repo refactoring and change from build-all.sh to
ovirt.mk, we've also tried to reduce the dependency on root access for
building.  The only sections of the build that still require root are the
RPM builds of ovirt-appliance and ovirt-node-image, as these RPMs use
livecd-creator which requires root.

Because of this, the user running the ovirt.mk makefile should have
passwordless sudo as root access.  Sudo is used inside of the appliance
and node-image spec files to allow livecd-creator to work properly.

Developers wishing to take a look at what is currently in development for
the next release can do the following on a Fedora 9 host.

Install the latest ovirt-release RPM from ovirt.org:

$ sudo rpm -ivh 

This will add:
/etc/yum.repos.d/ovirt.repo - Used for yum update/install of oVirt RPMs
/usr/share/ovirt-release/ovirt.mk - Developer Makefile

To get the rest of the repositories do the following:
$ mkdir ~/ovirt
$ cd ~/ovirt\
$ export OVIRT_BRANCH=next
$ make -f /usr/share/ovirt-release/ovirt.mk update

Replace ~/ovirt with any directory you would like (this is just an
example)  This will check out all 6 repos from the ovirt.org site.

OVIRT_BRANCH is set to next to indicate that you want to work on the next
branch instead of master in the git repos.

To do a build (similar to build-all.sh in previous releases) do:
$ make -f /usr/share/ovirt-release/ovirt.mk build

This will build all of the RPMs and make the oVirt Node and Appliance.
After that you can run:

$ sudo create-ovirt-appliance

to create the Appliance on your host.  create-ovirt-appliance replaces
create-wui-appliance and has the same command line parameters.  So to
bridge your appliance to eth1, you would use:

$ sudo create-ovirt-appliance -e eth1

Give the new repositories and developer scripts a try and please report
any problems encountered.


oVirt Development Team

|=-        Red Hat, Engineering, Emerging Technologies, Boston        -=|
|=-                     Email: pmyers at redhat.com                      -=|
|=-         Office: +1 412 474 3552   Mobile: +1 703 362 9622         -=|
|=- GnuPG: E65E4F3D 88F9 F1C9 C2F3 1303 01FE 817C C5D2 8B91 E65E 4F3D -=|

More information about the ovirt-devel mailing list