customizing apache cloudstack - ccc13
DESCRIPTION
Customizing Apache CloudStack - CCC13 Slide for CCC13 Talk on Creating your own ACS release to enhance Vmware vSphere support in Apache CloudStack 4.1TRANSCRIPT
VMware vSphere Support Overview
Customized Version of Apache CloudStack
CloudStack Usage Tracking Plugin
[email protected] www.linkedin.com/in/serverchief
# whoami• ACS Contributor, Committer and Release
Manager for 4.1.x• Systems and Cloud Architect @ WebMD• Cloud, Virtualization, Automation and
Everything Linux• Founder of CloudSand.com
o ACS Development o Enterprise friendly custom ACS Releaseso OS Templates (coming soon)o ACS Virtual Appliances (coming soon)o Join US!
[email protected] www.linkedin.com/in/serverchief
About ACS CloudSand Release
• Bridge the time release gap between ACS stable and master
• Back port least impacting useful features and bug fixes
• Upgradable to next stable ACS release
Source code and RPMs• www.github.com/serverchief/cloudsand• www.cloudsand.com/content/repo/centos/6/x86_64
Vendor V.S. Customer
Which one is the customer? … It depends.
Why vSphere and Apache CloudStack?
• Existing investment into hardware and virtualization technology (AKA 3 Year Headlock)
• Largest Virtualization Market Share (Gartner 2012)
• It works well• Rapid migration to alternative
virtualization technology maybe costly for enterprise customers
Customer VS Vendor(with Apache CloudStack’s help)
Source: http://www.luminepixels.com/
Traditional Enterprise Objectives
Long Term Objectives:• Build Hybrid Auto-Scalable “Magical”
Cloud
Short Term Objectives:• Learn Cloud Concepts • Re-use Existing Infrastructure• Keep cost at minimum
Current ACS Support for vSphere 5.x
• As of latest stable ACS 4.1.xLack of important features: Virtual Distributed Switch SupportLinked Cloned VS Full Clone SupportAppend of VM Name in vCenter• DRS and HA Support• Better VMware Synchronization
All features above are available in master git branch! Features have been backported to ACS CloudSand RC1
Option 1: Wait for official ACS Release
Option 2: Do it yourself
• Get over the fear of rolling your own Apache CloudStack versions
• Review Functional Specification of developed feature posted on Wiki and note the CloudStack Issue ID
• Backport minimally impacting and most useful features and bug fixes only
• Thoroughly review the changes on review board / git to see if there are no missing dependencies
• Build, test, debug, test and test again!
Basic Requirements
• CentOS 6.x or Debian • GIT Version Control Knowledge• Minimal Java Knowledge• General Programming Concepts• Use DevCloud Guide or clone CloudStack git
repo and follow instructions in Install.md file
Example• Back-porting feature “User Provided VM Name to be Visible in
Hypervisor”
• Functional Specification Doc: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Allow+user+provided+internal+VM+name+on+hypervisor+for+guest+VMs
• Jira Issue/Ticket ID: https://issues.apache.org/jira/browse/CLOUDSTACK-778
• Apache Web Git:https://git-wip-us.apache.org/repos/asf?p=cloudstack.git
Functional Specs
Jira Issue Details
Apache Git – Finding Proper Patch
Search feature on the top right is very helpful
Review the Patch
Apply the Patch• Create a new branch in your local git ACS
clone “git checkout –b CLOUDSTACK-778”
• Download “patch” file from git and apply to your local git clonegit apply --stat cloudstack-778.patchgit apply --check cloudstack-778.patchgit apply cloudstack-778.patch
• If patch does not apply cleanly, use VI or IDE and manually copy and paste the code
• Build, test, debug, test and test again.
Useful Plugins to ACS• Demo of Usage Tracking / Charge
Back module by Amysta
Disclaimer: I’m not affiliated with Amysta. I do not have any financial interests with promoting this product.