opnfv/armband git repository. To retrieve the repository for the AArch64
Brahmaputra 3.0 release use the following command:
-$ git clone https://gerrit.opnfv.org/gerrit/armband
+.. code-block:: bash
-Check-out the Brahmaputra release tag to set the branch to the
+ $ git clone https://gerrit.opnfv.org/gerrit/armband
+
+Check-out the Brahmaputra release tag to set the HEAD to the
baseline required to replicate the Brahmaputra release:
-$ git checkout brahmaputra.3.0
+.. code-block:: bash
+
+ $ git checkout brahmaputra.3.0
Go to the armband directory and build the .iso:
-$ cd armband; make release
+.. code-block:: bash
+
+ $ cd armband
+ $ make release
For more information on how to build, please see *Reference: 14*
| **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 |
#. 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/Static in your corporate/lab network (see figure below).
- - **Note**: ArmbandFuel@OPNFV requires internet connectivity during bootstrap
+ - **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).
.. figure:: img/fuelmenu4.png
+#. **DO NOT CHANGE** anything in "Bootstrap Image" section (see figure below).
-#. 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)
+ 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.
- - Navigate to "HTTP proxy" and enter your http proxy address
-
- - Select <Check> and press [Enter]
+ **NOTE:** Cannot be used in tandem with local repository support.
.. figure:: img/fuelmenu5.png
#. Start the installation.
- - Select Quit Setup and press Save and Quit.
+ - Press <F8> or select Quit Setup and press Save and Quit.
- Installation starts, wait until the login screen is shown.
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 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 UEFI (EDK2) boot order menu and hard disk as the second boot device in the same menu.
#. Reboot all the control and compute blades.
.. figure:: img/nodes.png
-Target specific configuration
------------------------------
-
-#. AMD Softiron
-
- For these targets, "rx-vlan-filter" offloading has to be turned off on the interface destined for OpenStack traffic (not the interface used for PXE boot).
- For now this setting cannot be toggled from Fuel GUI, so it has to be done form the console.
-
- - From Fuel master console identify target nodes admin IPs (see figure below).
+Install additional Plugins/Features on the FUEL node
+----------------------------------------------------
- .. figure:: img/fuelconsole1.png
+#. SSH to your FUEL node (e.g. root@10.20.0.2 pwd: r00tme)
- - SSH into each of the target nodes and disable rx-vlan-filter on the physical interface allocated for OpenStack traffic (see figure below).
+#. Select wanted plugins/features from the /opt/opnfv/ directory.
- .. figure:: img/softiron1.png
+#. Install the wanted plugin with the command:
- - Repeat the step above for all AMD Softiron nodes in the POD.
+ .. code-block:: bash
+ $ fuel plugins --install /opt/opnfv/<plugin-name>-<version>.<arch>.rpm
-Install additional Plugins/Features on the FUEL node
-----------------------------------------------------
+ Expected output (see figure below):
-#. SSH to your FUEL node (e.g. root@10.20.0.2 pwd: r00tme)
-
-#. Select wanted plugins/features from the /opt/opnfv/ directory.
+ .. code-block:: bash
-#. Install the wanted plugin with the command "fuel plugins --install /opt/opnfv/<plugin-name>-<version>.<arch>.rpm"
- Expected output: "Plugin ....... was successfully installed." (see figure below)
+ Plugin ....... was successfully installed.
- **NOTE**: AArch64 Brahmaputra 3.0 ships only with Opendaylight plugin,
- see *Reference 15*.
+ **NOTE**: AArch64 Brahmaputra 3.0 ships only with Opendaylight plugin,
+ see *Reference 15*.
.. figure:: img/plugin_install.png
- Enable and configure the plugins of your choice
- .. figure:: img/plugins.png
+ .. figure:: img/plugins_aarch64.png
Allocate nodes to environment and assign functional roles
---------------------------------------------------------
.. figure:: img/interfaceconf.png
-
OPTIONAL - UNTESTED - Set Local Mirror Repos
---------------------------------
- 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
---------------