=======
Brahmaputra release of OPNFV when using Fuel as a deployment tool DOCs (c) by Jonas Bjurel (Ericsson AB) and others.
-Brahmaputra release of OPNFV when using Fuel as a deployment tool DOCs (c) are licensed under a Creative Commons Attribution 4.0 International License. You should have received a copy of the license along with this. If not, see <http://creativecommons.org/licenses/by/4.0/>.
-
-
-
-Version history
-===============
-
-+--------------------+--------------------+--------------------+----------------------+
-| **Date** | **Ver.** | **Author** | **Comment** |
-| | | | |
-+--------------------+--------------------+--------------------+----------------------+
-| 2015-06-03 | 1.0.0 | Jonas Bjurel | Instruction for |
-| | | (Ericsson AB) | the Arno release |
-+--------------------+--------------------+--------------------+----------------------+
-| 2015-09-24 | 1.1.0 | Jonas Bjurel | Instruction for |
-| | | (Ericsson AB) | the Arno SR1 release |
-+--------------------+--------------------+--------------------+----------------------+
-| 2015-10-23 | 1.1.1 | Stefan Berg | Added instruction |
-| | | (Ericsson AB) | for proxy builds |
-+--------------------+--------------------+--------------------+----------------------+
-| 2015-12-03 | 1.2.0 | Stefan Berg | Added instruction |
-| | | (Ericsson AB) | for plugin build |
-| | | | selection |
-+--------------------+--------------------+--------------------+----------------------+
+This document is licensed under a Creative Commons Attribution 4.0 International License. You should have received a copy of the license along with this. If not, see <http://creativecommons.org/licenses/by/4.0/>.
+
Introduction
============
This document describes the build system used to build the Fuel
deployment tool for the Brahmaputra release of OPNFV, required
dependencies and minimum requirements on the host to be used for the
-buildsystem.
+build system.
-The Fuel build system is desigened around Docker containers such that
+The Fuel build system is designed around Docker containers such that
dependencies outside of the build system can be kept to a minimum. It
also shields the host from any potential dangerous operations
performed by the build system.
Minimum Hardware Requirements
-----------------------------
-- An x86_64 host (Bare-metal or VM) with Ubuntu 14.04 LTS installed
-
- ~30 GB available disc
- 4 GB RAM
On the host, the following packages must be installed:
-- docker - see https://docs.docker.com/installation/ubuntulinux/ for
- installation notes for Ubuntu 14.04. Note: only use the Ubuntu stock
- distro of Docker (docker.io)
+- An x86_64 host (Bare-metal or VM) with Ubuntu 14.04 LTS installed
+
+ - A kernel equal or later than 3.19 (Vivid) (simply available through sudo apt-get install linux-generic-lts-vivid)
+
+ - **Note:** Builds on Wily (Ubuntu 15.x) are currently not supported
+
+- docker - see https://docs.docker.com/engine/installation/ubuntulinux/ for installation notes for Ubuntu 14.04. Tested against ver 1.9.x and greater
- git (simply available through sudo apt-get install git)
- curl (simply available through sudo apt-get install curl)
Preparations
-------------
+============
Setting up the Docker build container
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-------------------------------------
After having installed Docker, add yourself to the docker group:
-<usermod -a -G docker [userid]>
+<sudo usermod -a -G docker [userid]>
Also make sure to define relevant DNS servers part of the global dns chain in
-in your </etc/default/docker> configuration file, for example:
+in your </etc/default/docker> configuration file. Uncomment, modify the values appropriately
+and save and quit the file. For example:
<DOCKER_OPTS=" --dns=8.8.8.8 --dns=8.8.8.4">
Then restart docker:
-<sudo service docker.io restart>
+<sudo service docker restart>
Setting up OPNFV Gerrit in order to being able to clone the code
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
don't already have one), create one with ssh-keygen
- Add your generated public key in OPNFV Gerrit <https://gerrit.opnfv.org/>
- (this requires a linuxfoundation account, create one if you do not
+ (this requires a Linux foundation account, create one if you do not
already have one)
- Select "SSH Public Keys" to the left and then "Add Key" and paste
Make sure to checkout the release tag as described above.
-
-Building
-========
-
-There are two methods available for building Fuel:
-
-- A low level method using Make
-
-- An abstracted method using build.sh
-
-
Support for building behind a http/https/rsync proxy
----------------------------------------------------
cache will be on the ISO!
Configure your build environment
--------------------------------------
+--------------------------------
** Configuring the build environment should not be performed if building standard Brahmaputra release **
This method of plugin selection is not meant to be used from within
Gerrit!
+Building
+========
+
+There are two methods available for building Fuel:
+
+- A low level method using Make
+
+- An abstracted method using build.sh
+
Low level build method using make
---------------------------------
The low level method is based on Make:
- clean - this will remove all artifacts from earlier builds.
+- debug - this will simply enter the build container without starting a build, from here you can start a build by enter "make iso"
+
If the build is successful, you will find the generated ISO file in
the <fuel/build/release> subdirectory!
Abstracted build method using build.sh
-======================================
+--------------------------------------
The abstracted build method uses the <fuel/ci/build.sh> script which
allows you to:
- Create and use a build cache - significantly speeding up the
- buildtime if upstream repositories have not changed.
+ build time if upstream repositories have not changed.
- push/pull cache and artifacts to an arbitrary URI (http(s):, file:, ftp:)
References
==========
--
-:Authors: Jonas Bjurel (Ericsson), Stefan Berg (Ericsson)
-:Version: x.x.x
-
-**Documentation tracking**
-
-Revision: _sha1_
-
-Build date: _date_
+-