BEN VLANs + Xen Virtual Machines

Back to Phase I task list


User Story

Once we can successfully allocate a VLAN from BEN using Orca, we should be able to allocate Xen virtual machines and link them using the allocated BEN VLAN.

Technical Specification

Each virtual machine has two networks:

  • a management network - used by Orca to manage the VM. IP addresses on this network are supplied and managed by the ORCA site at each BEN hub
  • a data network - used by Orca to link related virtual machines in the same VLAN. IP addresses on this network are supplied and allocated by the end user

To acquire a Xen virtual machine linked by a BEN VLAN, a service manager performs the following:

  • requests a ticket for a BEN VLAN by sending the ticket to the BEN VLAN clearing house
  • requests a ticket for VMs at the desired BEN hubs to the BEN VM clearing house (NOTE, for now the VLAN and VM clearing house will be two separate brokers)
  • redeems the BEN VLAN ticket with the BEN VLAN site authority
  • "attaches" the BEN VLAN lease to each BEN VM request and redeems the request with the appropriate BEN VM site

If a service manager already has a lease for a BEN VLAN, it only needs to issue requests for BEN VMs. Note that the lease for the BEN VLAN must also be "attached" to each of the BEN VM reservations.

Implementation Notes

The first cut of this task will be implemented using the existing Orca broker and site VM policies. The goal is to make quick progress and identify the potential problematic areas first, and then simplify/optimize the policies. Note that once, the first iteration is over, we should switch to using the simplified Orca policies add links.

We need a configuration with the following actors:

  • BEN VLAN Site
  • BEN VLAN Broker
  • BEN VM Site (RENCI)
  • BEN VM Site (DUKE)
  • BEN VM Broker (one broker for all BEN Hubs)
  • A service manager

All actors will communicate using SOAP.

We will implement the integration of the actors in several stages:

  1. All actors in one container (command line execution)
  2. All actors in one container (tomcat)
  3. Separate the actors as follows:
    • RENCI container:
      • BEN VLAN Site, BEN VLAN Broker, BEN VM Broker, BEN VM Site (RENCI), Service Manager
    • DUKE container:
      • BEN VM Site (DUKE)

To support the third stage, we will need some tools to simplify the deployment of multiple containers to enable rapid testing. In particular, we need tools to deploy all containers, authorize actors to talk to each other, make the necessary exports, and reset the inventory. Note: these tools are not absolutely necessary, but they will make future work much easier.

The goal of stage one is to demonstrate the linking of VLANs and Xen VMs. We will implement an Orca unit test to test the request protocol for VMs with BEN VLAN.

Before we can move to stage two, we need to create a portal plugin page to allow for the creation of VMs linked using a BEN VLAN. The exact specification of this plugin will be provided in the need future.

Once stage two is complete, we can subdivide the actors into multiple containers.

Related Tickets

This section should list any tickets added as a result of this task.