Installation of a development node machine ========================================== .. highlight:: bash Preparation ----------- First create a new Ubuntu 12.04 LTS instance. Set up git.. TODO Setting up required software ---------------------------- Update package list and install the required softwares:: $ sudo apt-get update $ sudo apt-get install --yes python-pip virtualenvwrapper git python-dev \ openvswitch-common openvswitch-datapath-dkms openvswitch-switch \ openvswitch-controller libvirt-bin python-libvirt \ libxml2-dev libxslt1-dev zlib1g-dev qemu-kvm Configuring network ------------------- Configure Open vSwitch bridge that handle vitual connections:: $ sudo ovs-vsctl add-br cloud Enable passwordless Open vSwitch commands:: $ sudo tee /etc/sudoers.d/netdriver <<END cloud ALL = (ALL) NOPASSWD: /usr/bin/ovs-ofctl, /usr/bin/ovs-vsctl, /sbin/ip link set * END $ sudo chmod 660 /etc/sudoers.d/netdriver Configuring the libvirt daemon ------------------------------ Change the libvirt default settings in */etc/libvirt/qemu.conf*:: $ sudo tee -a /etc/libvirt/qemu.conf <<A clear_emulator_capabilities = 0 user = "root" group = "root" cgroup_device_acl = [ "/dev/null", "/dev/full", "/dev/zero", "/dev/random", "/dev/urandom", "/dev/ptmx", "/dev/kvm", "/dev/kqemu", "/dev/rtc", "/dev/hpet", "/dev/net/tun", ] A Setting up SSL certificates for migrations:: Add "-l" parameter to /etc/default/libvirt-bin at libvirtd-opts="-d -l" /etc/libvirt/libvirtd.conf listen_tcp = 1 auth_tcp = "none" $ TODO Installing CIRCLE vmdriver -------------------------- Clone the git repository:: $ git clone git@git.cloud.ik.bme.hu:circle/vmdriver.git vmdriver Set up virtualenv profile:: $ source /etc/bash_completion.d/virtualenvwrapper $ mkvirtualenv vmdriver Save configuration to virtualenv and activate environment:: $ cat >>/home/cloud/.virtualenvs/vmdriver/bin/postactivate <<END export LIBVIRT_KEEPALIVE=True export LIBVIRT_URI=test:///default export AMQP_URI=amqp://cloud:password@$(hostname)/circle export HYPERVISOR_TYPE=test END Copy the libvrit bindings to the local virtualenv directory:: $ cp /usr/lib/python2.7/dist-packages/*libvirt* ~/.virtualenvs/vmdriver/lib/python2.7/site-packages/ Install the required python packages:: $ pip install -r requirements/test.txt Copy the upstart scripts for celery services:: $ sudo cp miscellaneous/vmcelery.conf /etc/init/ $ sudo cp miscellaneous/netcelery.conf /etc/init/ Start celery daemons:: $ sudo start vmcelery $ sudo start netcelery