This guide instructs how to build and install an Akraino Edge Stack (AES) Regional Controller node.
Contents
Table of Contents | ||
---|---|---|
|
Overview
The Regional Controller Node installation includes the following components:
Operating System
- Redfish Integrated Dell Remote Access Controller (iDRAC) bootstrapping and hardware configuration
- Linux OS (Ubuntu)
Regional Controller
- PostgreSQL DB
- Camunda Workflow and Decision Engine
- Akraino Web Portal
- LDAP configuration
Supplementary Components
Various supporting files are also installed on the Regional Controller, including:
- OpenStack Tempest tests
- YAML builds
- ONAP scripts
- Sample VNFs
Info |
---|
This installation guide refers to the following by way of example:
Steps herein presume the use of a root account. All steps are performed from the Build Server. A clean, out-of-the-box Ubuntu environment is strongly recommended before proceeding. |
Prerequisites
AES Regional Controller installation is orchestrated from a Build Server acting upon a Bare Metal Server.
Build Server
- Any server or VM with Ubuntu Release 16.04
- Packages: Latest versions of sshpass, xorriso, and python-requests
- Docker 1.13.1 or later
Bare Metal Server
- Dell PowerEdge R740 server with no installed OS
- Two interfaces for primary network connectivity bonding
- 802.1q VLAN tagging for primary network interfaces
System Check
Build Server
Ensure Ubuntu Release 16.04 (specifically) and Docker 1.13.1 (or later) are installed:
Code Block | ||
---|---|---|
| ||
# lsb_release -rs
16.04
# docker --version
Docker version 1.13.1, build 092cba3 |
Ensure Python 2, specifically version 2.7.12 or later is installed. Ensure the latest versions of sshpass, xorriso, and python-requests are installed.
...
language | bash |
---|
...
This guide instructs how to build and install an Akraino Edge Stack (AES) Regional Controller node.
Contents
Table of Contents | ||
---|---|---|
|
Overview
The Regional Controller Node installation includes the following components:
Operating System
- Redfish Integrated Dell Remote Access Controller (iDRAC) bootstrapping and hardware configuration
- Linux OS (Ubuntu)
Regional Controller
- PostgreSQL DB
- Camunda Workflow and Decision Engine
- Akraino Web Portal
- LDAP configuration
Supplementary Components
Various supporting files are also installed on the Regional Controller, including:
- OpenStack Tempest tests
- YAML builds
- ONAP scripts
- Sample VNFs
Info |
---|
This installation guide refers to the following by way of example:
Steps herein presume the use of a root account. All steps are performed from the Build Server. A clean, out-of-the-box Ubuntu environment is strongly recommended before proceeding. |
Prerequisites
AES Regional Controller installation is orchestrated from a Build Server acting upon a Bare Metal Server.
Build Server
- Any server or VM with Ubuntu Release 16.04
- Packages: Latest versions of sshpass, xorriso, and python-requests
- Docker 1.13.1 or later
Bare Metal Server
- Dell PowerEdge R740 server with no installed OS
- Two interfaces for primary network connectivity bonding
- 802.1q VLAN tagging for primary network interfaces
System Check
Build Server
Ensure Ubuntu Release 16.04 (specifically) and Docker 1.13.1 (or later) are installed:
Code Block | ||
---|---|---|
| ||
# lsb_release -rs
16.04
# docker --version
Docker version 1.13.1, build 092cba3
|
Ensure Python 2, specifically version 2.7.12 or later is installed. Ensure the latest versions of sshpass, xorriso, and python-requests are installed.
Code Block | ||
---|---|---|
| ||
# python --version Python 2.7.12 # apt install --upgrade sshpass xorriso python-requests Reading package lists... Done Building dependency tree Reading state information... Done python-requests is already the newest version (12.49.2-1-3). sshpass is already the newest version (1.05-1). xorriso is already the newest version (1.4.2-4ubuntu1). 0 upgraded, 0 newly installed, 0 to remove and 107 not upgraded |
Network Connectivity
The Build Server must have connectivity to the Bare Metal Server iDRAC interface on ports
...
80 (
...
http) and
...
443 (
...
https).Network Connectivity
- The Bare Metal Server must be reachable from the Build Server.
- The Build Server and Bare Metal Server primary networks must have one of the following characteristics:
- The networks must be located on the same L2 network, or
- DHCP requests must be forwarded from the Bare Metal Server primary network interface to the Build Server (e.g., via a DHCP relay/helper).
Specific steps to achieve this connectivity are beyond the scope of this guide. However, some verification can be performed.
First, verify that at least ports
...
80 and
...
443 are open on the Bare Metal Server iDRAC interface:
Code Block | ||
---|---|---|
| ||
# nmap -sS 192.168.41.42 Starting Nmap 7.01 ( https://nmap.org ) at 2018-07-10 13:55 UTC Nmap scan report for 192.168.41.42 Host is up (0.00085s latency). Not shown: 996 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp open https 5900/tcp open vnc Nmap done: 1 IP address (1 host up) scanned in 1.77 seconds |
Next, use nmap
to check for a "clean slate" Bare Metal Server. The results will show the host as being down (due to no OS).
Code Block | ||
---|---|---|
| ||
# nmap -sS 192.168.2.42 Starting Nmap 7.01 ( https://nmap.org ) at 2018-07-10 13:55 UTC Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn Nmap done: 1 IP address (0 hosts up) scanned in 0.63 seconds |
Verification of the Build Server and Bare Metal Server primary networks is beyond the scope of this guide.
Installation
Repository Cloning
Repositories are located
...
under /opt/akraino
:
Code Block |
---|
# mkdir /opt/akraino
|
Clone the Redfish Bootstrapping Script repository for use as part of Akraino tools:
Code Block | ||
---|---|---|
| ||
# gitmkdir clone-p https://gerrit.akraino.org/r/redfish /opt/akraino/tools |
Clone the Akraino Regional Controller repository:
Code Block | ||
---|---|---|
| ||
# gitcurl clone-L "https://gerritnexus.akraino.org/r/regional_controller /service/local/artifact/maven/redirect?r=snapshots&g=org.akraino.redfish&a=redfish&v=1.0.0-SNAPSHOT&e=tgz" | tar -xozv -C /opt/akraino/regiontools |
Configuration
...
Clone the Akraino Regional Controller repository:
Code Block | ||
---|---|---|
| ||
# git clone https://gerrit.akraino.org/r/regional_controller /opt/akraino/region |
Configuration
Copy the Bare Metal Server configuration template into /opt/akraino/server-config/AKRAINO_NODE_RC
,
...
where AKRAINO_NODE_RC
...
is the Bare Metal Server name followed
...
by rc
:
Code Block | ||
---|---|---|
| ||
# mkdir -p /opt/akraino/server-config # cp /opt/akraino/tools/serverrc.template /opt/akraino/server-config/aknode42rc # vi /opt/akraino/server-config/aknode42rc |
A sample configuration file follows. Ensure the following:
...
SRV_NAME
is the Bare Metal Server nameSRV_OOB_IP
is the Bare Metal Server iDRAC IPSRV_IP
is the Bare Metal Server IP- Passwords are chosen
...
- for
SRV_OOB_PWD
...
- and
SRV_PWD
- All
...
- remaining
SRV_
...
- prefixed options are adjusted as deemed appropriate
Code Block | ||
---|---|---|
| ||
# Sethost name thefor ip and port to use when creating the web server BUILD_WEBIP=192.168.2.43 BUILD_WEBPORT=8090 # host name for server SRV_NAME=aknode42 # server oem - Dell or HPE (server SRV_NAME=aknode42 # server oem - Dell or HPE (case sensitive) SRV_OEM=Dell # out of band interface information for server (idrac/ilo/etc) SRV_OOB_IP=192.168.41.42 SRV_OOB_USR=root SRV_OOB_PWD=ROOT_PASSWORD # mac address of server to be used during the build - not required for Dell servers # SRV_MAC=3c:fd:fe:b8:10:60 # name of network interface used during build when ipxe.efi is booted and when os is booted # ipxe numbers ports from 0-n in pci bus order. # the netx value will depend on how many nics are in the server # and which pci device number is assigned to the slot SRV_IPXE_INF=net4 # the build interface is the nic used by the Ubuntu installed to load the OS SRV_BLD_INF=enp94s0f0 # the boot device is the device name on which the OS will be loaded SRV_BOOT_DEVICE=sdg # ipxe script to use - based on the os version and kernel to install # valid options are script-hwe-16.04.45-amd64.ipxe or script-16.04.45-amd64.ipxe SRV_BLD_SCRIPT=script-hwe-16.04.45-amd64.ipxe # template xml file to set bios and raid configuration settings SRV_BIOS_TEMPLATE=dell_r740_g14_uefi_base.xml.template SRV_BOOT_TEMPLATE=dell_r740_g14_uefi_httpboot.xml.template SRV_HTTP_BOOT_DEV=NIC.Slot.3-1-1 # VLAN to use during build and for final network configuration SRV_VLAN=41 # basic network information for dhcp config and final server network settings SRV_MTU=9000 SRV_IP=192.168.2.42 SRV_SUBNET=192.168.2.0 SRV_NETMASK=255.255.255.0 SRV_GATEWAY=192.168.2.200 SRV_DNS=192.168.2.85 SRV_DOMAIN=lab.akraino.org SRV_DNSSEARCH=lab.akraino.org SRV_NTP=ntp.ubuntu.org # root password for server being built SRV_PWD=SERVER_PASSWORD # network bond information SRV_BOND=bond0 SRV_SLAVE1=enp94s0f0 SRV_SLAVE2=enp94s0f1 |
Operating System
Warning | ||
---|---|---|
| ||
The Operating System installation may produce errors. As of this writing, the following errors may be safely ignored:
|
Begin the OS installation:
Code Block | ||
---|---|---|
| ||
# /opt/akraino/tools/install_server_os.sh --rc /opt/akraino/server-config/aknode42rc --no-confirm |
This will take time. This is an excellent time to enjoy a favorite beverage.
...
A successful installation will start and end as follows:
Code Block | ||
---|---|---|
| ||
# /opt/akraino/tools/install_server_os.sh --rc /opt/akraino/server-config/aknode42rc --no-confirm Beginning /opt/akraino/tools/install_server_os.sh as user [root] in pwd [/opt/akraino/server-config] with home [/root] Tools are ready in [/opt/akraino] WARNING: Preparing to build server [aknode42] using oob ip [192.168.41.42]. Beginning in 10 seconds .......... Beginning bare metal install of os at Mon Jul 2 18:57:32 UTC 2018 ... Processing triggers for libc-bin (2.23-0ubuntu10) ... SUCCESS: Completed bare metal install of regional server [aknode44] at Mon Jul 2 20:09:35 UTC 2018 SUCCESS: Try connecting with 'ssh root@192.168.2.42' as user root Elapsed time was 9 minutes and 22 seconds |
Note that any time estimates (e.g., "This step could take up to 15 minutes") and elapsed times are likely inaccurate. The total install time is longer, on the order of hours. Enjoy that beverage.
Regional Controller
Warning | ||
---|---|---|
| ||
The Regional Controller installation is not idempotent at this time. If errors are encountered during this phase, it is recommended that the errors be triaged and resolved, followed by an Operating System reinstallation. This will ensure a "clean slate" Bare Metal Server before trying again. |
Create an Akraino Tools run command (rc) file in /opt/akraino
:
Code Block |
---|
# vim /opt/akraino/.akrainorc |
A sample .akrainorc
file follows. Set TARGET_SERVER_IP
to the Bare Metal Server IP. Other values may be left as-is.
Code Block | ||
---|---|---|
| ||
# /opt/akraino/.akrainorc: executed by bash(1) for env of akraino setup.
export TARGET_SERVER_IP=192.168.2.42
export DB_SCHEMA_VERSION=1.0.0-201806260417
export CAMUNDA_WORKFLOW_VERSION=1.0.0
export PORTAL_VERSION=5.0
export TEMPEST_VERSION=0.0.1-SNAPSHOT
export ONAP_VERSION=0.0.1-SNAPSHOT
export YAML_BUILD_VERSION=0.0.1-SNAPSHOT
export SAMPLE_VNF_VERSION=0.0.1-SNAPSHOT |
...
192.168.41.42].
Beginning in 10 seconds ..........
Beginning bare metal install of os at Mon Jul 2 18:57:32 UTC 2018
...
Processing triggers for libc-bin (2.23-0ubuntu10) ...
SUCCESS: Completed bare metal install of regional server [aknode44] at Mon Jul 2 20:09:35 UTC 2018
SUCCESS: Try connecting with 'ssh root@192.168.2.42' as user root
Elapsed time was 9 minutes and 22 seconds |
Note that any time estimates (e.g., "This step could take up to 15 minutes") and elapsed times are likely inaccurate. The total install time is longer, on the order of hours. Enjoy that beverage.
Regional Controller
Warning | ||
---|---|---|
| ||
The Regional Controller installation is not idempotent at this time. If errors are encountered during this phase, it is recommended that the errors be triaged and resolved, followed by an Operating System reinstallation. This will ensure a "clean slate" Bare Metal Server before trying again. |
Create an Akraino run command (rc) file in /opt/akraino/region
:
Code Block | ||
---|---|---|
| ||
# vim /opt/akraino/region/akrainorc |
A sample akrainorc
file follows. Set TARGET_SERVER_IP
to the Bare Metal Server IP. Other values may be left as-is.
Code Block | ||
---|---|---|
| ||
# source /opt/akraino/region/.akrainorc |
Copy the Start Akraino Portal script to the Bare Metal Server:
Code Block | ||
---|---|---|
| ||
# scp /opt/akraino/region/start_akraino_portal.sh root@$TARGET_SERVER_IP:/tmp/ |
...
: executed by bash(1) for env of akraino setup.
export TARGET_SERVER_IP=192.168.2.42
export DB_SCHEMA_VERSION=1.0.0-SNAPSHOT
export CAMUNDA_WORKFLOW_VERSION=0.0.1-SNAPSHOT
export PORTAL_VERSION=0.0.1-SNAPSHOT |
Begin the region server software installation:
Code Block | ||
---|---|---|
| ||
# ssh root@$TARGET_SERVER_IP "bash /tmp/start/opt/akraino/region/install_akraino_portal.sh \ $DB_SCHEMA_VERSION $CAMUNDA_WORKFLOW_VERSION $PORTAL_VERSION" |
This will take time. This is an excellent time to enjoy another favorite beverage.
...
A successful installation will end as follows. Note that any time estimates (e.g., "This step could take up to 15 minutes") and elapsed times are likely inaccurate.
Code Block | ||
---|---|---|
| ||
... Setting up tempest repository Setting up yaml builds repository Setting up ONAP repository Setting up sample vnf repository Setting up airshipinabottle repository SUCCESS: Portal install completed |
The Regional Controller Node installation is now complete.