CloudStack Development for KVMin a Virtual Machine
CloudStack Development for KVMin a Virtual Machine
PurposeTo familiarize programmers with developing for CloudStack
using a virtualized KVM host
PurposeTo familiarize programmers with developing for CloudStack
using a virtualized KVM host
Prerequisites1) Computer
● Hypervisor capable of running nested virtualization−VMware Fusion 6 Pro + MacOS−Linux w/KVM, nested=1 kvm module parameter
● 4GB of free RAM (8GB+ total system ram)2) Internet Connection
● For download of source, VM templates, wiki instructions
DevCloud Development ModelsDevCloud Development Models● Full Stack in VM● Full Stack in VM ● Split Manager/Agent● Split Manager/Agent
Installation:MacOS w/VMware Fusion
Installation:MacOS w/VMware Fusion
1. Install VMware Fusion 6 Professional2.Set up networks, VMware Fusion → Preferences
Setup vmnet2
Setup vmnet3
3. Download DevCloud-KVM VM for VMware Fusion: http://marcus.mlsorensen.com/cloudstack-extras/devcloud-kvm-fusion.tar.gz
4. Extract package via double-click in Finder5. Navigate folder, right click VM → Open With → VMware Fusion
Select “I moved it”, which will preserve MAC addresses
Installation:Linux w/KVMInstallation:
Linux w/KVM
1. Verify nested KVM capability
2. Download DevCloud-KVM package for Linux KVM
3. Extract archive
4. Install networks
5. Edit file devcloud-kvm.xml, change path for qcow2 image to match actual path on workstation
6. Register and start VM
Inside DevCloud-KVMssh [email protected] : “password”
Inside DevCloud-KVMssh [email protected] : “password”
Installing CloudStack from SourceInstalling CloudStack from Source
Deploying A ZoneDeploying A Zone
NetworkNetwork
Key KVM Agent ClassesKey KVM Agent Classes● LibvirtComputingResource
– Primary handler of *Command classes● VirtualRoutingResource
– Handles Virtual Router programming *Command classes● LibvirtVMDef
– Handles putting together Libvirt XML for guests● KVMStorageProcessor
– Handles most storage related *Command classes● StorageAdaptor
– Interface for implementing a storage pool (agent-side storage plugins)● VifDriver
– Interface for implementing vm nic plug, unplug (network plugin)– Extend VifDriverBase
● LibvirtComputingResource– Primary handler of *Command classes
● VirtualRoutingResource– Handles Virtual Router programming *Command classes
● LibvirtVMDef– Handles putting together Libvirt XML for guests
● KVMStorageProcessor– Handles most storage related *Command classes
● StorageAdaptor– Interface for implementing a storage pool (agent-side storage plugins)
● VifDriver– Interface for implementing vm nic plug, unplug (network plugin)– Extend VifDriverBase
ResourcesResources● https://cw iki.apache.org/confluence/display/CLOUDSTACK/De
vCloud-kvm● https://cwiki.apache.org/confluence/display/CLOUDSTACK/Mar
vin+-+Testing+with+Python● http://marcus.mlsorensen.com/cloudstack-extras
● https://cwiki.apache.org/confluence/display/CLOUDSTACK/DevCloud-kvm
● https://cwiki.apache.org/confluence/display/CLOUDSTACK/Marvin+-+Testing+with+Python
● http://marcus.mlsorensen.com/cloudstack-extras
Top Related