Branch

The commit occurred in 4.5 branch xen2server

Introduction

Purpose

Within CloudStack we have used the term "Xen" to refer to both Citrix XenServer and Xen Cloud Platform (XCP) based hypervisors.  While both of these options use the same integration point, XenAPI (XAPI), neither are actually Xen.  In order to support a pure Xen based hypervisor (or more precisely a Xen Project based one), we first need to reconcile the use of Xen and XenServer within CloudStack.  This feature document covers the first phase of that; removal of "Xen" as a concept replacing it with XenServer.  Replacement with XenServer is the preferred option since in June of 2013, packaged XCP was officially made end of life in favor of XenServer.  While other "XenServer" implementations have appeared, most notably xenserver-core, they retain the same XenServer/XAPI interface and can be treated as compatible.

References

Document History

Glossary

Xen: A bare metal hypervisor now known as the Xen Project hypervisor and is Linux Foundation collaborative project.  The current release is 4.4, and is actively developed.

XenServer: A packaged virtualization product from Citrix containing the Xen Project Hypervisor.  The current release is 6.2 SP1, and is actively developed.

Xen Cloud Platform: A semi-packaged open source implementation of Citrix XenServer.  Also known as XCP.  The latest release is 1.6 and development has stopped.

XAPI: The Xen Management API and toolstack used in XCP and XenServer.  XAPI is a Linux Foundation collaborative project, and is still under development.

Feature Specifications

  • Clone existing xen hypervisor plugin creating a xenserver hypervisor plugin
  • Remove existing xen hypervisor plugin
  • Ensure "Xen" usage in descriptive text becomes "XenServer"
  • Update database column names using "xen" to become "xenserver"
  • Update configuration variables referencing "xen" to become "xenserver"
  • Change ApiConstants XEN_NETWORK_LABEL to become XENSERVER_NETWORK_LABEL with corresponding text changing from "xennetworklabel" to "xenservernetworklabel"

Use cases

With the exception of configuration variable names, hypervisor name values, and descriptive elements, users should be unaware of these changes.

Test cases

  • Fresh installation of CloudStack connecting to a XenServer 6.2 host and deploying a VM in a basic zone
    • Test performed with two host XenServer 6.2 pool.  System VMs, virtual router, and instance VM deployed successfully
  • Fresh installation of CloudStack connecting to a Xenserver 6.2 host and deploying a VM in an advanced zone
    • Test performed with single host XenServer pool.  Systems VMs, virtual router ad instace VM deployed successfully.  Management, public and guest network traffic was separated correctly
  • Fresh installation of CloudStack connecting to a XenServer 6.2 host with VM able to ping outside of CloudStack realm
    • Deployed instance VM able to ping off machine indicating network correctly configured
  • Upgrade installation of CloudStack 4.2.1 with existing XenServer 6.2 host and deploying new VM in a basic zone
  • Upgrade installation of CloudStack 4.2.1 with existing XenServer 6.2 host and deploying a new VM in an advanced zone
  • Using configuration variables, limiting the operation of XenServer without seeing evidence of "Xen" config values

Web Services APIs

XEN_NETWORK_LABEL changed to XENSERVER_NETWORK_LABEL in ApiConstants

IP Clearance

Changes do not introduce new libraries or security modules.


  • No labels