Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Customizing Apache CloudStack - CCC13


Published on

Customizing Apache CloudStack - CCC13
Slide for CCC13 Talk on Creating your own ACS release to enhance Vmware vSphere support in Apache CloudStack 4.1

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Customizing Apache CloudStack - CCC13

  1. 1. VMware vSphere Support Overview Customized Version of Apache CloudStack CloudStack Usage Tracking Plugin
  2. 2. # whoami • ACS Contributor, Committer and Release Manager for 4.1.x • Systems and Cloud Architect @ WebMD • Cloud, Virtualization, Automation and Everything Linux • Founder of o ACS Development o Enterprise friendly custom ACS Releases o OS Templates (coming soon) o ACS Virtual Appliances (coming soon) o Join US!
  3. 3. 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 • •
  4. 4. Vendor V.S. Customer Which one is the customer? … It depends.
  5. 5. 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
  6. 6. Customer VS Vendor (with Apache CloudStack’s help) Source:
  7. 7. 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
  8. 8. Current ACS Support for vSphere 5.x • As of latest stable ACS 4.1.x Lack of important features: Virtual Distributed Switch Support Linked Cloned VS Full Clone Support Append 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
  9. 9. Option 1: Wait for official ACS Release
  10. 10. 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!
  11. 11. 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 file
  12. 12. Example • Back-porting feature “User Provided VM Name to be Visible in Hypervisor” • Functional Specification Doc: w+user+provided+internal+VM+name+on+hypervisor+for+guest +VMs • Jira Issue/Ticket ID: • Apache Web Git:
  13. 13. Functional Specs
  14. 14. Jira Issue Details
  15. 15. Apache Git – Finding Proper Patch Search feature on the top right is very helpful
  16. 16. Review the Patch
  17. 17. 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 clone git apply --stat cloudstack-778.patch git apply --check cloudstack-778.patch git 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.
  18. 18. 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.