● Pedro Dias○ @pedromdias○ github.com/apocas
● CTO at ptisp.com○ github.com/ptisp
● Lecturer at ipt.pt● Freelancer
● Likes Node.js, created dockerode, nodechecker.com, ...
Who am i
PTisp.com
● Hosting provider○ 2 datacenters
○ ~36000 domains
○ ~700 virtual servers
○ ~800 physical servers
○ ~9000 active customers
What is this tale about?
● Why a new IaaS?
● Requirements
● Why OpenNebula?
● Making it fit
● Giving back to community
Why a new IaaS?
● Turnkey solution issues○ Value-added products are harder
○ Vendor lock-in
○ No control
● Expansion
● Licensing
Requirements
● Openness
● Avoid spaghetti stack
● Low maintenance
● Low entry barrier
● KVM
● API
● Support
Tested
● OpenStack○ High maintenance/operation
● Onapp○ Turnkey
● CloudStack○ Entry barrier
● OpenNebula
1. clvm… right...
● Hard to maintain
● Cluster recovery related with it’s
size/previous state
● Additional “moving” parts
● Critical layer
lvm
● Volume sanitization
○ Avoid data corruption by
simultaneous access
● Keeping volume directory
clean and sane
Solution
● Custom fs_lvm drivers
○ Activate volumes where and when they are needed.
(ex: premigrate)
○ Deactivate volumes when and there they are not
needed anymore. (ex: postmigrate)
ONE Janitor
● https://github.com/ptisp/one-janitor
● Uses API and SSH○ API for logic data○ SSH for infra/real data○ Matches them
● Storage sanitization● Virt sanitization● Boilerplate for other integrations
2. VM image resize
● Leverages libguestfs
● Strategy:
a. Stops VM
b. Creates a new volume (bigger size)
c. Copies old volume into the newer one
d. Expands fs
e. Renames old and new volumes
f. Starts VM
● Original volume is left untouched.
● Not yet integrated into ONE workflow
3. ONE Node.js addon
● https://github.com/OpenNebula/addon-nodejs
● Contributions are welcome○ Tests coverage need to be increased.
VM manipulationvar vm = one.getVM(12);
// query API for vm info
vm.info(function (err, data) {
console.log(data);
});
vm.action('reboot', function(err, data) {
console.log(data);
});
What it is?
● Web panel for OpenNebula
● Abstracts IaaS○ Build a “DigitalOcean feeling” on top of OpenNebula
● Multi-tenant
● Optional built-in ticketing system
● Resources limits/plans per user and per
instance
Functionality
● VM ownership implied
● Resources editing
● Network manipulation
● Console
● Doesn’t need ONE admin privileges
● Templating or custom VM creation
Top Related