aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/vagrant/README.rst39
-rw-r--r--build/vagrant/Vagrantfile23
-rwxr-xr-xbuild/vagrant/build_fuel.sh9
-rwxr-xr-xbuild/vagrant/setup_fuel.sh26
4 files changed, 97 insertions, 0 deletions
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