/D2C

Desktop-to-Cloud is a GUI tool that allows users to migrate VM housed distributed applications to various cloud platforms

Primary LanguagePython

Desktop To Cloud (D2C)
------------------------------

--------------------
- Development Setup
--------------------

Required Debian/Ubuntu packages installable from aptitude:
    python-setuptools (>=0.6.15)
	python-boto (>=1.9b) 
 	python-wxgtk2.8 (>= 2.8.10.1)
	python-sqlite (>= 1.0.1)
 	ec2-ami-tools (>= 1.3.49953)
 	euca2ools (>= 1.3.1)
 	virtualbox-ose (>=4.0.4-dfsg)
 	python-sqlalchemy
 	python-rrdtool
 	python-numpy
 	python-scipy
 	python-matplotlib

guestfish packages:
	http://libguestfs.org/download/binaries/
	Be sure to read the associated README.txt thoroughly for dependencies, such as adding /sbin/insmod.static
	
 	libguestfs0 (>= 1.11.8)
 	python-guestfs (>=1.11.8)

mockito-python
http://code.google.com/p/mockito-python/
easy_install mockito

libvirt installation:
Since libvirt in ubuntu repository does not support VirtualBox drivers, libvirt should be downloaded from 
ftp://libvirt.org/libvirt/libvirt-0.8.8.tar.gz and libxml2-dev,libgnutls-dev,libdevmapper-dev,python-dev,libnl-dev packages should be installed
 for compiling
 
 Or following automated way:(Source : http://stackoverflow.com/questions/2778638/libvirt-and-virtualbox-getting-started) 
    
    mkdir libvirt
    cd libvirt
    apt-get source -d libvirt
    sudo apt-get build-dep libvirt
    dpkg-source -x libvirt*dsc
    cd libvirt-0.8.8/debian
    gedit rules
        Change "--without-vbox" to "--with-vbox"
    gedit changelog
        Change "0.8.8-1ubuntu6.5" to "0.8.8-1ubuntu6.5.local"
    cd ..
    dpkg-buildpackage -us -uc -b -rfakeroot
    cd ..
    sudo dpkg -i *.deb
    

--------------------
- Installation
--------------------

In the project root directory run:
	make builddeb

This will create ../d2c_<version>_all.deb.
To install run:
dpkg -i ../d2c_<version>_all.deb

Note that installing with dpkg explicitly will not resolve dependencies. 
If there are broken dependencies, resolve using aptitude.