Install Guide - Akraino Edge Stack Network Cloud Blueprint - Unicycle

Install Guide - Akraino Edge Stack Network Cloud Blueprint - Unicycle

PLEASE REFER TO R1 NETWORK CLOUD RELEASE DOCUMENTATION

NC Family Documentation - Release 1

THIS DOCUMENTATION WILL BE ARCHIVED

Contents

Introduction

This document describes the steps to create a single and multi-node edge sites. 

Unicycle (Three-Node Cluster) - Supported in the future release

Hardware Requirements for Test

Up to 7 servers (3 control plus 1 to 4 workers)  x86 Dell R740 servers

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 [ Additional types of hardware will be supported in the future release]

  • Two interfaces for primary network connectivity bonding with DPDK enabled NIC

  • 802.1q VLAN tagging for primary network interfaces

 

Akraino Portal Operations

Login

Visit the portal URL http://REGIONAL_NODE_IP:8080/AECPortalMgmt/ where REGIONAL_NODE_IP is the Portal IP.

Use the following credentials:

  • Username: akadmin

  • Password: akraino

Upon successful login, the Akraino Portal home page will appear.

Deploy a Multi-Node Edge Site

From the Portal home page:

  1. Select an Edge Site - MTN1 or MTN2 (these are the two default lab sites hosted in middle town NJ) by clicking on radio button provided in the first column of the table.

  2. For the selected Edge Site, select the Unicycle Blueprint from the drop-down menu.

  3. Click on Upload button (in the Site column), this will open a pop-up dialog

Provide the edge site-specific details such as:

  1. Host IP address

  2. Host username

  3. Host password. 

 

Example: DELL Cluster:

  • Host IP address: 192.168.2.40

  • Host username: root

  • Host password: XXXXXX

Example: HP Cluster

  •  Host IP address: 192.168.2.30

  • Host username: root

  • Host password: XXXXXX

 

4. Click on Browse button, select the input file for Blueprint - Unicycle (Multi-Node Cluster). 
The input file is a property file that stores information in key-value format.  Sample input file used for ‘Unicycle’ deploy: 

Copy and paste the below contents in to a file, and save it as unicycle.yaml. Use this file for uploading as mentioned in step 4.d above.  If using Dell Gen10, use the sample YAML input file shown in #1 below.  If using HP Gen10, use the sample YAML file in #2 below.

Verify the configuration details as applicable to your environment. For more details refer to Appendix - Edge Site Configuration

Sample YAML Input File #1
--- ############################################################################## # Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.        # #                                                                            # # Licensed under the Apache License, Version 2.0 (the "License"); you may    # # not use this file except in compliance with the License.                   # #                                                                            # # You may obtain a copy of the License at                                    # #       http://www.apache.org/licenses/LICENSE-2.0                           # #                                                                            # # Unless required by applicable law or agreed to in writing, software        # # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  # # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.           # # See the License for the specific language governing permissions and        # # limitations under the License.                                             # ############################################################################## site_name: dellgen10 ipmi_admin:   username: root   password: calvin networks:   bonded: yes   primary: bond0   slaves:     - name: enp94s0f0     - name: enp94s0f1   oob:     vlan: 40     interface:     cidr: 192.168.41.0/24     routes:       gateway: 192.168.41.1     ranges:       reserved:         start: 192.168.41.2         end: 192.168.41.12       static:         start: 192.168.41.13         end: 192.168.41.254   host:     vlan: 41     interface: bond0.41     cidr: 192.168.2.0/24     routes:        gateway: 192.168.2.200     ranges:       reserved:         start: 192.168.2.84         end: 192.168.2.86       static:         start: 192.168.2.40         end: 192.168.2.45     dns:       domain: lab.akraino.org       servers: '192.168.2.85 8.8.8.8 8.8.4.4'   storage:     vlan: 42     interface: bond0.42     cidr: 172.31.2.0/24     ranges:       reserved:         start: 172.31.2.1         end: 172.31.2.10       static:         start: 172.31.2.11         end: 172.31.2.254   pxe:     vlan: 43     interface: eno3     cidr: 172.30.2.0/24     gateway: 172.30.2.1     routes:       gateway: 172.30.2.40     ranges:       reserved:         start: 172.30.2.2         end:  172.30.2.10       static:         start: 172.30.2.11         end: 172.30.2.200       dhcp:         start: 172.30.2.201         end: 172.30.2.254     dns:       domain: lab.akraino.org       servers: '192.168.2.85 8.8.8.8 8.8.4.4'   ksn:     vlan: 44     interface: bond0.44     cidr: 172.29.1.0/24     local_asnumber: 65531     ranges:       static:         start: 172.29.1.5         end: 172.29.1.254     additional_cidrs:       -  172.29.1.128/29     ingress_cidr: 172.29.1.129/32     peers:     - ip: 172.29.1.1       scope: global       asnumber: 65001     vrrp_ip: 172.29.1.1 # keep peers ip address in case of only peer.   neutron:     vlan: 45     interface: bond0.45     cidr: 10.0.102.0/24     ranges:       reserved:         start: 10.0.102.1         end: 10.0.102.10       static:         start: 10.0.102.11         end: 10.0.102.254 dns:   upstream_servers:     - 192.168.2.85     - 8.8.8.8     - 8.8.8.8   upstream_servers_joined: '192.168.2.85,8.8.8.8'   ingress_domain: dellgen10.akraino.org sriovnets: - physical: sriovnet1   interface: enp135s0f0   vlan_start: 2001   vlan_end: 3000   whitelists:   - "address": "0000:87:02.0"   - "address": "0000:87:02.1"   - "address": "0000:87:03.2"   - "address": "0000:87:03.3"   - "address": "0000:87:03.4"   - "address": "0000:87:03.5"   - "address": "0000:87:03.6"   - "address": "0000:87:03.7"   - "address": "0000:87:04.0"   - "address": "0000:87:04.1"   - "address": "0000:87:04.2"   - "address": "0000:87:04.3"   - "address": "0000:87:02.2"   - "address": "0000:87:04.4"   - "address": "0000:87:04.5"   - "address": "0000:87:04.6"   - "address": "0000:87:04.7"   - "address": "0000:87:05.0"   - "address": "0000:87:05.1"   - "address": "0000:87:05.2"   - "address": "0000:87:05.3"   - "address": "0000:87:05.4"   - "address": "0000:87:05.5"   - "address": "0000:87:02.3"   - "address": "0000:87:05.6"   - "address": "0000:87:05.7"   - "address": "0000:87:02.4"   - "address": "0000:87:02.5"   - "address": "0000:87:02.6"   - "address": "0000:87:02.7"   - "address": "0000:87:03.0"   - "address": "0000:87:03.1" - physical: sriovnet2   interface: enp135s0f1   vlan_start: 2001   vlan_end: 3000   whitelists:   - "address": "0000:87:0a.0"   - "address": "0000:87:0a.1"   - "address": "0000:87:0b.2"   - "address": "0000:87:0b.3"   - "address": "0000:87:0b.4"   - "address": "0000:87:0b.5"   - "address": "0000:87:0b.6"   - "address": "0000:87:0b.7"   - "address": "0000:87:0c.0"   - "address": "0000:87:0c.1"   - "address": "0000:87:0c.2"   - "address": "0000:87:0c.3"   - "address": "0000:87:0a.2"   - "address": "0000:87:0c.4"   - "address": "0000:87:0c.5"   - "address": "0000:87:0c.6"   - "address": "0000:87:0c.7"   - "address": "0000:87:0d.0"   - "address": "0000:87:0d.1"   - "address": "0000:87:0d.2"   - "address": "0000:87:0d.3"   - "address": "0000:87:0d.4"   - "address": "0000:87:0d.5"   - "address": "0000:87:0a.3"   - "address": "0000:87:0d.6"   - "address": "0000:87:0d.7"   - "address": "0000:87:0a.4"   - "address": "0000:87:0a.5"   - "address": "0000:87:0a.6"   - "address": "0000:87:0a.7"   - "address": "0000:87:0b.0"   - "address": "0000:87:0b.1" storage:   osds:     - data: /dev/sda       journal: /var/lib/ceph/journal/journal-sda     - data: /dev/sdb       journal: /var/lib/ceph/journal/journal-sdb     - data: /dev/sdc       journal: /var/lib/ceph/journal/journal-sdc     - data: /dev/sdd       journal: /var/lib/ceph/journal/journal-sdd     - data: /dev/sde       journal: /var/lib/ceph/journal/journal-sde     - data: /dev/sdf       journal: /var/lib/ceph/journal/journal-sdf   osd_count: 6   total_osd_count: 18 genesis:   name: aknode40   oob: 192.168.41.40   host: 192.168.2.40   storage: 172.31.2.40   pxe: 172.30.2.40   ksn: 172.29.1.40   neutron: 10.0.102.40 masters:   - name : aknode41     oob: 192.168.41.41     host: 192.168.2.41     storage: 172.31.2.41     pxe: 172.30.2.41     ksn: 172.29.1.41     neutron: 10.0.102.41   - name : aknode42     oob: 192.168.41.42     host: 192.168.2.42     storage: 172.31.2.42     pxe: 172.30.2.42     ksn: 172.29.1.42     neutron: 10.0.102.42 hardware:   vendor: DELL   generation: '10'   hw_version: '3'   bios_version: '2.8' disks:   - name : sdg     labels:       bootdrive: 'true'     partitions:       - name: root         size: 20g         mountpoint: /       - name: boot         size: 1g         mountpoint: /boot       - name: var         size: 100g         mountpoint: /var   - name : sdh     partitions:       - name: ceph         size: 300g         mountpoint: /var/lib/ceph/journal disks_compute:   - name : sdg     labels:       bootdrive: 'true'     partitions:       - name: root         size: 20g         mountpoint: /       - name: boot         size: 1g         mountpoint: /boot       - name: var         size: '>300g'         mountpoint: /var   - name : sdh     partitions:       - name: nova         size: '99%'         mountpoint: /var/lib/nova genesis_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/n4mNLAj3XKG2fcm+8eVe0NUlNH0g8DA8KJ53rSLKccm8gm4UgLmGOJyBfUloQZMuOpU6a+hexN4ECCliqI7+KUmgJgsvLkJ3OUMNTEVu9tDX5mdXeffsufaqFkAdmbJ/9PMPiPQ3/UqbbtyEcqoZAwUWf4ggAWSp00SGE1Okg+skPSbDzPVHb4810eXZT1yoIg29HAenJNNrsVxvnMT2kw2OYmLfxgEUh1Ev4c5LnUog4GXBDHQtHAwaIoTu9s/q8VIvGav62RJVFn3U1D0jkiwDLSIFn8ezORQ4YkSidwdSrtqsqa2TJ0E5w/n5h5IVGO9neY8YlXrgynLd4Y+7 root@pocnjrsv132" kubernetes:   api_service_ip: 10.96.0.1   etcd_service_ip: 10.96.0.2   pod_cidr: 10.98.0.0/16   service_cidr: 10.96.0.0/15 regional_server:   ip: 135.16.101.85 ...
Sample YAML Input File #2
--- ############################################################################## # Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.        # #                                                                            # # Licensed under the Apache License, Version 2.0 (the "License"); you may    # # not use this file except in compliance with the License.                   # #                                                                            # # You may obtain a copy of the License at                                    # #       http://www.apache.org/licenses/LICENSE-2.0                           # #                                                                            # # Unless required by applicable law or agreed to in writing, software        # # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  # # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.           # # See the License for the specific language governing permissions and        # # limitations under the License.                                             # ############################################################################## site_name: hpgen10 ipmi_admin:   username: Administrator   password: Admin123 networks:   bonded: yes   primary: bond0   slaves:     - name: ens3f0     - name: ens3f1   oob:     vlan: 40     interface:     cidr: 192.168.41.0/24     routes:       gateway: 192.168.41.1     ranges:       reserved:         start: 192.168.41.2         end: 192.168.41.4       static:         start: 192.168.41.5         end: 192.168.41.254   host:     vlan: 41     interface: bond0.41     cidr: 192.168.2.0/24     subnet: 192.168.2.0     netmask: 255.255.255.0     routes:        gateway: 192.168.2.200     ranges:       reserved:         start: 192.168.2.84         end: 192.168.2.86       static:         start: 192.168.2.1         end: 192.168.2.83     dns:       domain: lab.akraino.org       servers: '192.168.2.85 8.8.8.8 8.8.4.4'   storage:     vlan: 42     interface: bond0.42     cidr: 172.31.1.0/24     ranges:       static:         start: 172.31.1.2         end: 172.31.1.254   pxe:     vlan:     interface: eno1     cidr: 172.30.1.0/24     gateway: 172.30.1.1     routes:        gateway: 172.30.1.30     ranges:       reserved:         start: 172.30.1.1         end:  172.30.1.10       static:         start: 172.30.1.11         end: 172.30.1.200       dhcp:         start: 172.30.1.201         end: 172.30.1.254     dns:       domain: lab.akraino.org       servers: '192.168.2.85 8.8.8.8 8.8.4.4'     inf: net4   ksn:     vlan: 44     interface: bond0.44     cidr: 172.29.1.0/24     local_asnumber: 65531     ranges:       static:         start: 172.29.1.5         end: 172.29.1.254     additional_cidrs:       -  172.29.1.136/29     ingress_cidr: 172.29.1.137/32     peers:     - ip: 172.29.1.1       scope: global       asnumber: 65001     vrrp_ip: 172.29.1.1 # keep peers ip address in case of only peer.   neutron:     vlan: 45     interface: bond0.45     cidr: 10.0.101.0/24     ranges:       static:         start: 10.0.101.2         end: 10.0.101.254 dns:   upstream_servers:     - 192.168.2.85     - 8.8.8.8     - 8.8.8.8   upstream_servers_joined: '192.168.2.85,8.8.8.8'   ingress_domain: hpgen10.akraino.org sriovnets: - physical: sriovnet1   interface: ens6f0   vlan_start: 2001   vlan_end: 3000   whitelists:   - "address": "0000:af:02.0"   - "address": "0000:af:02.1"   - "address": "0000:af:02.2"   - "address": "0000:af:02.3"   - "address": "0000:af:02.4"   - "address": "0000:af:02.5"   - "address": "0000:af:02.6"   - "address": "0000:af:02.7"   - "address": "0000:af:03.0"   - "address": "0000:af:03.1"   - "address": "0000:af:03.2"   - "address": "0000:af:03.3"   - "address": "0000:af:03.4"   - "address": "0000:af:03.5"   - "address": "0000:af:03.6"   - "address": "0000:af:03.7"   - "address": "0000:af:04.0"   - "address": "0000:af:04.1"   - "address": "0000:af:04.2"   - "address": "0000:af:04.3"   - "address": "0000:af:04.4"   - "address": "0000:af:04.5"   - "address": "0000:af:04.6"   - "address": "0000:af:04.7"   - "address": "0000:af:05.0"   - "address": "0000:af:05.1"   - "address": "0000:af:05.2"   - "address": "0000:af:05.3"   - "address": "0000:af:05.4"   - "address": "0000:af:05.5"   - "address": "0000:af:05.6"   - "address": "0000:af:05.7" - physical: sriovnet2   interface: ens6f1   vlan_start: 2001   vlan_end: 3000   whitelists:   - "address": "0000:af:0a.0"   - "address": "0000:af:0a.1"   - "address": "0000:af:0a.2"   - "address": "0000:af:0a.3"   - "address": "0000:af:0a.4"   - "address": "0000:af:0a.5"   - "address": "0000:af:0a.6"   - "address": "0000:af:0a.7"   - "address": "0000:af:0b.0"   - "address": "0000:af:0b.1"   - "address": "0000:af:0b.2"   - "address": "0000:af:0b.3"   - "address": "0000:af:0b.4"   - "address": "0000:af:0b.5"   - "address": "0000:af:0b.6"   - "address": "0000:af:0b.7"   - "address": "0000:af:0c.0"   - "address": "0000:af:0c.1"   - "address": "0000:af:0c.2"   - "address": "0000:af:0c.3"   - "address": "0000:af:0c.4"   - "address": "0000:af:0c.5"   - "address": "0000:af:0c.6"   - "address": "0000:af:0c.7"   - "address": "0000:af:0d.0"   - "address": "0000:af:0d.1"   - "address": "0000:af:0d.2"   - "address": "0000:af:0d.3"   - "address": "0000:af:0d.4"   - "address": "0000:af:0d.5"   - "address": "0000:af:0d.6"   - "address": "0000:af:0d.7" storage:   osds:     - data: /dev/sdb       journal: /var/lib/ceph/journal/journal-sdb     - data: /dev/sdc       journal: /var/lib/ceph/journal/journal-sdc     - data: /dev/sdd       journal: /var/lib/ceph/journal/journal-sdd     - data: /dev/sde       journal: /var/lib/ceph/journal/journal-sde     - data: /dev/sdf       journal: /var/lib/ceph/journal/journal-sdf     - data: /dev/sdg       journal: /var/lib/ceph/journal/journal-sdg     - data: /dev/sdh       journal: /var/lib/ceph/journal/journal-sdh     - data: /dev/sdi       journal: /var/lib/ceph/journal/journal-sdi   osd_count: 8   total_osd_count: 24 genesis:   name: aknode30   oob: 192.168.41.130   host: 192.168.2.30   storage: 172.31.1.30   pxe: 172.30.1.30   ksn: 172.29.1.30   neutron: 10.0.101.30   root_password: akraino,d   oem: HPE   mac_address: 3c:fd:fe:aa:90:b0   bios_template: hpe_dl380_g10_uefi_base.json.template   boot_template: hpe_dl380_g10_uefi_httpboot.json.template   http_boot_device: NIC.Slot.3-1-1 masters:   - name : aknode31     oob: 192.168.41.131     host: 192.168.2.31     storage: 172.31.1.31     pxe: 172.30.1.31     ksn: 172.29.1.31     neutron: 10.0.101.31     oob_user: Administrator     oob_password: Admin123   - name : aknode32     oob: 192.168.41.132     host: 192.168.2.32     storage: 172.31.1.32     pxe: 172.30.1.32     ksn: 172.29.1.32     neutron: 10.0.101.32     oob_user: Administrator     oob_password: Admin123 workers:   - name : aknode33     oob: 192.168.41.133     host: 192.168.2.33     storage: 172.31.1.33     pxe: 172.30.1.33     ksn: 172.29.1.33     neutron: 10.0.101.33     oob_user: Administrator     oob_password: Admin123 #  - name : aknode34 #    oob: 192.168.41.134 #    host: 192.168.2.34 #    storage: 172.31.1.34 #    pxe: 172.30.1.34 #    ksn: 172.29.1.34 #    neutron: 10.0.101.34 hardware:   vendor: HP   generation: '10'   hw_version: '3'   bios_version: '2.8' disks:   - name : sdj     labels:       bootdrive: 'true'     partitions:       - name: root         size: 20g         mountpoint: /       - name: boot         size: 1g         mountpoint: /boot       - name: var         size: '>300g'         mountpoint: /var   - name : sdk     partitions:       - name: cephj         size: 300g         mountpoint: /var/lib/ceph/journal disks_compute:   - name : sdj     labels:       bootdrive: 'true'     partitions:       - name: root         size: 20g         mountpoint: /       - name: boot         size: 1g         mountpoint: /boot       - name: var         size: '>300g'         mountpoint: /var   - name : sdk     partitions:       - name: nova         size: '99%'         mountpoint: /var/lib/nova genesis_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/n4mNLAj3XKG2fcm+8eVe0NUlNH0g8DA8KJ53rSLKccm8gm4UgLmGOJyBfUloQZMuOpU6a+hexN4ECCliqI7+KUmgJgsvLkJ3OUMNTEVu9tDX5mdXeffsufaqFkAdmbJ/9PMPiPQ3/UqbbtyEcqoZAwUWf4ggAWSp00SGE1Okg+skPSbDzPVHb4810eXZT1yoIg29HAenJNNrsVxvnMT2kw2OYmLfxgEUh1Ev4c5LnUog4GXBDHQtHAwaIoTu9s/q8VIvGav62RJVFn3U1D0jkiwDLSIFn8ezORQ4YkSidwdSrtqsqa2TJ0E5w/n5h5IVGO9neY8YlXrgynLd4Y+7 root@pocnjrsv132" kubernetes:   api_service_ip: 10.96.0.1   etcd_service_ip: 10.96.0.2   pod_cidr: 10.99.0.0/16   service_cidr: 10.96.0.0/14 regional_server:   ip: 135.16.101.85 ...

5. Click on Submit. This will upload the input file and the site details into the portal.

 

6. User will see the file uploaded successfully message in the sites column then Build button is enabled.

a.  Click on Build to begin the build process.

b. User can click on Refresh (link) to update the status of the build on the portal.

c. The build status changes from ‘Not started’ to ‘In progress’ to ‘Completed’.

d. The build process will generate all the required yaml files with site details. User can view the generated yaml files by clicking ‘view yaml build file’ provided in Build status column.

 

7. User will see the ‘Completed’ status in build status column then Deploy button is enabled.

a.  Click on Deploy to begin the deploy process.

b. User can click on Refresh (link) to update the status of the build on the portal.

 

Note: In portal when the overall status of the Deploy is success, login to each node and check deploy site logs under /var/log/deploy_site_yyyymmddhhmm.log file by using the command tail -f /var/log/deploy_site_yyyymmddhhmm.log file

 

 Check the deployment process logs under “tail –f /var/log/scriptexecutor.log” or “/var/log/yaml_builds/” on regional_controller node.

 

  • Once the deploy status got “completed” on the portal, then

 

This is to check the status of deploy_site.

 

Following is the snippet from root@aknode44:/var/log# vi scriptexecutor.log

 

 

2018-10-02 17:28:58.464 DEBUG 12751 --- [SimpleAsyncTaskExecutor-2] a.b.s.i.RemoteScriptExecutionServiceImpl : + deploy_site

 

 

2018-10-02 17:28:58.464 DEBUG 12751 --- [SimpleAsyncTaskExecutor-2] a.b.s.i.RemoteScriptExecutionServiceImpl : + sudo docker run -e OS_AUTH_URL=http://keystone-api.ucp.svc.cluster.local:80/v3 -e OS_PASSWORD=86db58e20de93ef55477 -e OS_PROJECT_DOMAIN_NAME=default -e OS_PROJECT_NAME=service -e OS_USERNAME=shipyard -e OS_USER_DOMAIN_NAME=default -e OS_IDENTITY_API_VERSION=3 --rm --net=host quay.io/airshipit/shipyard:165c845e3e7459d2a4892ed4ca910b00675e7561 create action deploy_site

 

2018-10-02 17:29:02.273 DEBUG 12751 --- [SimpleAsyncTaskExecutor-2] a.b.s.i.RemoteScriptExecutionServiceImpl : Name               Action                                   Lifecycle        Execution Time             Step Succ/Fail/Oth

 

2018-10-02 17:29:02.274 DEBUG 12751 --- [SimpleAsyncTaskExecutor-2] a.b.s.i.RemoteScriptExecutionServiceImpl : deploy_site        action/01CRTX8CTJ8VHMSNVC2NHGWKCY        None             2018-10-02T17:29:53        0/0/0

 

2018-10-02 17:29:02.546 DEBUG 12751 --- [SimpleAsyncTaskExecutor-2] a.b.s.i.RemoteScriptExecutionServiceImpl : Script exit code :0

 

 Based on the above snippet you can frame a command like following(just concatenate highlighted partes and add describe in the middle) and run it on aknode40 to see the status deploy_site,

 

root@aknode40:~# docker run -e OS_AUTH_URL=http://keystone-api.ucp.svc.cluster.local:80/v3 -e OS_PASSWORD=86db58e20de93ef55477 -e OS_PROJECT_DOMAIN_NAME=default -e OS_PROJECT_NAME=service -e OS_USERNAME=shipyard -e OS_USER_DOMAIN_NAME=default -e OS_IDENTITY_API_VERSION=3 --rm --net=host quay.io/airshipit/shipyard:165c845e3e7459d2a4892ed4ca910b00675e7561 describe action/01CRTX8CTJ8VHMSNVC2NHGWKCY

 

 

Appendix

 


Create New Edge Site locations

The Akraino seed code comes with default two sites: MTN1, MTN2 representing two lab sites in Middletown, NJ. This step of connecting to the database and creating edge_site records are only required if the user wishes to deploy on other sites.

To deploy a Unicycle (Multi-Node Cluster) Edge Node, perform the following steps:

  • Check if the Akraino (Docker Containers) packages are stood up.

  • Connect to PostgreSQL database providing the host IP (name).

jdbc:postgresql://<IP-address-of-DB-host>:6432/postgres user name = admin password = abc123

use ‘pgAdmin |||’ Postgres client tool or connect to Postgres DB using SQL interface  

 

  • Execute the following SQL insert, bearing in mind these value substitutions:

> insert into akraino.edge_site(edge_site_id, edge_site_name, crt_login_id, crt_dt, upd_login_id, upd_dt, region_id) values( 1, 'Atlanta', user, now(), user, now(),1);

 

 

Comments