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

Compare with Current View Page History

« Previous Version 27 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

Shared storage

Native SystemVMs

  • Console access
    • RDP sessions to Hyper-V VMs

Architecture

  • Reuse KVM-style Agent Container
    • Java-based agent executes on hypervisor
    • Call out to WMI
  • Use existing SystemVMs
  • 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

Design changes

Adopt Javelin Storage model

  • Avoid NFS requirements

Agent model

  • Cloudstack agent model.
  • C# based agent which makes WMI calls for operations on the hypervisor.
  • Agent accepts json requests and does the necessary operations on the hypervisor.

V2 WMI API

  • 2012 R2 supports only root/virtualization/v2 namespace. WMI calls on the agent will use the same namespace.

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

Scope

  • Pure hyperv zone will be supported. No mixed zone.
  • Support for SMB/CIFS as primary and secondary.
  • VM Compute
    • Start, stop, reboot, destroy
    • Migrate - Live
    • Service offerings. Scale up is allowed on stopped VM.
    • Console access
    • SSH keys, user data.
    • Create VM from template
    • Create VM from iso
    • Attach, Detach ISO
    • User provided internal name
  • Storage
    • Primary storage
      • Shared Storage (SMB)
      • Local Storage
    • Root & data volumes – local and shared storage
    • Add, delete, attach & detach volumes
    • Secondary storage (SMB). Single secondary storage per zone.
  • Network
    • VLANs (isolated, shared, mgmt.)
    • External device support? NS, F5, SRX, Juniper – both isolated and shared n/w
    • All VR services supported: DNS, DHCP, LB, PF, StaticNAT, SourceNAT, NetworkACL, UserData, VPN
    • Dedicate IP range, Public VLANs (to account)
    • Restart (destroy/recreate) routers, system VMs, restart n/w – all cases
    • Different n/w configurations:
      • Storage in one NIC, Management in another, guest in another etc
      • Management and guest in one, storage in another
      • All in one network
    • L4-L7 services in shared n/w
    • Multiple IP range (restarts and DNS should pick up the specified ranges…)
    • Persistent network
  • Host tags
  • Storage tags
  • Sync with SCVMM
    • VM operations

Background

Original Feature Spec

  • No labels