You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 23
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
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.
- Pure hyperv zone will be supported. No mixed zone.
- Support for SMB/CIFS as primary and secondary.
- Local storage as primary
- Start/Stop instance.
- Reboot and destroy instance.
- Attach/ Detach iso.
- Template and iso registration.
- Attach and Detach volumes.
- Live migration of an instance from one host to another. Only vm migration (no storage migration).
- Advanced networking. Isolation using vlans.
- Isolated and shared networking.
- Console access.
What is currently implemented and working.
- Systemvm template has been created for hyper.
- Pure hyperv zone. Virtual router comes up in pure hyperv and services get configured.
- Vm instance deployment. Start and stop instance.
- Local storage is working. Instances are created and disks are on local. Work of shared storage as primary is in progress.
- Attach and detach iso.
- Advanced networking, isolated network.
- Template and iso registration.
- Support for CIFS as secondary storage.
- Unit tests for agent have been written and proposed for review. Once they are reviewed and merged to hyperv branch, the hyperv branch will be proposed for merge to master.
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
- 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
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