XPDS13: Xenserver-core: What it is, how it is built and how to get involved - Euan Harris, Citrix

Post on 21-May-2015

718 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

XenServer is open source and freely available, but it is packaged as an appliance image which must be installed on dedicated hardware. xenserver-core repackages the core components of XenServer so they can easily be built and installed on a standard Linux distribution. Its main goals are: * to make it easy to download, modify and build XenServer components, or just learn how they work; * to help upstream distributions to include up-to-date XenServer packages; * to provide an environment for experimentation. This talk will explain the motivations behind xenserver-core and how it relates to the open-sourcing of XenServer. For developers, it will cover how to get the code, how to build it and how to contribute back to the project. For packagers, it will explain the project's development and release processes and what an upstream maintainer can expect from it.

Transcript

Citrix

xenserver-core What it is, how it is built and how to get involved

Euan Harris

What is xenserver-core?

DOM0

QEMU

Drivers

XAPI

Third party

components

HA

Storage

Manager

xenserver-core

(Xapi and friends)

Virtualization

base packages

(Xen, Qemu, libvirt)

Base Linux distribution

xenserver-core

(Xapi and friends)

“Xen4CentOS”

extra packages

CentOS 6.4

xenserver-core

general model

xenserver-core

on CentOS

How can I get it?

yum install xenserver-core

apt-get install xenserver-core

Why?

How can I build it?

git clone xenserver-core

$ git clone https://github.com/ \

xapi-project/xenserver-core.git

$ cd xenserver-core

$ ./configure.sh

$ ./makemake.py > Makefile

$ make

...

[CURL] SOURCES/libvhd-0.9.1.tar.gz

[RPMBUILD] SRPMS/ocaml-libvhd-0.9.1-1.src.rpm

[MOCK] RPMS/x86_64/ocaml-libvhd-0.9.1-1.x86_64.rpm

[CREATEREPO] RPMS/x86_64/ocaml-libvhd-0.9.1-1.x86_64.rpm

...

foo.spec

foo-1.patch

rpmbuild foo.srpm foo.tgz

foo.rpm foo.rpm

mock foo.rpm foo.srpm

Name: ocaml-qmp

Version: 0.9.1

Release: 1

...

BuildRequires: ocaml ocaml-findlib ocaml-obuild

ocaml-yojson-devel cmdliner-devel ocaml-ounit-devel

./SRPMS/ocaml-qmp-0.9.1-1.src.rpm: ./SPECS/ocaml-qmp.spec

./SOURCES/ocaml-qmp-0.9.1.tar.gz

./SOURCES/ocaml-qmp-0.9.1.tar.gz: ./SPECS/ocaml-qmp.spec

@curl -o $@ https://github.com/xapi-project/ocaml-

qmp/archive/0.9.1/ocaml-qmp-0.9.1.tar.gz

./RPMS/x86_64/ocaml-qmp-0.9.1-1.x86_64.rpm: ./SRPMS/ocaml-

qmp-0.9.1-1.src.rpm

./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm:

./SRPMS/ocaml-qmp-0.9.1-1.src.rpm

./RPMS/x86_64/ocaml-qmp-0.9.1-1.x86_64.rpm:

./RPMS/x86_64/ocaml-obuild-0.0.2-1.x86_64.rpm

./RPMS/x86_64/ocaml-qmp-0.9.1-1.x86_64.rpm:

./RPMS/x86_64/ocaml-yojson-devel-1.1.6-1.x86_64.rpm

./RPMS/x86_64/ocaml-qmp-0.9.1-1.x86_64.rpm:

./RPMS/x86_64/cmdliner-devel-0.9.3-1.x86_64.rpm

./RPMS/x86_64/ocaml-qmp-0.9.1-1.x86_64.rpm:

./RPMS/x86_64/ocaml-ounit-devel-1.1.2-3.el6.x86_64.rpm

./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm:

./RPMS/x86_64/ocaml-obuild-0.0.2-1.x86_64.rpm

./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm:

./RPMS/x86_64/ocaml-yojson-devel-1.1.6-1.x86_64.rpm

./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm:

./RPMS/x86_64/cmdliner-devel-0.9.3-1.x86_64.rpm

./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm:

./RPMS/x86_64/ocaml-ounit-devel-1.1.2-3.el6.x86_64.rpm

ocaml-qmp: ./RPMS/x86_64/ocaml-qmp-0.9.1-1.x86_64.rpm

./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm

./RPMS/x86_64/xenopsd-0.9.27-1.x86_64.rpm:

./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm

./RPMS/x86_64/xenopsd-libvirt-0.9.27-1.x86_64.rpm:

./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm

./RPMS/x86_64/xenopsd-xc-0.9.27-1.x86_64.rpm:

./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm

./RPMS/x86_64/xenopsd-simulator-0.9.27-1.x86_64.rpm:

./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm

./RPMS/x86_64/xenopsd-xenlight-0.9.27-1.x86_64.rpm:

./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm

makemake.py

Debian (experimental!)

Why?

foo.spec

foo-1.patch

makedeb.py foo.tgz foo.dsc

(and some tarballs)

foo.rpm foo.rpm

cowbuilder foo.deb foo.dsc

How can I get involved?

xs-devel@lists.xenserver.org

What’s next?

top related