ZVMDriver

= Overview = zVM drivers, consist of a set of drivers/plugins for different OpenStack components, enables OpenStack to communicate with z/VM hypervisor to manage z/VM system and virtual machines running on the system.

= Concepts =

System z
System z is a family name used by IBM for all of its mainframe computers. IBM System z are the direct descendants of System/360, announced in 1964, and the System/370 from 1970s, and now includes the IBM System z9, the IBM System z10 and the newer IBM zEnterprise. System z is famous for its high availability and used in government, financial services, retail, manufacturing, and just about every other industry.

z/VM
z/VM is a hypervisor for the IBM System z platform that provides a highly flexible test and production environment. z/VM offers a base for customers who want to exploit IBM virtualization technology on one of the industry's best-of- breed server environments, the IBM System z family. With virtualization technology, customers can easily create many virtual machines consisting of virtualized processor, communications, storage, networking, and I/O resources.

The z/VM hypervisor is designed to help clients extend the business value of mainframe technology across the enterprise by integrating applications and data while providing exceptional levels of availability, security, and operational ease. z/VM virtualization technology is designed to allow the capability for clients to run hundreds to thousands of Linux servers on a single mainframe running with other System z operating systems, such as z/OS, or as a large-scale Linux-only enterprise server solution.

xCAT
xCAT is an open source scalable distributed computing management and provisioning tool that provides a unified interface for hardware control, discovery, and OS diskful/diskfree deployment. It is used by NASA, University of Toronto, IBM, Adaptive Computing, Los Alamos Laboratory and so on. This picture show the architure of xCAT.

= Prerequisites =
 * 1) One OpenStack nova-compute service node will manage one and only one xCAT MN node.
 * 2) Each of the zVM systems (reside in different LPARs or CECs ) has one nova-compute service node.
 * 3) zHCP must be managed by xCAT MN.
 * 4) Compute Node and xCAT MN can ssh to each other without a password.

= How to setup =

nova-zvm-virt-driver
By default /etc/nova/nova.conf, these options are required by nova zvm driver: compute_driver = zvm.ZVMDriver network_api_class = nova.network.quantumv2.api.API libvirt_vif_driver = nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver force_config_drive=true config_drive_format=tgz zvm_xcat_server = 192.168.1.100 zvm_xcat_username = root zvm_xcat_password = xxxxxxx zvm_diskpool = pool1 zvm_host = system360 zvm_scsi_pool = smpool zvm_user_profile = myprofile zvm_xcat_master = xcatmaster
 * 1) Use z/VM
 * 1) config drive is required
 * 1) Only tgz is valid for now
 * 1) Host name or IP address of xCAT management_node
 * 1) xCAT username
 * 1) Password of the xCAT user
 * 1) z/VM disk pool for ephemeral disks
 * 1) z/VM host that managed by xCAT MN
 * 1) Default zfcp scsi disk pool
 * 1) User profile for creating a z/VM userid
 * 1) The xCAT MM node name

Restart your nova services after the configuration files are changed.

= References =
 * 1) z/VM
 * 2) xCAT
 * 3) xCAT on z/VM
 * 4) http://en.wikipedia.org/wiki/Z/VM
 * 5) http://en.wikipedia.org/wiki/System_z
 * 6) Code: https://github.com/stackforge/zvm-driver
 * 7) z/VM CI System Information