You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 22 Next »

Overview

Target

  • Hyper-V Server 2012
  • WMI for VMM control

Strategy

  • CloudStack Agent Model
  • Business logic in ServerResource accesses WMI

Support basic commands

  • VM lifecycle
    • Local disk creation from template
    • VM creation, start/stop, and destruction
  • VMM monitoring
    • Host, VM and storage stats returned to CloudStack Server

VM network isolation using VLANs

Basic template management

Expand networking support

  • Flat networking with Security Groups for VM isolation

Volume service

  • Volumes management independent of VMs

Expand VM management

  • Migration
  • Snapshots

Shared storage

Native SystemVMs

  • Console access
    • RDP sessions to Hyper-V VMs

Progress

HyperV Branch https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;a=shortlog;h=refs/heads/hyperv

  • Plugin is cloud-plugin-hypervisor-hyperv, under ./plugins/hypervisor/hyperv
  • Minor changes to UI required for template creation

The changes are being committed in https://git-wip-us.apache.org/repos/asf/cloudstack/repo?p=cloudstack.git;a=tree;h=hyperv;hb=hyperv hyperv branch.

  1. . Pure hyperv zone will be supported. No mixed zone.
  2. . Support for SMB/CIFS as primary and secondary.
  3. . Local storage as primary
  4. . Start/Stop instance.
  5. . Reboot and destroy instance.
  6. . Attach/ Detach iso.
  7. . Template and iso registration.
  8. . Attach and Detach volumes.
  9. . Live migration of an instance from one host to another. Only vm migration (no storage migration).
  10. . Advanced networking. Isolation using vlans.
  11. . Isolated and shared networking.
  12. . Console access.

Architecture

  • Reuse KVM-style Agent Container
    • Java-based agent executes on hypervisor
    • Call out to WMI via Hyper-V scripts
  • Use existing SystemVMs
    • Include XenServer cluster to run SSVM and Virtual Router
  • Local Primary Storage
    • Local folder
  • Secondary storage accessed as NFS/SMB via Windows Server 2012
    • Free license Hyper-V Server 2012 has no NFS client
    • Admin manually mounts secondary storage to appear as local folder
  • Executes in Cygwin

Design changes

Near

Adopt Javelin Storage model

  • Avoid NFS requirements

Far

V2 WMI API

  • Currently mix of v1 and v2

Access WMI from Java

  • Remove use of scripts
  • Remove agent from Hyper-V server

Misc Design Notes

Local Storage

  • UUIDs for volumes correspond to their file names on disk. Only this UUID is persisted on the Hyper-V Server

Misc QA Notes

Test Plan

Unit tests

  • Each test corresponds to one or more Command objects sent to a ServerResource
  • No unit tests for server-side objects (Discoverer or HypervisorGuru)
  • Tests written to work only on Hyper-V 2012

Background

Original Feature Spec

  • No labels