From: Guo Ruijing Date: Wed, 22 Jun 2016 05:30:09 +0000 (-0700) Subject: Add fuel@opnfv build based on vagrant X-Git-Tag: colorado.1.rc1~98^2 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F31%2F15931%2F2;p=fuel.git Add fuel@opnfv build based on vagrant Change-Id: I5d180f060f27d49b03d6b2eda4750845a3490348 Signed-off-by: Guo Ruijing --- diff --git a/build/vagrant/README.rst b/build/vagrant/README.rst new file mode 100644 index 000000000..7db098dfa --- /dev/null +++ b/build/vagrant/README.rst @@ -0,0 +1,39 @@ +================================= +Fuel@OPNFV Build Based on Vagrant +================================= + +License +======= + +This work is licensed under a Creative Commons Attribution 4.0 +International License. .. http://creativecommons.org/licenses/by/4.0 .. +(c) Ruijing Guo (Intel) and others + + +Abstract +======== + +This document describes how to build fuel iso based on vagrant. +The build is to follow fuel/docs/build-instruction.rst. + +Note +==== + +Vagrant based build is not official build. The target user is fuel@opnfv +developer. + +How to Build +============ + +run ./build_fuel.sh + + +Vagrantfile +=========== + +you can change memory & cpus to fit your enviorments. + +setup_fuel.sh +============= + +The script is run in VM and follow fuel/docs/build-instruction.rst. diff --git a/build/vagrant/Vagrantfile b/build/vagrant/Vagrantfile new file mode 100644 index 000000000..0fbadf2ae --- /dev/null +++ b/build/vagrant/Vagrantfile @@ -0,0 +1,23 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! +VAGRANTFILE_API_VERSION = "2" + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + + config.vm.box = "trusty-server-cloudimg-amd64" + config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box" + + config.vm.define "fuel" do | h | + h.vm.host_name = "fuel" + h.vm.synced_folder "../..", "/fuel" + h.vm.provider :virtualbox do |v| + v.customize ["modifyvm", :id, "--memory", 8192] + v.customize ["modifyvm", :id, "--cpus", 8] + file_to_disk = 'large_disk.vdi' + v.customize ['createhd', '--filename', file_to_disk, '--size', 512 * 1024] + v.customize ['storageattach', :id, '--storagectl', 'SATAController', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', file_to_disk ] + end + end +end diff --git a/build/vagrant/build_fuel.sh b/build/vagrant/build_fuel.sh new file mode 100755 index 000000000..051ee4dfd --- /dev/null +++ b/build/vagrant/build_fuel.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +sudo apt-get update +sudo apt-get install -y vagrant virtualbox +vagrant destroy -f; vagrant up +vagrant ssh -c "sudo apt-get update; sudo apt-get install -y linux-generic-lts-vivid" +vagrant reload +vagrant ssh -c "/vagrant/setup_fuel.sh" +vagrant ssh -c "cd fuel/build; make; cp fuel*.iso /vagrant" diff --git a/build/vagrant/setup_fuel.sh b/build/vagrant/setup_fuel.sh new file mode 100755 index 000000000..b4d7651f9 --- /dev/null +++ b/build/vagrant/setup_fuel.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +sudo apt-get install -y git git-review make curl p7zip-full + +#install docker by https://docs.docker.com/engine/installation/linux/ubuntulinux/ +#sudo apt-get install linux-image-extra-$(uname -r) +sudo apt-get install -y apt-transport-https ca-certificates +sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D + +cat << EOF | sudo tee /etc/apt/sources.list.d/docker.list +deb https://apt.dockerproject.org/repo ubuntu-trusty main +EOF +sudo apt-get update +sudo apt-get purge lxc-docker -y + +#workaroud for large disk +sudo mkdir /var/lib/docker +yes | sudo mkfs.ext4 /dev/sdb +sudo mount /dev/sdb /var/lib/docker + +sudo apt-cache policy docker-engine +sudo apt-get install -y docker-engine +sudo service docker start +sudo groupadd docker +sudo usermod -aG docker vagrant +cp -r /fuel /home/vagrant