An open API service indexing awesome lists of open source software.

https://github.com/gambol99/opennebula

Opennebula
https://github.com/gambol99/opennebula

Last synced: 4 months ago
JSON representation

Opennebula

Awesome Lists containing this project

README

        

============
Opennebula
============

Contains a number of scripts / changes for a Opennebula deployed

preload.rb
===========

The default tm_ssh transport manager uses a scp from controller to compute node - while the method is fine, it was SLOW, copying gigabytes across the network. The first method used to improve the performance was a local cached copy of the of the images from the controller. A simple rscync of the datastore was pushed by puppet on each of the compute nodes (/var/lib/one/cached). The tm_ssh ln / clone (/var/lib/one/remotes/tmm/tm_ssh/{clone,ln}) scripts were then changed to call preload.rb, taking the image name and performing the cp /var/lib/one/datastore/0 etc .. The method once again was fine, but it still took 5/10 seconds to perform the copy (natually dependent on the underlining storage system). So the next step we a preload of the images i.e. image-name.{0..10} and use a mv image. rather than copy.

The preload.rb performs the above - it has two functions; preload and clone. The preloading looks at the local cached copies of the images and makes x copies for clone to use. The clone takes the image name, looks for a matching preloaded image and moves it to the destination. Preloading uses a single atomic lock, which clone uses a flock per preload image. Note, the clone can also resizes the image if requested

occi_templates
==============

Contains some of the occi templates we were using for production boxes; I needed the ability to control cluster id and placement (i.e. which kvm to place upon) by hidden it on the CONTEXT section (take a look at common.erb)