Add fuel@opnfv build based on vagrant 31/15931/2
authorGuo Ruijing <ruijing.guo@intel.com>
Wed, 22 Jun 2016 05:30:09 +0000 (22:30 -0700)
committerGuo Ruijing <ruijing.guo@intel.com>
Wed, 22 Jun 2016 05:40:59 +0000 (22:40 -0700)
Change-Id: I5d180f060f27d49b03d6b2eda4750845a3490348
Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
build/vagrant/README.rst [new file with mode: 0644]
build/vagrant/Vagrantfile [new file with mode: 0644]
build/vagrant/build_fuel.sh [new file with mode: 0755]
build/vagrant/setup_fuel.sh [new file with mode: 0755]

diff --git a/build/vagrant/README.rst b/build/vagrant/README.rst
new file mode 100644 (file)
index 0000000..7db098d
--- /dev/null
@@ -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 (file)
index 0000000..0fbadf2
--- /dev/null
@@ -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 (executable)
index 0000000..051ee4d
--- /dev/null
@@ -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 (executable)
index 0000000..b4d7651
--- /dev/null
@@ -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