You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

The 'Build Server' is only used to build and deploy a Regional Controller. Therefore it can be considered ephemeral to the deployment and operation of the NC infrastructure.

Typically the build server would be created in a VM but could be a physical bare metal server.

The installation procedure to create the build server primarily involves cloning the set of repositories and packages implementing the Network Cloud Family in the R1 release.

Preflight requirements

Networking

The build server must have connectivity to the internet to be able to clone the necessary repos and packages.

Once built, the build server must have IP connectivity to any RCs it is to deploy. In addition it will usually act as the DHCP server for initial RC boot process thus must be in the same broadcast domain as the target RC.

Software

Before starting to clone upstream repos and packages the build server must have the following pre-installed

  • Ubuntu Release 16.04
  • Latest version of the following apt packages:
    • docker    (used to run dhcp and web containers)
    • python    (used for redfish api calls to bare metal server)
    • python-requests    (used for redfish api calls to bare metal server)
    • python-pip    (used to install hpe redfish tools)
    • sshpass    (used to copy keys to new server)
    • xorriso    (used to extract Ubuntu files to web server)
    • make    (used to build custom ipxe efi file used during bare metal server boot)
    • gcc    (used to build custom ipxe efi file used during bare metal server boot)

Preflight checks

Ensure Ubuntu Release 16.04 (specifically) and Docker version is 1.13.1 or newer: 

# lsb_release -rs
16.04
# docker --version
Docker version 1.13.1, build 092cba3 


Ensure required packages are installed including python, python-requests, python-pip, sshpass, xorriso, make, and gcc are installed.  Install any missing packages with apt-get install -y <package name>

# apt list python python-requests python-pip sshpass xorriso make gcc
Listing... Done
gcc/xenial,now 4:5.3.1-1ubuntu1 amd64 [installed]
make/xenial,now 4.1-6 amd64 [installed,automatic]
python/xenial-updates,now 2.7.12-1~16.04 amd64 [installed]
python-pip/xenial-updates,xenial-updates,now 8.1.1-2ubuntu0.4 all [installed]
python-requests/xenial-updates,xenial-updates,now 2.9.1-3ubuntu0.1 all [installed]
sshpass/xenial,now 1.05-1 amd64 [installed] xorriso/xenial,now 1.4.2-4ubuntu1 amd64 [installed]

Installing the Build Server packages 

All software will be installed in a new directory /opt/akraino/

mkdir /opt/akraino

Clone the Redfish Bootstrapping Script repository for use as part of Akraino tools:

## Download the latest redfish artifacts from LF Nexus 
 
mkdir -p /opt/akraino/redfish


NEXUS_URL=https://nexus.akraino.org


curl -L "$NEXUS_URL/service/local/artifact/maven/redirect?r=snapshots&g=org.akraino.redfish&a=redfish&v=0.0.2-SNAPSHOT&e=tgz" tar -xozv -C /opt/akraino/redfish

Clone the Akraino Regional Controller repository:

## Download the latest Regional_controller artifacts from LF Nexus ##
 
mkdir -p /opt/akraino/region


NEXUS_URL=https://nexus.akraino.org


curl -L "$NEXUS_URL/service/local/artifact/maven/redirect?r=snapshots&g=org.akraino.regional_controller&a=regional_controller&v=0.0.2-SNAPSHOT&e=tgz" tar -xozv -C /opt/akraino/region


Configuration


  • No labels