summaryrefslogtreecommitdiffstats
path: root/docs/installationprocedure/installation.instruction.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/installationprocedure/installation.instruction.rst')
-rw-r--r--docs/installationprocedure/installation.instruction.rst749
1 files changed, 749 insertions, 0 deletions
diff --git a/docs/installationprocedure/installation.instruction.rst b/docs/installationprocedure/installation.instruction.rst
new file mode 100644
index 00000000..0e0bdf8f
--- /dev/null
+++ b/docs/installationprocedure/installation.instruction.rst
@@ -0,0 +1,749 @@
+.. 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 <http://creativecommons.org/licenses/by/4.0/>.
+
+========
+Abstract
+========
+
+This document describes how to install the Colorado release of
+OPNFV when using Fuel as a deployment tool, with an AArch64 (only)
+target node pool. It covers 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, with an AArch64 (only) target node pool,
+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 AArch64 Colorado 1.0 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
+ArmbandFuel .iso image of the AArch64 Colorado release can be found
+at *Reference: 2*
+
+Building the ISO image
+======================
+
+Alternatively, you may build the Armband Fuel .iso from source by cloning
+the opnfv/armband git repository. To retrieve the repository for the AArch64
+Colorado 1.0 release use the following command:
+
+.. code-block:: bash
+
+ $ git clone https://gerrit.opnfv.org/gerrit/armband
+
+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 armband directory and build the .iso:
+
+.. code-block:: bash
+
+ $ cd armband; 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 QuickStart, 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 AArch64 Colorado 1.0 using Fuel:
+
++--------------------+------------------------------------------------------+
+| **HW Aspect** | **Requirement** |
+| | |
++====================+======================================================+
+| **AArch64 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 AArch64 (ARMv8) with Virtualization |
+| | support |
++--------------------+------------------------------------------------------+
+| **RAM** | Minimum 16GB/server (Depending on VNF work load) |
+| | |
++--------------------+------------------------------------------------------+
+| **Disk** | Minimum 256GB 10kRPM spinning disks |
+| | |
++--------------------+------------------------------------------------------+
+| **Firmware** | UEFI compatible (e.g. EDK2) with PXE support |
++--------------------+------------------------------------------------------+
+| **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. |
++--------------------+------------------------------------------------------+
+| **1 x86_64 node** | - 1 Fuel deployment master, x86 (may be virtualized) |
++--------------------+------------------------------------------------------+
+
+===============================
+Help with Hardware Requirements
+===============================
+
+Calculate hardware requirements:
+
+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:
+<https://wiki.opnfv.org/display/pharos/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 Armband 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).
+
+- **NOTE**: ArmbandFuel@OPNFV requires internet connectivity during bootstrap
+ image building, due to missing arm64 (AArch64) packages in the partial
+ local Ubuntu mirror (consequence of ports.ubuntu.com mirror architecture).
+
+ - Configuration of ETH1 interface for connectivity into your corporate/lab
+ network is mandatory, as internet connection is required during deployment.
+
+ .. figure:: img/fuelmenu2.png
+
+ .. figure:: img/fuelmenu2a.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 <Check> and press [Enter]
+
+ .. figure:: img/fuelmenu4.png
+
+
+#. **DO NOT CHANGE** anything in "Bootstrap Image" section (see figure below).
+
+ In ArmbandFuel@OPNFV, this data is **NOT** actually used for bootstrap
+ image building. Any change here will replace the configuration from
+ the OPNFV bootstrap build scripts and will lead to a failed bootstrap
+ image build.
+
+ **NOTE:** Cannot be used in tandem with local repository support.
+
+ .. figure:: img/fuelmenu5.png
+
+#. In the "Time Sync" section (see figure below) - Change the following fields to appropriate values:
+
+ - NTP Server 1 <Customer NTP server 1>
+
+ - NTP Server 2 <Customer NTP server 2>
+
+ - NTP Server 3 <Customer NTP server 3>
+
+ .. figure:: img/fuelmenu6.png
+
+#. Start the installation.
+
+ - Press <F8>
+
+ - 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.
+
+**NOTE**: AArch64 target nodes are expected to support PXE booting an
+EFI binary, i.e. an EFI-stubbed GRUB2 bootloader.
+
+**NOTE**: UEFI (EDK2) firmware is **highly** recommended, becoming
+the **de facto** standard for ARMv8 nodes.
+
+#. Enable PXE booting
+
+ - For every controller and compute server: enable PXE Booting as the first boot device in the UEFI (EDK2) 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/<plugin-name>-<version>.<arch>.rpm
+
+ Expected output (see figure below):
+
+ .. code-block:: bash
+
+ Plugin ....... was successfully installed.
+
+ .. figure:: img/plugin_install.png
+
+ **NOTE**: AArch64 Colorado 1.0 ships only with ODL, OVS and BGPVPN plugins,
+ see *Reference 15*.
+
+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 "<Mitaka on Ubuntu 14.04 (aarch64)>" and press <Next>
+
+#. Select "compute virtulization method".
+
+ - Select "QEMU-KVM as hypervisor" and press <Next>
+
+#. Select "network mode".
+
+ - Select "Neutron with ML2 plugin"
+
+ - Select "Neutron with tunneling segmentation" (Required when using the ODL plugin)
+
+ - Press <Next>
+
+#. Select "Storage Back-ends".
+
+ - Select "Ceph for block storage" and press <Next>
+
+#. Select "additional services" you wish to install.
+
+ - Check option "Install Ceilometer and Aodh" and press <Next>
+
+#. Create the new environment.
+
+ - Click <Create> 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 <CIDR for Public IP Addresses>
+
+ - IP Range Start to <Public IP Address start>
+
+ - IP Range End to <Public IP Address end>
+
+ - Gateway to <Gateway for Public IP Addresses>
+
+ - Check <VLAN tagging>.
+
+ - 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 <VLAN tagging>.
+
+ - 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 <VLAN tagging>.
+
+ - 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_aarch64.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 <Controller>, <Telemetry - MongoDB> and optionally an SDN Controller role (OpenDaylight controller) in the "Assign Roles" Section.
+
+ - Check one node which you want to act as a Controller from the bottom half of the screen
+
+ - Click <Apply Changes>.
+
+ - Click on the <+Add Nodes> button
+
+ - Check the <Controller> and <Storage - Ceph OSD> roles.
+
+ - Check the two next nodes you want to act as Controllers from the bottom half of the screen
+
+ - Click <Apply Changes>
+
+ - Click on <+Add Nodes> button
+
+ - Check the <Compute> and <Storage - Ceph OSD> roles.
+
+ - Check the Nodes you want to act as Computes from the bottom half of the screen
+
+ - Click <Apply Changes>.
+
+ .. figure:: img/computelist.png
+
+#. Configure interfaces (see figure below).
+
+ - Check Select <All> to select all allocated nodes
+
+ - Click <Configure Interfaces>
+
+ - Assign interfaces (bonded) for mgmt-, admin-, private-, public- and storage networks
+
+ - Click <Apply>
+
+ .. figure:: img/interfaceconf.png
+
+OPTIONAL - UNTESTED - Set Local Mirror Repos
+===========================================
+
+**NOTE**: AArch64 Colorado 1.0 does not fully support local Ubuntu mirrors,
+or at least does not ship with arm64 packages in local repos by default.
+In order to use local (partial) Ubuntu mirrors, one should add arm64 packages
+by hand to the existing amd64 mirrors and re-generate repo metadata.
+Local MOS/Auxiliary repos contain packages for both amd64 and arm64.
+
+**NOTE**: Below instruction assume you already added (by hand) arm64
+Ubuntu necessary packages to the local repository!
+
+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://<ip-of-fuel-server>:8080/mirrors/ubuntu/ trusty main"
+
+ - "ubuntu-security" URI="deb http://<ip-of-fuel-server>:8080/mirrors/ubuntu/ trusty-security main"
+
+ - "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 mos9.0 main restricted"
+
+ - "Auxiliary" URI="deb http://<ip-of-fuel-server>:8080/mitaka-9.0/ubuntu/auxiliary auxiliary main restricted"
+
+ - Click <Save Settings> at the bottom to Save your changes
+
+Target specific configuration
+=============================
+
+#. [AArch64 specific] Configure MySQL WSREP SST provider
+
+ **NOTE**: This option is only available for ArmbandFuel@OPNFV, since it
+ currently only affects AArch64 targets (see *Reference 15*).
+
+ When using some AArch64 platforms as controller nodes, WSREP SST
+ synchronisation using default backend provider (xtrabackup-v2) might fail,
+ so a mechanism that allows selecting a different WSREP SST provider
+ has been introduced.
+
+ In the FUEL UI of your Environment, click the <Settings> tab, click
+ <OpenStack Services> on the left side pane (see figure below), then
+ select one of the following options:
+
+ - xtrabackup-v2 (default provider, AArch64 stability issues);
+
+ - rsync (AArch64 validated, better or comparable speed to xtrabackup,
+ takes the donor node offline during state transfer);
+
+ - mysqldump (untested);
+
+ .. figure:: img/fuelwsrepsst.png
+
+#. 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 <Verify Networks>
+
+ - 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 <Deploy Changes> in the "Ready to Deploy?" section
+
+ - Examine any information notice that pops up and click <Deploy>
+
+ 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 <Select All> and Click <Run Tests>
+
+ - Allow tests to run and investigate results where appropriate
+
+ - Check *Reference 15* for known issues / limitations on AArch64
+
+ .. figure:: img/health.png
+
+==========
+References
+==========
+
+OPNFV
+=====
+
+1) `OPNFV Home Page <http://www.opnfv.org>`_: http://www.opnfv.org
+
+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>`_: http://www.openstack.org/software/mitaka
+
+4) `OpenStack documentation <http://docs.openstack.org>`_: http://docs.openstack.org
+
+OpenDaylight
+============
+
+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>`_: https://wiki.openstack.org/wiki/Fuel
+
+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>`_: http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-install-guide.html
+
+9) `Fuel QuickStart Guide <https://docs.mirantis.com/openstack/fuel/fuel-9.0/quickstart-guide.html>`_: https://docs.mirantis.com/openstack/fuel/fuel-9.0/quickstart-guide.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>`_: http://docs.openstack.org/developer/fuel-docs/plugindocs/fuel-plugin-sdk-guide.html
+
+12) `(N/A on AArch64) 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 AArch64 Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/armband/colorado/docs/installationprocedure/index.html>`_: http://artifacts.opnfv.org/armband/colorado/docs/installationprocedure/index.html
+
+14) `OPNFV Build instruction for the AArch64 Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/armband/colorado/docs/buildprocedure/index.html>`_: http://artifacts.opnfv.org/armband/colorado/docs/buildprocedure/index.html
+
+15) `OPNFV Release Note for the AArch64 Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/armband/colorado/docs/releasenotes/index.html>`_: http://artifacts.opnfv.org/armband/colorado/docs/releasenotes/index.html