PLEASE REFER TO R1 NETWORK CLOUD RELEASE DOCUMENTATION
NC Family Documentation - Release 1
THIS DOCUMENTATION WILL BE ARCHIVED
Contents
Prerequisites
- Internal and external network connectivity on all target hardware.
Steps
- Ensure all High Level Requirements are met.
- Clone and download repositories and packages for the appropriate Akraino release. (Linux Foundation credentials required.)
- Akraino Gerrit: From the list of projects, clone all relevant repositories.
- Akraino Nexus 3: Download all relevant packages.
- Install the Regional Controller Node:
- Bootstrap the bare metal regional server node from the central node.
- Run installation scripts to launch the Portal, Camunda Workflow, and Database components.
- Login to the Akraino Portal UI.
- Install the Edge Node via the Portal UI:
- Complete the appropriate YAML template according to site requirements:
- Site name
- Username and ssh key(s) for node access
- Server names and hardware details
- PXE, Storage, Public, and IPMI/iDrac network details
- SR-IOV interface details, including the number of virtual functions and BDF6 addresses
- Ceph storage configuration
- Choose the site to build, choose the required Blueprint, and select Build.
- Upon successful build, select Deploy. The following scripts will be run, with status conveyed to the UI:
- 1promgen.sh
- 2genesis.sh (invokes genesis.sh)
- 3deploy.sh
Deployment Components
The following components are deployed in automated sequential fashion:
- Genesis Host
- This is the first control node. Genesis serves as the seed node for the control cluster deployed on Edge sites.
- Genesis contains a standalone Kubernetes instance with undercloud components (e.g., Airship) deployed via Armada.
- Once the Undercloud is deployed, Ceph is deployed via Armada.
- Remaining cluster control nodes are deployed next from bare metal, using MaaS. This requires an available PXE network. The Genesis host will provide a MaaS controller.
Control Hosts
Compute Hosts
- Airship
- Apache Traffic Server (VNF)
- Ceph
- Calico
- ONAP
- OpenStack
- SR-IOV
High Level Requirements
Review requirements in the following order:
Compute Node Details
Herewith are three methods to locate sufficient hardware details:
$ sudo dmidecode -s system-manufacturer
HP
$ sudo dmidecode -s system-version
Not Specified
$ sudo dmidecode -s system-product-name
ProLiant DL380 Gen9
$ sudo dmidecode | grep -A3 '^System Information'
System Information
Manufacturer: HP
Product Name: ProLiant DL380 Gen9
Version: Not Specified
$ sudo apt-get install -y inxi
[ ... ]
$ sudo inxi -Fx
System: Host: mtxnjrsv124 Kernel: 4.4.0-101-generic x86_64 (64 bit gcc: 5.4.0) Console: tty 10
Distro: Ubuntu 16.04 xenial
Machine: Mobo: HP model: ProLiant DL380 Gen9 serial: MXQ604036H Bios: HP v: P89 date: 07/18/2016
CPU(s): 2 Multi core Intel Xeon E5-2680 v3s (-HT-MCP-SMP-) cache: 61440 KB
flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 119857
clock speeds: [ ... ]
Graphics: Card: Failed to Detect Video Card!
Display Server: X.org 1.18.4 drivers: fbdev (unloaded: vesa)
tty size: 103x37 Advanced Data: N/A for root out of X
Network: Card-1: Broadcom NetXtreme BCM5719 Gigabit Ethernet PCIe
driver: tg3 v: 3.137 bus-ID: 02:00.0
IF: eno1 state: down mac: 14:02:ec:36:52:c4
[ ... ]
Drives: HDD Total Size: 1320.2GB (16.2% used)
ID-1: /dev/sda model: LOGICAL_VOLUME size: 120.0GB temp: 0C
ID-2: /dev/sdb model: LOGICAL_VOLUME size: 1200.2GB temp: 0C
Partition: ID-1: / size: 28G used: 17G (66%) fs: ext4 dev: /dev/dm-0
ID-2: /boot size: 472M used: 155M (35%) fs: ext2 dev: /dev/sda1
ID-3: /home size: 80G used: 21G (28%) fs: ext4 dev: /dev/dm-2
RAID: No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors: System Temperatures: cpu: 48.0C mobo: N/A
Fan Speeds (in rpm): cpu: N/A
Info: Processes: 397 Uptime: 39 days Memory: 41943.1/257903.7MB
Init: systemd runlevel: 5 Gcc sys: 5.4.0 Client: Shell (sudo) inxi: 2.2.35 |
SR-IOV
Configure and determine the SR-IOV NIC as follows:
$ # update /etc/default/grub with this line
$ export GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt"
$ sudo -E update-grub
$ sudo reboot now
$ cat /proc/cmdline
$ sudo echo '32' > /sys/class/net/ens3f0/device/sriov_numvfs
$ sudo ip link show ens3f0 # to verify it worked
$ # add line to /etc/rc.local so it does this on reboot
$ sudo echo '32' > /sys/class/net/ens3f0/device/sriov_numvfs |
BDF6 Addresses
Intel provides a script to locate BDF6 addresses from their NICs. Learn more about Bus:Device:Function (BDF) Notation.
Network
This Network Cloud blueprint requires:
- A network that can be PXE booted with appropriate network topology and bonding settings (e.g., a dedicated PXE interface on an untagged/native VLAN)
- A segmented VLAN with all nodes bearing routes to the following network types:
- Management: Kubernetes (K8s) control channel
- Calico
- Storage
- Overlay
- Public
Storage
This Network Cloud blueprint requires:
- Control plane server disks:
- Two disk RAID-1 mirror for the operating system.
- Configure remaining disks as JBOD for Ceph, with Ceph journals preferentially deployed to SSDs where available.
- Data plane server disks:
- Two disk RAID-1 mirror for the operating system.
- Configure remaining disks per the host profile target for each server (e.g., RAID-6; no Ceph).
Redfish
This Network Cloud blueprint requires:
- Configuring BIOS with HTTP boot as a primary device.
- Adding MAC address of the card to Switch and DHCP server for traffic to flow.
- Creating the configuration file for pre-seed on DHCP server.
- Rebooting the server to boot on HTTP device.
- Getting IP and the related package of OS to install Operating System.