1. Xen based Hypervisor in a Box
Project Information:
Project Title: Xen based Hypervisor in a Box
Project Description: A Single installer ISO that delivers a functional Xen4 stack on CentOS.
The Xen4CentOS effort already builds packages for using Xen dom0 on CentOS-6, this effort
would be to extend that into delivering a consumable ISO that does not need CentOS to be
preinstalled on the machine. The ISO would also contain CentOS-5 and CentOS-6 vm images
that can be instantiated easily.
Details: Consuming Xen as a hypervisor (or Virtual Machine Manager) on CentOS-6 requires a
few cycles, including needing an existing CentOS-6 installed base, and requires a running kernel
upgrade that can cause corner case issues hard to deal with. For example, firmware versions for
drivers change and device naming changing in a way that the system is hard to recover post
install. The aim of this task is to build an installer instance that uses the same kernel as the
xen4centos repositories, and sets up networking as well as storage on a machine making it
possible to consume Xen out of the box. The storage should be setup to consume either file
backed or LVM backed storage for the VM's, and the network should be setup to be either self-
hosted or completely bridged.
For self hosted network we would create a local bridge, managed via dnsmasq and setup to NAT
all VM traffic, much like how the default libvirt install is. For fully bridged, the installer should
bridge the selected physical network device and ensure that Xen creates all virtual network
interfaces for that bridge. In this scenario we would not do DHCP, NAT, or any other network
management.
A key follow-up goal from this task should be to facilitate upstream additions and downstream
extensions on user scenarios. E.g. it should be possible for Open Stack or Open Nebula efforts to
consume this hypervisor. We don't need to deliver the mechanics for these extensions, just
ensure that the work we do is open and extensible easily.
2. Benefits: The benefit of this task is, it is providing an installer instance that uses the same kernel
without the need of creating the separate repositories, and it also provides networking and
storage on a machine making it possible to consume hypervisor out of the box. This hypervisor
can be used by open stack and open Nebula.
Implementation: Upgrading the currently running kernel. Building an installer instance that
uses the same kernel as the xen4centos repositories. Setting up Virtual networking using VLAN
and bridge utilities through IPV4 setting, setting up storage on a machine and making it possible
to consume Xen out of the Virtual box.
Timeline:
Week 1: 19th may to 25th may - A better understanding of Type1 Hypervisor, kernel and
Xen4Centos repositories.
Week 2: 26th may to 31st may – Upgrading the kernel and its repositories.
Week 3: 1st June to 7th June – Building an installer instance using the same kernel and its
repositories.
Week 4: 8th June to 14th June – providing networking by building Virtual LANS and bridge
utilities.
Week 5: 15th June to 21st June – Providing the storage component for the hypervisor using
the open stack volume service components such as swift and cinder or LVM based storage.
Week 6: 22nd June to 28th June – making possible to consume the hypervisor out of the box.
Week 7: 29th June to 5th July – For fully bridged network, the installer should bridge the
selectedphysical network device and ensure that xen creates all virtual network interfaces
for that bridge.
Week 8: 6th July to 18th July – Facilitate upstream additions and downstream extensions on
user scenarios.
Week 9: 19th July to 25th july – Testing the code for open stack and open nebula.
Week 10: 26th July to 2nd Aug – reviewing the code and modifications to be done if any.
Week 11: 3rd Aug to 9th Aug – preparing a manual documentation of the project.
3. Week 12: 10th Aug to 17th Aug –preparing screen shots of the work done, presentations,
documentations in the guidance of mentors.
II) General Information:
Name: PARAMKUSHAM SRUTHI
Email: shrutiparamkusham@gmail.com
Mobile Number: 8985039134, 7036199284
Mailing Lists: CentOS,CentOS-gsoc,CentOS-Newsletter
Why Cent OS: With the support and help of GSOC 2015, I want to stick to Cent OS
projects where I can contribute my skills of linux,python and openstack into the projects
and develop a effective module that benefits to the organization and also benefits in
gaining and sharing knowledge which would be an exciting and interesting journey. It
also carries worth for the third parties and vendors as the services provided to them are
easy to consume.
Technologies known: Python, Linux (user management and permissions,network
configuration,package management,process management,disk management),Openstack
juno version,Open SSH server/client.
Software experience: worked on openstack dashboard(Instance management through
Nova project),installation of single node and multi node on debian based distribution,
Worked on Devops tools such as Jenkins,Git,Gerrit through persistent systems.
Worked on opensource projects based on PHP on WikiMedia,MediaWiki software.
Projects done:
1) Open stack project hands-on on local environment.
2) Setting up network configuration and hands on practice on upgrading the machine
and installation of various components such as message queuing systemfor
communication,databases,authenticating services,managing image configurations
3) Developedbanking application using python 2.7
4) Linux hands-on practice on Ubuntu and Cent OS
Important Links:
Mailing lists on Cent-OS , CentOS-devel,CentOS-Newsletter
https://kmitshruthi.wordpress.com/
References:
http://docs.openstack.org/user-guide/content/
http://docs.openstack.org/user-guide/content/ch_dashboard.html
http://docs.openstack.org/user-
guide/content/dashboard_launch_instances.html