summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/Makefile2
-rw-r--r--build/f_isoroot/Makefile2
-rw-r--r--build/f_isoroot/f_odlpluginbuild/config.mk2
-rwxr-xr-xci/build.sh2
-rwxr-xr-xci/deploy.sh19
-rwxr-xr-xdeploy/deploy.py15
-rw-r--r--docs/installationprocedure/img/addnodes.pngbin24624 -> 24089 bytes
-rw-r--r--docs/installationprocedure/img/compute.pngbin49919 -> 25978 bytes
-rw-r--r--docs/installationprocedure/img/computelist.pngbin70343 -> 67975 bytes
-rw-r--r--docs/installationprocedure/img/fuelmenu1.pngbin8766 -> 9276 bytes
-rw-r--r--docs/installationprocedure/img/fuelmenu2.pngbin9679 -> 9774 bytes
-rw-r--r--docs/installationprocedure/img/fuelmenu3.pngbin9634 -> 9783 bytes
-rw-r--r--docs/installationprocedure/img/fuelmenu4.pngbin9843 -> 8843 bytes
-rw-r--r--docs/installationprocedure/img/fuelmenu5.pngbin22548 -> 20442 bytes
-rw-r--r--docs/installationprocedure/img/fuelmenu6.pngbin10703 -> 10322 bytes
-rw-r--r--docs/installationprocedure/img/grub-1.pngbin381031 -> 388991 bytes
-rw-r--r--docs/installationprocedure/img/health.pngbin54348 -> 51840 bytes
-rw-r--r--docs/installationprocedure/img/interfaceconf.pngbin58890 -> 25676 bytes
-rw-r--r--docs/installationprocedure/img/network.pngbin53472 -> 55423 bytes
-rw-r--r--docs/installationprocedure/img/neutronl3.pngbin71846 -> 40478 bytes
-rw-r--r--docs/installationprocedure/img/other.pngbin71641 -> 41526 bytes
-rw-r--r--docs/installationprocedure/img/plugins.pngbin39118 -> 52382 bytes
-rw-r--r--docs/installationprocedure/img/verifynet.pngbin61499 -> 33162 bytes
-rw-r--r--docs/installationprocedure/installation.instruction.rst69
24 files changed, 69 insertions, 42 deletions
diff --git a/build/Makefile b/build/Makefile
index c4775a3da..b3905e364 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -57,7 +57,7 @@ export MIRROR_UBUNTU_ROOT := $(shell echo -n '/' ; echo "$(MIRROR_UBUNTU_URL)" |
export LATEST_MIRROR_ID_URL := http://$(shell ./select_closest_fuel_mirror.py)
-export MIRROR_MOS_UBUNTU := $(shell echo "$(LATEST_MIRROR_ID_URL)" | cut -d'/' -f3)
+export MIRROR_MOS_UBUNTU ?= $(shell echo "$(LATEST_MIRROR_ID_URL)" | cut -d'/' -f3)
export LATEST_TARGET_UBUNTU := $(shell curl -sSf "$(MIRROR_MOS_UBUNTU)/mos-repos/ubuntu/$(MOSVERSION).target.txt" | head -1)
export MIRROR_MOS_UBUNTU_ROOT := /mos-repos/ubuntu/$(LATEST_TARGET_UBUNTU)
diff --git a/build/f_isoroot/Makefile b/build/f_isoroot/Makefile
index 4df7bcb0c..448f4158c 100644
--- a/build/f_isoroot/Makefile
+++ b/build/f_isoroot/Makefile
@@ -11,7 +11,7 @@
# Add Fuel plugin build targets here
# Plugins disabled for the Fuel Mitaka uplift. Please re-enable your plugin as you have
# verified it!
-PLUGINS = f_odlpluginbuild f_onosfwpluginbuild f_vsperfpluginbuild f_ovs-nsh-dpdk-pluginbuild f_yardstick-pluginbuild f_kvm-pluginbuild f_bgpvpn-pluginbuild f_collectd-ceilometer-pluginbuild
+PLUGINS ?= f_odlpluginbuild f_onosfwpluginbuild f_vsperfpluginbuild f_ovs-nsh-dpdk-pluginbuild f_yardstick-pluginbuild f_kvm-pluginbuild f_bgpvpn-pluginbuild f_collectd-ceilometer-pluginbuild
#PLUGINS = f_odlpluginbuild f_onosfwpluginbuild f_ovsnfv-dpdk-pluginbuild f_vsperfpluginbuild f_ovs-nsh-dpdk-pluginbuild f_bgpvpn-pluginbuild
export PLUGINS
#NON_8-0_REBASED_PLUGINS = f_bgpvpn-pluginbuild
diff --git a/build/f_isoroot/f_odlpluginbuild/config.mk b/build/f_isoroot/f_odlpluginbuild/config.mk
index d600e54ef..48e7f78fd 100644
--- a/build/f_isoroot/f_odlpluginbuild/config.mk
+++ b/build/f_isoroot/f_odlpluginbuild/config.mk
@@ -8,7 +8,7 @@
##############################################################################
FUEL_PLUGIN_ODL_BRANCH ?= master
-FUEL_PLUGIN_ODL_CHANGE ?= 8cc22c4717d2da338135d854e1d13aac3ef75314
+FUEL_PLUGIN_ODL_CHANGE ?= 0ff4ebdbfe5f681f0b44eea14c9c2b3dbb10b1d5
FUEL_PLUGIN_ODL_REPO ?= https://github.com/openstack/fuel-plugin-opendaylight.git
export ODL_TARBALL_LOCATION?=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/distribution-karaf/0.4.3-Beryllium-SR3/distribution-karaf-0.4.3-Beryllium-SR3.tar.gz
diff --git a/ci/build.sh b/ci/build.sh
index 62abba173..82049cdcd 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -111,7 +111,7 @@ SCRIPT_DIR=$(readlink -f $(dirname ${BASH_SOURCE[0]}))
BUILD_BASE=$(readlink -e ${SCRIPT_DIR}/../build/)
RESULT_DIR="${BUILD_BASE}/release"
BUILD_SPEC="${BUILD_BASE}/config.mk"
-LOCAL_CACHE_ARCH_NAME="fuel-cache"
+LOCAL_CACHE_ARCH_NAME="${LOCAL_CACHE_ARCH_NAME:-fuel-cache}"
#
# END of variables to customize
diff --git a/ci/deploy.sh b/ci/deploy.sh
index 4e4586c2e..8411714eb 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -29,7 +29,7 @@ cat << EOF
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
`basename $0`: Deploys the Fuel@OPNFV stack
-usage: `basename $0` -b base-uri [-B PXE Bridge] [-f] [-F] [-H] -l lab-name -p pod-name -s deploy-scenario [-S image-dir] -i iso
+usage: `basename $0` -b base-uri [-B PXE Bridge] [-f] [-F] [-H] -l lab-name -p pod-name -s deploy-scenario [-S image-dir] [-T timeout] -i iso
-s deployment-scenario [-S optional Deploy-scenario path URI]
[-R optional local relen repo (containing deployment Scenarios]
@@ -47,6 +47,7 @@ OPTIONS:
-p Pod-name
-s Deploy-scenario short-name/base-file-name
-S Storage dir for VM images
+ -T Timeout, in minutes, for the deploy.
-i iso url
Description:
@@ -78,6 +79,8 @@ Input parameters to the build script is:
or a deployment short-name as defined by scenario.yaml in the deployment
scenario path.
-S Storage dir for VM images, default is fuel/deploy/images
+-T Timeout, in minutes, for the deploy. It defaults to using the DEPLOY_TIMEOUT
+ environment variable when defined, or to the default in deploy.py otherwise
-i .iso image to be deployed (needs to be provided in a URI
style, it can be a local resource: file:// or a remote resource http(s)://)
@@ -116,6 +119,11 @@ FUEL_CREATION_ONLY=''
NO_DEPLOY_ENVIRONMENT=''
STORAGE_DIR=''
DRY_RUN=0
+if ! [ -z $DEPLOY_TIMEOUT ]; then
+ DEPLOY_TIMEOUT="-dt $DEPLOY_TIMEOUT"
+else
+ DEPLOY_TIMEOUT=""
+fi
#
# END of variables to customize
############################################################################
@@ -123,7 +131,7 @@ DRY_RUN=0
############################################################################
# BEGIN of main
#
-while getopts "b:B:dfFHl:L:p:s:S:i:he" OPTION
+while getopts "b:B:dfFHl:L:p:s:S:T:i:he" OPTION
do
case $OPTION in
b)
@@ -174,6 +182,9 @@ do
STORAGE_DIR="-s ${OPTARG}"
fi
;;
+ T)
+ DEPLOY_TIMEOUT="-dt ${OPTARG}"
+ ;;
i)
ISO=${OPTARG}
if [[ ! $ISO == file://* ]] && \
@@ -243,8 +254,8 @@ if [ $DRY_RUN -eq 0 ]; then
ISO=${SCRIPT_PATH}/ISO/image.iso
fi
# Start deployment
- echo "python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO"
- python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO
+ echo "python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO $DEPLOY_TIMEOUT"
+ python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO $DEPLOY_TIMEOUT
fi
popd > /dev/null
diff --git a/deploy/deploy.py b/deploy/deploy.py
index 9e188ebe6..f491929e0 100755
--- a/deploy/deploy.py
+++ b/deploy/deploy.py
@@ -109,6 +109,20 @@ class AutoDeploy(object):
self.iso_file = new_iso
self.install_iso()
+ def delete_old_fuel_env(self):
+ log('Delete old Fuel Master environments if present')
+ try:
+ old_dep = CloudDeploy(self.dea, self.dha, self.fuel_conf['ip'],
+ self.fuel_username, self.fuel_password,
+ self.dea_file, self.fuel_plugins_conf_dir,
+ WORK_DIR, self.no_health_check,
+ self.deploy_timeout,
+ self.no_deploy_environment, self.deploy_log)
+ with old_dep.ssh:
+ old_dep.check_previous_installation()
+ except Exception as e:
+ log('Could not delete old env: %s' % str(e))
+
def install_iso(self):
fuel = InstallFuelMaster(self.dea_file, self.dha_file,
self.fuel_conf['ip'], self.fuel_username,
@@ -226,6 +240,7 @@ class AutoDeploy(object):
def deploy(self):
self.collect_fuel_info()
if not self.no_fuel:
+ self.delete_old_fuel_env()
self.setup_execution_environment()
self.create_tmp_dir()
self.install_fuel_master()
diff --git a/docs/installationprocedure/img/addnodes.png b/docs/installationprocedure/img/addnodes.png
index 15730db90..b62405692 100644
--- a/docs/installationprocedure/img/addnodes.png
+++ b/docs/installationprocedure/img/addnodes.png
Binary files differ
diff --git a/docs/installationprocedure/img/compute.png b/docs/installationprocedure/img/compute.png
index fd7811f37..fc1cf0f22 100644
--- a/docs/installationprocedure/img/compute.png
+++ b/docs/installationprocedure/img/compute.png
Binary files differ
diff --git a/docs/installationprocedure/img/computelist.png b/docs/installationprocedure/img/computelist.png
index a4453d958..474196536 100644
--- a/docs/installationprocedure/img/computelist.png
+++ b/docs/installationprocedure/img/computelist.png
Binary files differ
diff --git a/docs/installationprocedure/img/fuelmenu1.png b/docs/installationprocedure/img/fuelmenu1.png
index 15fccc434..ee7a0edb2 100644
--- a/docs/installationprocedure/img/fuelmenu1.png
+++ b/docs/installationprocedure/img/fuelmenu1.png
Binary files differ
diff --git a/docs/installationprocedure/img/fuelmenu2.png b/docs/installationprocedure/img/fuelmenu2.png
index 1f87c53e5..4dcbb6e68 100644
--- a/docs/installationprocedure/img/fuelmenu2.png
+++ b/docs/installationprocedure/img/fuelmenu2.png
Binary files differ
diff --git a/docs/installationprocedure/img/fuelmenu3.png b/docs/installationprocedure/img/fuelmenu3.png
index c9fa27959..23e61975b 100644
--- a/docs/installationprocedure/img/fuelmenu3.png
+++ b/docs/installationprocedure/img/fuelmenu3.png
Binary files differ
diff --git a/docs/installationprocedure/img/fuelmenu4.png b/docs/installationprocedure/img/fuelmenu4.png
index 1bc9c0410..3be29cd66 100644
--- a/docs/installationprocedure/img/fuelmenu4.png
+++ b/docs/installationprocedure/img/fuelmenu4.png
Binary files differ
diff --git a/docs/installationprocedure/img/fuelmenu5.png b/docs/installationprocedure/img/fuelmenu5.png
index 11247986b..e3d215459 100644
--- a/docs/installationprocedure/img/fuelmenu5.png
+++ b/docs/installationprocedure/img/fuelmenu5.png
Binary files differ
diff --git a/docs/installationprocedure/img/fuelmenu6.png b/docs/installationprocedure/img/fuelmenu6.png
index 9ff62c798..cafbcddfc 100644
--- a/docs/installationprocedure/img/fuelmenu6.png
+++ b/docs/installationprocedure/img/fuelmenu6.png
Binary files differ
diff --git a/docs/installationprocedure/img/grub-1.png b/docs/installationprocedure/img/grub-1.png
index 7488503af..e64b79373 100644
--- a/docs/installationprocedure/img/grub-1.png
+++ b/docs/installationprocedure/img/grub-1.png
Binary files differ
diff --git a/docs/installationprocedure/img/health.png b/docs/installationprocedure/img/health.png
index 71675069e..57bd8cf70 100644
--- a/docs/installationprocedure/img/health.png
+++ b/docs/installationprocedure/img/health.png
Binary files differ
diff --git a/docs/installationprocedure/img/interfaceconf.png b/docs/installationprocedure/img/interfaceconf.png
index e8b45578c..e00b03f03 100644
--- a/docs/installationprocedure/img/interfaceconf.png
+++ b/docs/installationprocedure/img/interfaceconf.png
Binary files differ
diff --git a/docs/installationprocedure/img/network.png b/docs/installationprocedure/img/network.png
index 04c67d38e..7bef05064 100644
--- a/docs/installationprocedure/img/network.png
+++ b/docs/installationprocedure/img/network.png
Binary files differ
diff --git a/docs/installationprocedure/img/neutronl3.png b/docs/installationprocedure/img/neutronl3.png
index dd8d7954b..36291ef87 100644
--- a/docs/installationprocedure/img/neutronl3.png
+++ b/docs/installationprocedure/img/neutronl3.png
Binary files differ
diff --git a/docs/installationprocedure/img/other.png b/docs/installationprocedure/img/other.png
index 4e740eb06..c088488dc 100644
--- a/docs/installationprocedure/img/other.png
+++ b/docs/installationprocedure/img/other.png
Binary files differ
diff --git a/docs/installationprocedure/img/plugins.png b/docs/installationprocedure/img/plugins.png
index bfe8781e8..8f7ea596f 100644
--- a/docs/installationprocedure/img/plugins.png
+++ b/docs/installationprocedure/img/plugins.png
Binary files differ
diff --git a/docs/installationprocedure/img/verifynet.png b/docs/installationprocedure/img/verifynet.png
index 5932bc223..e675562c0 100644
--- a/docs/installationprocedure/img/verifynet.png
+++ b/docs/installationprocedure/img/verifynet.png
Binary files differ
diff --git a/docs/installationprocedure/installation.instruction.rst b/docs/installationprocedure/installation.instruction.rst
index fea90af0d..bb56a53cf 100644
--- a/docs/installationprocedure/installation.instruction.rst
+++ b/docs/installationprocedure/installation.instruction.rst
@@ -13,7 +13,7 @@ Abstract
========
This document describes how to install the Colorado release of
-OPNFV when using Fuel as a deployment tool, covering it's usage,
+OPNFV when using Fuel as a deployment tool, covering it's usage,
limitations, dependencies and required system resources.
Introduction
@@ -35,6 +35,7 @@ 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.
@@ -49,7 +50,8 @@ 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:
+opnfv/fuel git repository. To retrieve the repository for the Colorado
+release use the following command:
.. code-block:: bash
@@ -97,7 +99,7 @@ Prior to installation, a number of deployment specific parameters must be collec
#. How many nodes and what roles you want to deploy (Controllers, Storage, Computes)
-#. Monitoring options you want to deploy (Ceilometer, Syslog, erc.).
+#. Monitoring options you want to deploy (Ceilometer, Syslog, etc.).
#. Other options not covered in the document are available in the links above
@@ -207,7 +209,7 @@ Install Fuel master
.. figure:: img/grub-1.png
-#. Wait until screen Fuel setup is shown (Note: This can take up to 30 minutes).
+#. 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)
@@ -274,7 +276,7 @@ Install Fuel master
- Select Quit Setup and press Save and Quit.
- - Installation starts, wait until the login screen is shown.
+ - The installation will now start, wait until the login screen is shown.
Boot the Node Servers
@@ -282,12 +284,12 @@ 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
+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.
+ - 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.
@@ -324,7 +326,7 @@ Install additional Plugins/Features on the FUEL node
Create an OpenStack Environment
-------------------------------
-#. Connect to Fuel WEB UI with a browser (default: https://10.20.0.2:8443) (login admin/admin)
+#. 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.
@@ -350,7 +352,7 @@ Create an OpenStack Environment
#. Select "additional services" you wish to install.
- - Check option "Install Ceilometer (OpenStack Telemetry)" and press <Next>
+ - Check option "Install Ceilometer and Aodh" and press <Next>
#. Create the new environment.
@@ -361,7 +363,7 @@ 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).
+#. Open the networks tab and select the "default" Node Networks group to on the left pane (see figure below).
.. figure:: img/network.png
@@ -413,7 +415,7 @@ Configure the network environment
- Set appropriate VLAN tag (default 103)
-#. Select the "Neutron L3 Node Networks group" on the left pane.
+#. Select the "Neutron L3" Node Networks group on the left pane.
.. figure:: img/neutronl3.png
@@ -439,7 +441,7 @@ Configure the network environment
#. Save Settings.
-#. Select the "Other Node Networks group" on the left pane(see figure below).
+#. Select the "Other" Node Networks group on the left pane (see figure below).
.. figure:: img/other.png
@@ -460,7 +462,7 @@ Select Hypervisor type
#. In the FUEL UI of your Environment, click the "Settings" Tab
-#. Select Compute on the left side pane (see figure below)
+#. Select "Compute" on the left side pane (see figure below)
- Check the KVM box and press "Save settings"
@@ -488,7 +490,7 @@ Allocate nodes to environment and assign functional roles
- Click on the <+Add Nodes> button
- - Check <Controller>, <Telemetry - MongoDB> and optionally an SDN Controller role (OpenDaylight controller/ONOS) in the Assign Roles Section.
+ - Check <Controller>, <Telemetry - MongoDB> 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
@@ -518,8 +520,7 @@ Allocate nodes to environment and assign functional roles
- Click <Configure Interfaces>
- - Assign interfaces (bonded) for mgmt-, admin-, private-, public-
- and storage networks
+ - Assign interfaces (bonded) for mgmt-, admin-, private-, public- and storage networks
- Click <Apply>
@@ -529,7 +530,7 @@ Allocate nodes to environment and assign functional roles
OPTIONAL - Set Local Mirror Repos
---------------------------------
-The following steps can be executed if you are in an environment with
+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.
@@ -543,7 +544,7 @@ that can be used for installation / deployment of openstack.
- "ubuntu-updates" URI="deb http://<ip-of-fuel-server>:8080/mirrors/ubuntu/ trusty-updates main"
- - "mos" URI="deb http://<ip-of-fuel-server>::8080/mitaka-9.0/ubuntu/x86_64 mos8.0 main restricted"
+ - "mos" URI="deb http://<ip-of-fuel-server>::8080/mitaka-9.0/ubuntu/x86_64 mos9.0 main restricted"
- "Auxiliary" URI="deb http://<ip-of-fuel-server>:8080/mitaka-9.0/ubuntu/auxiliary auxiliary main restricted"
@@ -617,7 +618,7 @@ packages needed for a successful deployment can be fetched.
Deploy Your Environment
-----------------------
-38. Deploy the environment.
+#. Deploy the environment.
- In the Fuel GUI, click on the "Dashboard" Tab.
@@ -647,43 +648,43 @@ References
OPNFV
-----
-1) `OPNFV Home Page <http://www.opnfv.org>`_
+1) `OPNFV Home Page <http://www.opnfv.org>`_: http://www.opnfv.org
-2) `OPNFV documentation- and software downloads <https://www.opnfv.org/software/download>`_
+2) `OPNFV documentation- and software downloads <https://www.opnfv.org/software/download>`_: https://www.opnfv.org/software/download
OpenStack
---------
-3) `OpenStack Mitaka Release artifacts <http://www.openstack.org/software/mitaka>`_
+3) `OpenStack Mitaka Release artifacts <http://www.openstack.org/software/mitaka>`_: http://www.openstack.org/software/mitaka
-4) `OpenStack documentation <http://docs.openstack.org>`_
+4) `OpenStack documentation <http://docs.openstack.org>`_: http://docs.openstack.org
OpenDaylight
------------
-5) `OpenDaylight artifacts <http://www.opendaylight.org/software/downloads>`_
+5) `OpenDaylight artifacts <http://www.opendaylight.org/software/downloads>`_: http://www.opendaylight.org/software/downloads
Fuel
----
-6) `The Fuel OpenStack project <https://wiki.openstack.org/wiki/Fuel>`_
+6) `The Fuel OpenStack project <https://wiki.openstack.org/wiki/Fuel>`_: https://wiki.openstack.org/wiki/Fuel
-7) `Fuel documentation overview <http://docs.openstack.org/developer/fuel-docs>`_
+7) `Fuel documentation overview <http://docs.openstack.org/developer/fuel-docs>`_: http://docs.openstack.org/developer/fuel-docs
-8) `Fuel Installation Guide <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-install-guide.html>`_
+8) `Fuel Installation Guide <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-install-guide.html>`_: http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-install-guide.html
-9) `Fuel User Guide <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide.html>`_
+9) `Fuel User Guide <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide.html>`_: http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide.html
-10) `Fuel Developer Guide <http://docs.openstack.org/developer/fuel-docs/devdocs/develop.html>`_
+10) `Fuel Developer Guide <http://docs.openstack.org/developer/fuel-docs/devdocs/develop.html>`_: http://docs.openstack.org/developer/fuel-docs/devdocs/develop.html
-11) `Fuel Plugin Developers Guide <http://docs.openstack.org/developer/fuel-docs/plugindocs/fuel-plugin-sdk-guide.html>`_
+11) `Fuel Plugin Developers Guide <http://docs.openstack.org/developer/fuel-docs/plugindocs/fuel-plugin-sdk-guide.html>`_: http://docs.openstack.org/developer/fuel-docs/plugindocs/fuel-plugin-sdk-guide.html
-12) `Fuel OpenStack Hardware Compatibility List <https://www.mirantis.com/products/openstack-drivers-and-plugins/hardware-compatibility-list>`_
+12) `Fuel OpenStack Hardware Compatibility List <https://www.mirantis.com/products/openstack-drivers-and-plugins/hardware-compatibility-list>`_: https://www.mirantis.com/products/openstack-drivers-and-plugins/hardware-compatibility-list
Fuel in OPNFV
-------------
-13) `OPNFV Installation instruction for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/installation-instruction.html>`_
+13) `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>`_: http://artifacts.opnfv.org/fuel/colorado/docs/installationprocedure/index.html
-14) `OPNFV Build instruction for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/build-instruction.html>`_
+14) `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>`_: http://artifacts.opnfv.org/fuel/colorado/docs/buildprocedure/index.html
-15) `OPNFV Release Note for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/release-notes.html>`_
+15) `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>`_: http://artifacts.opnfv.org/fuel/colorado/docs/releasenotes/index.html