Enable OpenStack support for z/VM

Registered by Huang Rui

The purpose of this blueprint is to enable OpenStack support for z/VM and its virtual machines running Linux on System z.

z/VM 6.3 has an embedded systems management toolkit called xCAT that is used to manage its Linux virtual machines. xCAT allows users to manage, provision, and monitor Linux virtual machines on z/VM from a web browser. It also exposes its APIs through the REST interface. You can think of it as equivalent to virt-manager, but it offers more functionality, e.g. the ability to hotplug CPU, memory, and disk. It is complete, tested, and has customer adoption.

xCAT operates by requiring one zHCP (System z Hardware Control Point) controller per z/VM LPAR. Think of the zHCP as an equivalent to virsh/libvirt. Only one xCAT MN (Management Node) is required, and it manages each z/VM and its virtual machines through the zHCP.

The intention is to have OpenStack manage z/VM and its virtual machines indirectly through the xCAT MN via its REST-APIs. There will be a python library written for xCAT, called pyxCAT. OpenStack will import this library to utilize the systems management functionality of xCAT.

The reason xCAT is used versus libvirt is because xCAT offers more functionalities and flexibility for z/VM and its customers. One such example mentioned above is the ability to hotplug CPU, memory, and disk.

The functionality for OpenStack will be staged incrementally as follows. Each drop is a Gerrit patch set.

Drop #1:
1. Start virtual machine (Nova)
2. Stop virtual machine (Nova)
3. Reboot Linux virtual machine (Nova)

Drop #2:
4. Pause virtual machine (Nova)
5. Unpause virtual machine(Nova)
6. Disk (add SCSI disk to virtual machine) (Nova, Cinder)

Drop #3:
7. Support for Open vSwitch (Neutron)

Drop #4:
8. Volume snapshots (a.k.a capture/deploy) (Nova, Glance, Swift)
9. Activate image (Nova)

Drop #5:
10. Resize virtual machine (memory/CPU) (Nova)
11. Virtual machine migration (Nova)

Blueprint information

Status:
Complete
Approver:
Russell Bryant
Priority:
Undefined
Drafter:
R. Scott Coyle
Direction:
Needs approval
Assignee:
R. Scott Coyle
Definition:
Obsolete
Series goal:
None
Implementation:
Not started
Milestone target:
None
Completed by
John Garbutt

Related branches

Sprints

Whiteboard

This blueprint is not complete after a good year or so, marking as Obsolete to tidy up the Nova backlog. --johnthetubaguy (20th April 2014)

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.