Bug 1041117

Summary: [RFE][nova]: Enable OpenStack support for z/VM
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: RFEsAssignee: RHOS Maint <rhos-maint>
Status: CLOSED UPSTREAM QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: markmc, yeylon
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/nova/+spec/zvm-plugin
Whiteboard: upstream_milestone_none upstream_status_not-started upstream_definition_obsolete
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-19 16:58:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 13:41:44 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/zvm-plugin.

Description:

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)

Specification URL (additional information):

None