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

Compare with Current View Page History

« Previous Version 16 Next »

Overview

Target

  • Hyper-V Server 2012
  • WMI for VMM control

Strategy

  • CloudStack Agent Model
  • Business logic in ServerResource accesses WMI

Phase 1

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

Phase 2

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

GitHub repository https://github.com/lafferty/cshv3

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

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

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