Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

...

For behind Proxy configure docker to use proxy

Code Block
mkdir /etc/systemd/system/docker.service.d
touch /etc/systemd/system/docker.service.d/http-proxy.conf
echo '[Service]
Environment="HTTP_PROXY=<proxy>"
Environment="HTTPS_PROXY=<proxy>"' > /etc/systemd/system/docker.service.d/http-proxy.conf
systemctl daemon-reload
systemctl restart docker
docker info


Ensure Python 2, specifically version 2.7.12 or later is installed. Ensure the latest versions of sshpassxorriso, and python-requests are installed. Also install make, gcc


Code Block
languagebash
# 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 
Code Block
languagebash
# 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 (2.9.1-3). sshpass is already the newest version (2.9.1.05-13). xorrisosshpass is already the newest version (1.4.2-05-1). xorriso is already the newest version (1.4.2-4ubuntu1). 0 upgraded, 0 newly installed, 0 to remove and 107 not upgraded
# apt install make gcc

Network Connectivity 

The Build Server must have connectivity to the Bare Metal Server iDRAC interface on ports 80 (http) and 443 (https).

...

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
languagebash
mkdir -p /opt/akraino/server-config
cp /opt/akraino/tools/serverrc.template /opt/akraino/server-config/aknode44rc
vi /opt/akraino/server-config/aknode44rc

...

_NODE_RC, where AKRAINO_NODE_RC is the Bare Metal Server name followed by rc:

Code Block
languagebash
# host name for server
SRV_NAME=aknode44

# 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.44
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=net8

# the build interface is the nic used by the Ubuntu installed to load the OS
SRV_BLD_INF=enp135s0f0

# 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.5-amd64.ipxe or script-16.04.5-amd64.ipxe
SRV_BLD_SCRIPT=script-hwe-16.04.5-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.7-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.44
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=enp135s0f0
SRV_SLAVE2=enp135s0f1

Operating System

Pre-requisites:

Install docker using following link (typically docker-ce latest version)

https://docs.docker.com/install/linux/docker-ce/ubuntu/

If behind proxy and docker to use proxy

Code Block
mkdir /etc/systemd/system/docker.service.d
touch /etc/systemd/system/docker.service.d/http-proxy.conf
echo '[Service]
Environment="HTTP_PROXY=<proxy>"
Environment="HTTPS_PROXY=<proxy>"' > /etc/systemd/system/docker.service.d/http-proxy.conf
systemctl daemon-reload
systemctl restart docker
docker info

Install the following packages:

...

mkdir -p /opt/akraino/server-config
cp /opt/akraino/tools/serverrc.template /opt/akraino/server-config/aknode44rc
vi /opt/akraino/server-config/aknode44rc


A sample configuration file follows. Ensure the following:


  • SRV_NAME is the Bare Metal Server name
  • SRV_OOB_IP is the Bare Metal Server iDRAC IP
  • SRV_IP is the Bare Metal Server IP
  • Update Ubuntu version to 16.04.5 by setting SRV_BLD_SCRIPT=script-hwe-16.04.5-amd64.ipxe
  • Remove all references to  BUILD_WEBIP and BUILD_WEBPORT 
  • Passwords are chosen for SRV_OOB_PWD and SRV_PWD
  • All remaining SRV_ prefixed options are adjusted as deemed appropriate


Code Block
languagebash
# host name for server
SRV_NAME=aknode44

# 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.44
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=net8

# the build interface is the nic used by the Ubuntu installed to load the OS
SRV_BLD_INF=enp135s0f0

# 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.5-amd64.ipxe or script-16.04.5-amd64.ipxe
SRV_BLD_SCRIPT=script-hwe-16.04.5-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.7-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.44
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=enp135s0f0
SRV_SLAVE2=enp135s0f1

Operating System

...

Begin the OS installation:

...