From af2db33a0ebab98700c3c03ea84a6ba9b987c5b5 Mon Sep 17 00:00:00 2001 From: Jonas Bjurel Date: Fri, 30 Sep 2016 20:28:22 +0200 Subject: Preparing the experimental branch for improved Danube CI/CD experiments Fast forwarded to commit:cf93e6ee11c96de090b04196cc96b4a6b0948928 Change-Id: I13d10d870e8ffc7317ab03f8810592d5b2205875 Signed-off-by: Jonas Bjurel --- docs/buildprocedure/build.instruction.rst | 305 +++++++++ docs/buildprocedure/index.rst | 16 + docs/conf.py | 28 + docs/installationprocedure/img/addnodes.png | Bin 0 -> 24089 bytes docs/installationprocedure/img/compute.png | Bin 0 -> 25978 bytes docs/installationprocedure/img/computelist.png | Bin 0 -> 67975 bytes docs/installationprocedure/img/fuelconsole1.png | Bin 0 -> 8269 bytes docs/installationprocedure/img/fuelmenu1.png | Bin 0 -> 9276 bytes docs/installationprocedure/img/fuelmenu2.png | Bin 0 -> 9774 bytes docs/installationprocedure/img/fuelmenu3.png | Bin 0 -> 9783 bytes docs/installationprocedure/img/fuelmenu4.png | Bin 0 -> 8843 bytes docs/installationprocedure/img/fuelmenu5.png | Bin 0 -> 20442 bytes docs/installationprocedure/img/fuelmenu6.png | Bin 0 -> 10322 bytes docs/installationprocedure/img/grub-1.png | Bin 0 -> 388991 bytes docs/installationprocedure/img/health.png | Bin 0 -> 51840 bytes docs/installationprocedure/img/interfaceconf.png | Bin 0 -> 25676 bytes docs/installationprocedure/img/interfaces.png | Bin 0 -> 58851 bytes docs/installationprocedure/img/network.png | Bin 0 -> 55423 bytes docs/installationprocedure/img/neutronl3.png | Bin 0 -> 40478 bytes docs/installationprocedure/img/newenv.png | Bin 0 -> 37483 bytes docs/installationprocedure/img/nodes.png | Bin 0 -> 9155 bytes docs/installationprocedure/img/offloadingmodes.png | Bin 0 -> 23017 bytes docs/installationprocedure/img/other.png | Bin 0 -> 41526 bytes docs/installationprocedure/img/plugin_install.png | Bin 0 -> 17431 bytes docs/installationprocedure/img/plugins.png | Bin 0 -> 52382 bytes docs/installationprocedure/img/verifynet.png | Bin 0 -> 33162 bytes docs/installationprocedure/index.rst | 15 + .../installation.instruction.rst | 691 +++++++++++++++++++++ docs/releasenotes/index.rst | 16 + docs/releasenotes/release-notes.rst | 260 ++++++++ 30 files changed, 1331 insertions(+) create mode 100644 docs/buildprocedure/build.instruction.rst create mode 100644 docs/buildprocedure/index.rst create mode 100644 docs/conf.py create mode 100644 docs/installationprocedure/img/addnodes.png create mode 100644 docs/installationprocedure/img/compute.png create mode 100644 docs/installationprocedure/img/computelist.png create mode 100644 docs/installationprocedure/img/fuelconsole1.png create mode 100644 docs/installationprocedure/img/fuelmenu1.png create mode 100644 docs/installationprocedure/img/fuelmenu2.png create mode 100644 docs/installationprocedure/img/fuelmenu3.png create mode 100644 docs/installationprocedure/img/fuelmenu4.png create mode 100644 docs/installationprocedure/img/fuelmenu5.png create mode 100644 docs/installationprocedure/img/fuelmenu6.png create mode 100644 docs/installationprocedure/img/grub-1.png create mode 100644 docs/installationprocedure/img/health.png create mode 100644 docs/installationprocedure/img/interfaceconf.png create mode 100644 docs/installationprocedure/img/interfaces.png create mode 100644 docs/installationprocedure/img/network.png create mode 100644 docs/installationprocedure/img/neutronl3.png create mode 100644 docs/installationprocedure/img/newenv.png create mode 100644 docs/installationprocedure/img/nodes.png create mode 100644 docs/installationprocedure/img/offloadingmodes.png create mode 100644 docs/installationprocedure/img/other.png create mode 100644 docs/installationprocedure/img/plugin_install.png create mode 100644 docs/installationprocedure/img/plugins.png create mode 100644 docs/installationprocedure/img/verifynet.png create mode 100644 docs/installationprocedure/index.rst create mode 100644 docs/installationprocedure/installation.instruction.rst create mode 100644 docs/releasenotes/index.rst create mode 100644 docs/releasenotes/release-notes.rst (limited to 'docs') diff --git a/docs/buildprocedure/build.instruction.rst b/docs/buildprocedure/build.instruction.rst new file mode 100644 index 000000000..d755ee5fb --- /dev/null +++ b/docs/buildprocedure/build.instruction.rst @@ -0,0 +1,305 @@ +.. This document is protected/licensed under the following conditions +.. (c) Jonas Bjurel (Ericsson AB) +.. Licensed under a Creative Commons Attribution 4.0 International License. +.. You should have received a copy of the license along with this work. +.. If not, see . + +======== +Abstract +======== + +This document describes how to build the Fuel deployment tool for the +Colorado release of OPNFV build system, dependencies and required +system resources. + +============ +Introduction +============ + +This document describes the build system used to build the Fuel +deployment tool for the Colorado release of OPNFV, required +dependencies and minimum requirements on the host to be used for the +build system. + +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. + +The audience of this document is assumed to have good knowledge in +network and Unix/Linux administration. + +============ +Requirements +============ + +Minimum Hardware Requirements +============================= + +- ~30 GB available disc + +- 4 GB RAM + +Minimum Software Requirements +============================= + +The build host should run Ubuntu 14.04 or 16.04 operating system. + +On the host, the following packages must be installed: + +- An x86_64 host (Bare-metal or VM) with Ubuntu 14.04 LTS installed + + - **Note:** Builds on Wily (Ubuntu 15.x) are currently not supported + - A kernel equal- or later than 3.19 (Vivid), simply available through + +.. code-block:: bash + + $ sudo apt-get install linux-generic-lts-vivid + +- docker - see https://docs.docker.com/installation/ubuntulinux/ for + installation notes for Ubuntu 14.04. Note: use the latest version from + Docker (docker-engine) and not the one in Ubuntu 14.04. + +- git (simply available through $ sudo apt-get install git) + +- make (simply available through $ sudo apt-get install make) + +- 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: + +.. code-block:: bash + + $ sudo usermod -a -G docker [userid] + +Also make sure to define relevant DNS servers part of the global +DNS chain in your configuration file. +Uncomment, and modify the values appropriately. + +For example: + +.. code-block:: bash + + DOCKER_OPTS=" --dns=8.8.8.8 --dns=8.8.8.4" + +Then restart docker: + +.. code-block:: bash + + $ sudo service docker restart + +Setting up OPNFV Gerrit in order to being able to clone the code +---------------------------------------------------------------- + +- Start setting up OPNFV gerrit by creating a SSH key (unless you + don't already have one), create one with ssh-keygen + +- Add your generated public key in OPNFV Gerrit + (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 + your public key in. + +Clone the OPNFV code Git repository with your SSH key +----------------------------------------------------- + +Now it is time to clone the code repository: + +.. code-block:: bash + + $ git clone ssh://@gerrit.opnfv.org:29418/fuel + +Now you should have the OPNFV fuel repository with the Fuel +directories stored locally on your build host. + +Check out the Colorado release: + +.. code-block:: bash + + $ cd fuel + $ git checkout colorado.1.0 + +Clone the OPNFV code Git repository without a SSH key +----------------------------------------------------- + +You can also opt to clone the code repository without a SSH key: + +.. code-block:: bash + + $ git clone https://gerrit.opnfv.org/gerrit/fuel + +Make sure to checkout the release tag as described above. + +Support for building behind a http/https/rsync proxy +==================================================== + +The build system is able to make use of a web proxy setup if the +http_proxy, https_proxy, no_proxy (if needed) and RSYNC_PROXY or +RSYNC_CONNECT_PROG environment variables have been set before invoking make. + +The proxy setup must permit port 80 (http) and 443 (https). +Rsync protocol is currently not used during build process. + +Important note about the host Docker daemon settings +---------------------------------------------------- + +The Docker daemon on the host must be configured to use the http proxy +for it to be able to pull the base Ubuntu 14.04 image from the Docker +registry before invoking make! In Ubuntu this is done by adding a line +like: + +.. code-block:: bash + + export http_proxy="http://10.0.0.1:8888/" + +to /etc/default/docker and restarting the Docker daemon. + +Setting proxy environment variables prior to build +-------------------------------------------------- + +The build system will make use the following environment variables +that needs to be exported to subshells by using export (bash) or +setenv (csh/tcsh). + +.. code-block:: bash + + http_proxy (or HTTP_PROXY) + https_proxy (or HTTP_PROXY) + no_proxy (or NO_PROXY) + RSYNC_PROXY + RSYNC_CONNECT_PROG + +As an example, these are the settings that were put in the user's +.bashrc when verifying the proxy build functionality: + +.. code-block:: bash + + export RSYNC_PROXY=10.0.0.1:8888 + export http_proxy=http://10.0.0.1:8888 + export https_proxy=http://10.0.0.1:8888 + export no_proxy=localhost,127.0.0.1,.consultron.com,.sock + +Using a ssh proxy for the rsync connection +------------------------------------------ + +If the proxy setup is not allowing the rsync protocol, an alternative +solution is to use a SSH tunnel to a machine capable of accessing the +outbound port 873. Set the RSYNC_CONNECT_PROG according to the rsync +manual page (for example to "ssh @ nc %H 873") +to enable this. Also note that netcat needs to be installed on the +remote system! + +Make sure that the ssh command also refers to the user on the remote +system, as the command itself will be run from the Docker build container +as the root user (but with the invoking user's SSH keys). + +Configure your build environment +================================ + +** Configuring the build environment should not be performed if building +standard Colorado release ** + +Select the versions of the components you want to build by editing the +fuel/build/config.mk file. + +Non official build: Selecting which plugins to build +==================================================== + +In order to cut the build time for unofficial builds (made by an +individual developer locally), the selection if which Fuel plugins to +build (if any) can be done by environment variable +"BUILD_FUEL_PLUGINS" prior to building. + +Only the plugin targets from fuel/build/f_isoroot/Makefile that are +specified in the environment variable will then be built. In order to +completely disable the building of plugins, the environment variable +is set to " ". When using this functionality, the resulting iso file +will be prepended with the prefix "unofficial-" to clearly indicate +that this is not a full build. + +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: + +From the directory, invoke + +Following targets exist: + +- none/all - this will: + + - Initialize the docker build environment + + - Build Fuel from upstream (as defined by fuel-build/config-spec) + + - Build the OPNFV defined plugins/features from upstream + + - Build the defined additions to fuel (as defined by the structure + of this framework) + + - Apply changes and patches to fuel (as defined by the structure of + this framework) + + - Reconstruct a fuel .iso image + +- 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 subdirectory! + +Abstracted build method using build.sh +====================================== + +The abstracted build method uses the script which +allows you to: + +- Create and use a build cache - significantly speeding up the + build time if upstream repositories have not changed. + +- push/pull cache and artifacts to an arbitrary URI (http(s):, file:, ftp:) + +For more info type . + +========= +Artifacts +========= + +The artifacts produced are: + +- - Which represents the bootable Fuel image, XXXX is + replaced with the build identity provided to the build system + +- - Which holds version metadata. + +========== +References +========== + +1) `OPNFV Installation instruction for the Colorado release of OPNFV when using Fuel as a deployment tool `_: http://artifacts.opnfv.org/fuel/colorado/docs/installationprocedure/index.html + +2) `OPNFV Build instruction for the Colorado release of OPNFV when using Fuel as a deployment tool `_: http://artifacts.opnfv.org/fuel/colorado/docs/buildprocedure/index.html + +3) `OPNFV Release Note for the Colorado release of OPNFV when using Fuel as a deployment tool `_: http://artifacts.opnfv.org/fuel/colorado/docs/releasenotes/index.html diff --git a/docs/buildprocedure/index.rst b/docs/buildprocedure/index.rst new file mode 100644 index 000000000..4f88814b5 --- /dev/null +++ b/docs/buildprocedure/index.rst @@ -0,0 +1,16 @@ +.. This document is protected/licensed under the following conditions +.. (c) Jonas Bjurel (Ericsson AB) +.. Licensed under a Creative Commons Attribution 4.0 International License. +.. You should have received a copy of the license along with this work. +.. If not, see . + +********************************* +Build instruction for Fuel\@OPNFV +********************************* + +.. toctree:: + :numbered: + :maxdepth: 2 + + build.instruction.rst + diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 000000000..6cd69313d --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,28 @@ +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2016 Linux Foundation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# Copied from releng/docs/etc/conf.py +extensions = ['sphinxcontrib.httpdomain', + 'sphinx.ext.autodoc', + 'sphinx.ext.viewcode', + 'sphinx.ext.napoleon'] + +needs_sphinx = '1.3' +master_doc = 'index' +pygments_style = 'sphinx' + +html_use_index = False +numfig = True +html_logo = 'opnfv-logo.png' + +latex_domain_indices = False +latex_logo = 'opnfv-logo.png' + +# addtional config +latex_elements = {'figure_align': 'H'} diff --git a/docs/installationprocedure/img/addnodes.png b/docs/installationprocedure/img/addnodes.png new file mode 100644 index 000000000..b62405692 Binary files /dev/null and b/docs/installationprocedure/img/addnodes.png differ diff --git a/docs/installationprocedure/img/compute.png b/docs/installationprocedure/img/compute.png new file mode 100644 index 000000000..fc1cf0f22 Binary files /dev/null and b/docs/installationprocedure/img/compute.png differ diff --git a/docs/installationprocedure/img/computelist.png b/docs/installationprocedure/img/computelist.png new file mode 100644 index 000000000..474196536 Binary files /dev/null and b/docs/installationprocedure/img/computelist.png differ diff --git a/docs/installationprocedure/img/fuelconsole1.png b/docs/installationprocedure/img/fuelconsole1.png new file mode 100644 index 000000000..61703cab1 Binary files /dev/null and b/docs/installationprocedure/img/fuelconsole1.png differ diff --git a/docs/installationprocedure/img/fuelmenu1.png b/docs/installationprocedure/img/fuelmenu1.png new file mode 100644 index 000000000..ee7a0edb2 Binary files /dev/null and b/docs/installationprocedure/img/fuelmenu1.png differ diff --git a/docs/installationprocedure/img/fuelmenu2.png b/docs/installationprocedure/img/fuelmenu2.png new file mode 100644 index 000000000..4dcbb6e68 Binary files /dev/null and b/docs/installationprocedure/img/fuelmenu2.png differ diff --git a/docs/installationprocedure/img/fuelmenu3.png b/docs/installationprocedure/img/fuelmenu3.png new file mode 100644 index 000000000..23e61975b Binary files /dev/null and b/docs/installationprocedure/img/fuelmenu3.png differ diff --git a/docs/installationprocedure/img/fuelmenu4.png b/docs/installationprocedure/img/fuelmenu4.png new file mode 100644 index 000000000..3be29cd66 Binary files /dev/null and b/docs/installationprocedure/img/fuelmenu4.png differ diff --git a/docs/installationprocedure/img/fuelmenu5.png b/docs/installationprocedure/img/fuelmenu5.png new file mode 100644 index 000000000..e3d215459 Binary files /dev/null and b/docs/installationprocedure/img/fuelmenu5.png differ diff --git a/docs/installationprocedure/img/fuelmenu6.png b/docs/installationprocedure/img/fuelmenu6.png new file mode 100644 index 000000000..cafbcddfc Binary files /dev/null and b/docs/installationprocedure/img/fuelmenu6.png differ diff --git a/docs/installationprocedure/img/grub-1.png b/docs/installationprocedure/img/grub-1.png new file mode 100644 index 000000000..e64b79373 Binary files /dev/null and b/docs/installationprocedure/img/grub-1.png differ diff --git a/docs/installationprocedure/img/health.png b/docs/installationprocedure/img/health.png new file mode 100644 index 000000000..57bd8cf70 Binary files /dev/null and b/docs/installationprocedure/img/health.png differ diff --git a/docs/installationprocedure/img/interfaceconf.png b/docs/installationprocedure/img/interfaceconf.png new file mode 100644 index 000000000..e00b03f03 Binary files /dev/null and b/docs/installationprocedure/img/interfaceconf.png differ diff --git a/docs/installationprocedure/img/interfaces.png b/docs/installationprocedure/img/interfaces.png new file mode 100644 index 000000000..291e434f6 Binary files /dev/null and b/docs/installationprocedure/img/interfaces.png differ diff --git a/docs/installationprocedure/img/network.png b/docs/installationprocedure/img/network.png new file mode 100644 index 000000000..7bef05064 Binary files /dev/null and b/docs/installationprocedure/img/network.png differ diff --git a/docs/installationprocedure/img/neutronl3.png b/docs/installationprocedure/img/neutronl3.png new file mode 100644 index 000000000..36291ef87 Binary files /dev/null and b/docs/installationprocedure/img/neutronl3.png differ diff --git a/docs/installationprocedure/img/newenv.png b/docs/installationprocedure/img/newenv.png new file mode 100644 index 000000000..d6bc2827f Binary files /dev/null and b/docs/installationprocedure/img/newenv.png differ diff --git a/docs/installationprocedure/img/nodes.png b/docs/installationprocedure/img/nodes.png new file mode 100644 index 000000000..771e4813d Binary files /dev/null and b/docs/installationprocedure/img/nodes.png differ diff --git a/docs/installationprocedure/img/offloadingmodes.png b/docs/installationprocedure/img/offloadingmodes.png new file mode 100644 index 000000000..5b3cb17bc Binary files /dev/null and b/docs/installationprocedure/img/offloadingmodes.png differ diff --git a/docs/installationprocedure/img/other.png b/docs/installationprocedure/img/other.png new file mode 100644 index 000000000..c088488dc Binary files /dev/null and b/docs/installationprocedure/img/other.png differ diff --git a/docs/installationprocedure/img/plugin_install.png b/docs/installationprocedure/img/plugin_install.png new file mode 100644 index 000000000..ff50633ed Binary files /dev/null and b/docs/installationprocedure/img/plugin_install.png differ diff --git a/docs/installationprocedure/img/plugins.png b/docs/installationprocedure/img/plugins.png new file mode 100644 index 000000000..8f7ea596f Binary files /dev/null and b/docs/installationprocedure/img/plugins.png differ diff --git a/docs/installationprocedure/img/verifynet.png b/docs/installationprocedure/img/verifynet.png new file mode 100644 index 000000000..e675562c0 Binary files /dev/null and b/docs/installationprocedure/img/verifynet.png differ diff --git a/docs/installationprocedure/index.rst b/docs/installationprocedure/index.rst new file mode 100644 index 000000000..8e61be219 --- /dev/null +++ b/docs/installationprocedure/index.rst @@ -0,0 +1,15 @@ +.. This document is protected/licensed under the following conditions +.. (c) Jonas Bjurel (Ericsson AB) +.. Licensed under a Creative Commons Attribution 4.0 International License. +.. You should have received a copy of the license along with this work. +.. If not, see . + +**************************************** +Installation instruction for Fuel\@OPNFV +**************************************** + +.. toctree:: + :numbered: + :maxdepth: 2 + + installation.instruction.rst diff --git a/docs/installationprocedure/installation.instruction.rst b/docs/installationprocedure/installation.instruction.rst new file mode 100644 index 000000000..2d6889bf8 --- /dev/null +++ b/docs/installationprocedure/installation.instruction.rst @@ -0,0 +1,691 @@ +.. This document is protected/licensed under the following conditions +.. (c) Jonas Bjurel (Ericsson AB) +.. Licensed under a Creative Commons Attribution 4.0 International License. +.. You should have received a copy of the license along with this work. +.. If not, see . + +======== +Abstract +======== + +This document describes how to install the Colorado release of +OPNFV when using Fuel as a deployment tool, covering its usage, +limitations, dependencies and required system resources. + +============ +Introduction +============ + +This document provides guidelines on how to install and +configure the Colorado release of OPNFV when using Fuel as a +deployment tool, including required software and hardware configurations. + +Although the available installation options give a high degree of +freedom in how the system is set-up, including architecture, services +and features, etc., said permutations may not provide an OPNFV +compliant reference architecture. This instruction provides a +step-by-step guide that results in an OPNFV Colorado compliant +deployment. + +The audience of this document is assumed to have good knowledge in +networking and Unix/Linux administration. + +======= +Preface +======= + +Before starting the installation of the Colorado release of +OPNFV, using Fuel as a deployment tool, some planning must be +done. + +Retrieving the ISO image +======================== + +First of all, the Fuel deployment ISO image needs to be retrieved, the +Fuel .iso image of the Colorado release can be found at *Reference: 2* + +Building the ISO image +====================== + +Alternatively, you may build the Fuel .iso from source by cloning the +opnfv/fuel git repository. To retrieve the repository for the Colorado +release use the following command: + +.. code-block:: bash + + $ git clone https://gerrit.opnfv.org/gerrit/fuel + +Check-out the Colorado release tag to set the HEAD to the +baseline required to replicate the Colorado release: + +.. code-block:: bash + + $ git checkout colorado.1.0 + +Go to the fuel directory and build the .iso: + +.. code-block:: bash + + $ cd fuel/build; make all + +For more information on how to build, please see *Reference: 14* + +Other preparations +================== + +Next, familiarize yourself with Fuel by reading the following documents: + +- Fuel Installation Guide, please see *Reference: 8* + +- Fuel User Guide, please see *Reference: 9* + +- Fuel Developer Guide, please see *Reference: 10* + +- Fuel Plugin Developers Guide, please see *Reference: 11* + +Prior to installation, a number of deployment specific parameters must be collected, those are: + +#. Provider sub-net and gateway information + +#. Provider VLAN information + +#. Provider DNS addresses + +#. Provider NTP addresses + +#. Network overlay you plan to deploy (VLAN, VXLAN, FLAT) + +#. How many nodes and what roles you want to deploy (Controllers, Storage, Computes) + +#. Monitoring options you want to deploy (Ceilometer, Syslog, etc.). + +#. Other options not covered in the document are available in the links above + + +This information will be needed for the configuration procedures +provided in this document. + +===================== +Hardware requirements +===================== + +The following minimum hardware requirements must be met for the +installation of Colorado using Fuel: + ++--------------------+------------------------------------------------------+ +| **HW Aspect** | **Requirement** | +| | | ++====================+======================================================+ +| **# of nodes** | Minimum 5 (3 for non redundant deployment): | +| | | +| | - 1 Fuel deployment master (may be virtualized) | +| | | +| | - 3(1) Controllers (1 colocated mongo/ceilometer | +| | role, 2 Ceph-OSD roles) | +| | | +| | - 1 Compute (1 co-located Ceph-OSD role) | +| | | ++--------------------+------------------------------------------------------+ +| **CPU** | Minimum 1 socket x86_AMD64 with Virtualization | +| | support | ++--------------------+------------------------------------------------------+ +| **RAM** | Minimum 16GB/server (Depending on VNF work load) | +| | | ++--------------------+------------------------------------------------------+ +| **Disk** | Minimum 256GB 10kRPM spinning disks | +| | | ++--------------------+------------------------------------------------------+ +| **Networks** | 4 Tagged VLANs (PUBLIC, MGMT, STORAGE, PRIVATE) | +| | | +| | 1 Un-Tagged VLAN for PXE Boot - ADMIN Network | +| | | +| | Note: These can be allocated to a single NIC - | +| | or spread out over multiple NICs as your hardware | +| | supports. | ++--------------------+------------------------------------------------------+ + +=============================== +Help with Hardware Requirements +=============================== + +Calculate hardware requirements: + +For information on compatible hardware types available for use, please see *Reference: 11*. + +When choosing the hardware on which you will deploy your OpenStack +environment, you should think about: + +- CPU -- Consider the number of virtual machines that you plan to deploy in your cloud environment and the CPU per virtual machine. + +- Memory -- Depends on the amount of RAM assigned per virtual machine and the controller node. + +- Storage -- Depends on the local drive space per virtual machine, remote volumes that can be attached to a virtual machine, and object storage. + +- Networking -- Depends on the Choose Network Topology, the network bandwidth per virtual machine, and network storage. + +================================================ +Top of the rack (TOR) Configuration requirements +================================================ + +The switching infrastructure provides connectivity for the OPNFV +infrastructure operations, tenant networks (East/West) and provider +connectivity (North/South); it also provides needed connectivity for +the Storage Area Network (SAN). +To avoid traffic congestion, it is strongly suggested that three +physically separated networks are used, that is: 1 physical network +for administration and control, one physical network for tenant private +and public networks, and one physical network for SAN. +The switching connectivity can (but does not need to) be fully redundant, +in such case it comprises a redundant 10GE switch pair for each of the +three physically separated networks. + +The physical TOR switches are **not** automatically configured from +the Fuel OPNFV reference platform. All the networks involved in the OPNFV +infrastructure as well as the provider networks and the private tenant +VLANs needs to be manually configured. + +Manual configuration of the Colorado hardware platform should +be carried out according to the OPNFV Pharos specification: + + +========================================== +OPNFV Software installation and deployment +========================================== + +This section describes the installation of the OPNFV installation +server (Fuel master) as well as the deployment of the full OPNFV +reference platform stack across a server cluster. + +Install Fuel master +=================== + +#. Mount the Colorado Fuel ISO file/media as a boot device to the jump host server. + +#. Reboot the jump host to establish the Fuel server. + + - The system now boots from the ISO image. + + - Select "Fuel Install (Static IP)" (See figure below) + + - Press [Enter]. + + .. figure:: img/grub-1.png + +#. Wait until the Fuel setup screen is shown (Note: This can take up to 30 minutes). + +#. In the "Fuel User" section - Confirm/change the default password (See figure below) + + - Enter "admin" in the Fuel password input + + - Enter "admin" in the Confirm password input + + - Select "Check" and press [Enter] + + .. figure:: img/fuelmenu1.png + +#. In the "Network Setup" section - Configure DHCP/Static IP information for your FUEL node - For example, ETH0 is 10.20.0.2/24 for FUEL booting and ETH1 is DHCP in your corporate/lab network (see figure below). + + - Configure eth1 or other network interfaces here as well (if you have them present on your FUEL server). + + .. figure:: img/fuelmenu2.png + +#. In the "PXE Setup" section (see figure below) - Change the following fields to appropriate values (example below): + + - DHCP Pool Start 10.20.0.3 + + - DHCP Pool End 10.20.0.254 + + - DHCP Pool Gateway 10.20.0.2 (IP address of Fuel node) + + .. figure:: img/fuelmenu3.png + +#. In the "DNS & Hostname" section (see figure below) - Change the following fields to appropriate values: + + - Hostname + + - Domain + + - Search Domain + + - External DNS + + - Hostname to test DNS + + - Select and press [Enter] + + .. figure:: img/fuelmenu4.png + + +#. OPTION TO ENABLE PROXY SUPPORT - In the "Bootstrap Image" section (see figure below), edit the following fields to define a proxy. (**NOTE:** cannot be used in tandem with local repository support) + + - Navigate to "HTTP proxy" and enter your http proxy address + + - Select and press [Enter] + + .. figure:: img/fuelmenu5.png + +#. In the "Time Sync" section (see figure below) - Change the following fields to appropriate values: + + - NTP Server 1 + + - NTP Server 2 + + - NTP Server 3 + + .. figure:: img/fuelmenu6.png + +#. Start the installation. + + - Select Quit Setup and press Save and Quit. + + - The installation will now start, wait until the login screen is shown. + +Boot the Node Servers +===================== + +After the Fuel Master node has rebooted from the above steps and is at +the login prompt, you should boot the Node Servers (Your +Compute/Control/Storage blades, nested or real) with a PXE booting +scheme so that the FUEL Master can pick them up for control. + +#. Enable PXE booting + + - For every controller and compute server: enable PXE Booting as the first boot device in the BIOS boot order menu, and hard disk as the second boot device in the same menu. + +#. Reboot all the control and compute blades. + +#. Wait for the availability of nodes showing up in the Fuel GUI. + + - Connect to the FUEL UI via the URL provided in the Console (default: https://10.20.0.2:8443) + + - Wait until all nodes are displayed in top right corner of the Fuel GUI: Total nodes and Unallocated nodes (see figure below). + + .. figure:: img/nodes.png + +Install additional Plugins/Features on the FUEL node +==================================================== + +#. SSH to your FUEL node (e.g. root@10.20.0.2 pwd: r00tme) + +#. Select wanted plugins/features from the /opt/opnfv/ directory. + +#. Install the wanted plugin with the command + + .. code-block:: bash + + $ fuel plugins --install /opt/opnfv/-..rpm + + Expected output (see figure below): + + .. code-block:: bash + + Plugin ....... was successfully installed. + + .. figure:: img/plugin_install.png + +Create an OpenStack Environment +=============================== + +#. Connect to Fuel WEB UI with a browser (default: https://10.20.0.2:8443) (login: admin/admin) + +#. Create and name a new OpenStack environment, to be installed. + + .. figure:: img/newenv.png + +#. Select "" and press + +#. Select "compute virtulization method". + + - Select "QEMU-KVM as hypervisor" and press + +#. Select "network mode". + + - Select "Neutron with ML2 plugin" + + - Select "Neutron with tunneling segmentation" (Required when using the ODL or ONOS plugins) + + - Press + +#. Select "Storage Back-ends". + + - Select "Ceph for block storage" and press + +#. Select "additional services" you wish to install. + + - Check option "Install Ceilometer and Aodh" and press + +#. Create the new environment. + + - Click Button + +Configure the network environment +================================= + +#. Open the environment you previously created. + +#. Open the networks tab and select the "default" Node Networks group to on the left pane (see figure below). + + .. figure:: img/network.png + +#. Update the Public network configuration and change the following fields to appropriate values: + + - CIDR to + + - IP Range Start to + + - IP Range End to + + - Gateway to + + - Check . + + - Set appropriate VLAN id. + +#. Update the Storage Network Configuration + + - Set CIDR to appropriate value (default 192.168.1.0/24) + + - Set IP Range Start to appropriate value (default 192.168.1.1) + + - Set IP Range End to appropriate value (default 192.168.1.254) + + - Set vlan to appropriate value (default 102) + +#. Update the Management network configuration. + + - Set CIDR to appropriate value (default 192.168.0.0/24) + + - Set IP Range Start to appropriate value (default 192.168.0.1) + + - Set IP Range End to appropriate value (default 192.168.0.254) + + - Check . + + - Set appropriate VLAN id. (default 101) + +#. Update the Private Network Information + + - Set CIDR to appropriate value (default 192.168.2.0/24 + + - Set IP Range Start to appropriate value (default 192.168.2.1) + + - Set IP Range End to appropriate value (default 192.168.2.254) + + - Check . + + - Set appropriate VLAN tag (default 103) + +#. Select the "Neutron L3" Node Networks group on the left pane. + + .. figure:: img/neutronl3.png + +#. Update the Floating Network configuration. + + - Set the Floating IP range start (default 172.16.0.130) + + - Set the Floating IP range end (default 172.16.0.254) + + - Set the Floating network name (default admin_floating_net) + +#. Update the Internal Network configuration. + + - Set Internal network CIDR to an appropriate value (default 192.168.111.0/24) + + - Set Internal network gateway to an appropriate value + + - Set the Internal network name (default admin_internal_net) + +#. Update the Guest OS DNS servers. + + - Set Guest OS DNS Server values appropriately + +#. Save Settings. + +#. Select the "Other" Node Networks group on the left pane (see figure below). + + .. figure:: img/other.png + +#. Update the Public network assignment. + + - Check the box for "Assign public network to all nodes" (Required by OpenDaylight) + +#. Update Host OS DNS Servers. + + - Provide the DNS server settings + +#. Update Host OS NTP Servers. + + - Provide the NTP server settings + +Select Hypervisor type +====================== + +#. In the FUEL UI of your Environment, click the "Settings" Tab + +#. Select "Compute" on the left side pane (see figure below) + + - Check the KVM box and press "Save settings" + + .. figure:: img/compute.png + +Enable Plugins +============== + +#. In the FUEL UI of your Environment, click the "Settings" Tab + +#. Select Other on the left side pane (see figure below) + + - Enable and configure the plugins of your choice + + .. figure:: img/plugins.png + +Allocate nodes to environment and assign functional roles +========================================================= + +#. Click on the "Nodes" Tab in the FUEL WEB UI (see figure below). + + .. figure:: img/addnodes.png + +#. Assign roles (see figure below). + + - Click on the <+Add Nodes> button + + - Check , and optionally an SDN Controller role (OpenDaylight controller/ONOS) in the "Assign Roles" Section. + + - Check one node which you want to act as a Controller from the bottom half of the screen + + - Click . + + - Click on the <+Add Nodes> button + + - Check the and roles. + + - Check the two next nodes you want to act as Controllers from the bottom half of the screen + + - Click + + - Click on <+Add Nodes> button + + - Check the and roles. + + - Check the Nodes you want to act as Computes from the bottom half of the screen + + - Click . + + .. figure:: img/computelist.png + +#. Configure interfaces (see figure below). + + - Check Select to select all allocated nodes + + - Click + + - Assign interfaces (bonded) for mgmt-, admin-, private-, public- and storage networks + + - Click + + .. figure:: img/interfaceconf.png + +OPTIONAL - Set Local Mirror Repos +================================= + +The following steps must be executed if you are in an environment with +no connection to the Internet. The Fuel server delivers a local repo +that can be used for installation / deployment of openstack. + +#. In the Fuel UI of your Environment, click the Settings Tab and select General from the left pane. + + - Replace the URI values for the "Name" values outlined below: + + - "ubuntu" URI="deb http://:8080/mirrors/ubuntu/ trusty main universe multiverse" + + - "ubuntu-security" URI="deb http://:8080/mirrors/ubuntu/ trusty-security main universe multiverse" + + - "ubuntu-updates" URI="deb http://:8080/mirrors/ubuntu/ trusty-updates main universe multiverse" + + - "mos" URI="deb http://::8080/mitaka-9.0/ubuntu/x86_64 mos9.0 main restricted" + + - "Auxiliary" URI="deb http://:8080/mitaka-9.0/ubuntu/auxiliary auxiliary main restricted" + + - Click at the bottom to Save your changes + +Target specific configuration +============================= + +#. Set up targets for provisioning with non-default "Offloading Modes" + + Some target nodes may require additional configuration after they are + PXE booted (bootstrapped); the most frequent changes are in defaults + for ethernet devices' "Offloading Modes" settings (e.g. some targets' + ethernet drivers may strip VLAN traffic by default). + + If your target ethernet drivers have wrong "Offloading Modes" defaults, + in "Configure interfaces" page (described above), expand affected + interface's "Offloading Modes" and [un]check the relevant settings + (see figure below): + + .. figure:: img/offloadingmodes.png + +#. Set up targets for "Verify Networks" with non-default "Offloading Modes" + + **NOTE**: Check *Reference 15* for an updated and comprehensive list of + known issues and/or limitations, including "Offloading Modes" not being + applied during "Verify Networks" step. + + Setting custom "Offloading Modes" in Fuel GUI will only apply those settings + during provisiong and **not** during "Verify Networks", so if your targets + need this change, you have to apply "Offloading Modes" settings by hand + to bootstrapped nodes. + + **E.g.**: Our driver has "rx-vlan-filter" default "on" (expected "off") on + the Openstack interface(s) "eth1", preventing VLAN traffic from passing + during "Verify Networks". + + - From Fuel master console identify target nodes admin IPs (see figure below): + + .. code-block:: bash + + $ fuel nodes + + .. figure:: img/fuelconsole1.png + + - SSH into each of the target nodes and disable "rx-vlan-filter" on the + affected physical interface(s) allocated for OpenStack traffic (eth1): + + .. code-block:: bash + + $ ssh root@10.20.0.6 ethtool -K eth1 rx-vlan-filter off + + - Repeat the step above for all affected nodes/interfaces in the POD. + +Verify Networks +=============== + +It is important that the Verify Networks action is performed as it will verify +that communicate works for the networks you have setup, as well as check that +packages needed for a successful deployment can be fetched. + +#. From the FUEL UI in your Environment, Select the Networks Tab and select "Connectivity check" on the left pane (see figure below) + + - Select + + - Continue to fix your topology (physical switch, etc) until the "Verification Succeeded" and "Your network is configured correctly" message is shown + + .. figure:: img/verifynet.png + +Deploy Your Environment +======================= + +#. Deploy the environment. + + - In the Fuel GUI, click on the "Dashboard" Tab. + + - Click on in the "Ready to Deploy?" section + + - Examine any information notice that pops up and click + + Wait for your deployment to complete, you can view the "Dashboard" + Tab to see the progress and status of your deployment. + +========================= +Installation health-check +========================= + +#. Perform system health-check (see figure below) + + - Click the "Health Check" tab inside your Environment in the FUEL Web UI + + - Check