Top Banner
CloudStack Development for KVM in a Virtual Machine CloudStack Development for KVM in a Virtual Machine
19

CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

Aug 29, 2019

Download

Documents

vobao
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

CloudStack Development for KVMin a Virtual Machine

CloudStack Development for KVMin a Virtual Machine

Page 2: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

PurposeTo familiarize programmers with developing for CloudStack

using a virtualized KVM host

PurposeTo familiarize programmers with developing for CloudStack

using a virtualized KVM host

Page 3: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

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

Page 4: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

DevCloud Development ModelsDevCloud Development Models● Full Stack in VM● Full Stack in VM ● Split Manager/Agent● Split Manager/Agent

Page 5: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

Installation:MacOS w/VMware Fusion

Installation:MacOS w/VMware Fusion

Page 6: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

1. Install VMware Fusion 6 Professional2.Set up networks, VMware Fusion → Preferences

Page 7: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

Setup vmnet2

Page 8: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

Setup vmnet3

Page 9: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

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

Page 10: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

Installation:Linux w/KVMInstallation:

Linux w/KVM

Page 11: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

1. Verify nested KVM capability

2. Download DevCloud-KVM package for Linux KVM

3. Extract archive

Page 12: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

4. Install networks

Page 13: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

5. Edit file devcloud-kvm.xml, change path for qcow2 image to match actual path on workstation

6. Register and start VM

Page 14: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

Inside DevCloud-KVMssh [email protected] : “password”

Inside DevCloud-KVMssh [email protected] : “password”

Page 15: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

Installing CloudStack from SourceInstalling CloudStack from Source

Page 16: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

Deploying A ZoneDeploying A Zone

Page 17: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

NetworkNetwork

Page 18: CloudStack Development for KVM in a Virtual Machine · To familiarize programmers with developing for CloudStack using a virtualized KVM host . Prerequisites 1) Computer Hypervisor

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