PLEASE REFER TO R1 NETWORK CLOUD RELEASE DOCUMENTATION
NC Family Documentation - Release 1
THIS DOCUMENTATION WILL BE ARCHIVED
Contents
Table of Contents | ||
---|---|---|
|
...
Info |
---|
Unicycle (Three-Node Cluster) - Supported in the future release |
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:
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
...
Code Block | ||||
---|---|---|---|---|
| ||||
--- ############################################################################## # 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.52" - "address": "0000:87:0a0d.3" - "address": "0000:87:0d.64" - "address": "0000:87:0d.75" - "address": "0000:87:0a.43" - "address": "0000:87:0a0d.56" - "address": "0000:87:0a0d.67" - "address": "0000:87:0a.74" - "address": "0000:87:0b0a.05" - "address": "0000:87:0b0a.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-sde6" - "address": "0000:87:0a.7" - "address": "0000:87:0b.0" - "address": "0000:87:0b.1" storage: osds: - data: /dev/sdfsda journal: /var/lib/ceph/journal/journal-sdfsda 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 - 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.4240 host: 192.168.2.4240 storage: 172.31.2.4240 pxe: 172.30.2.4240 ksn: 172.29.1.4240 neutron: 10.0.102.4240 #workersmasters: # - name : aknode43aknode41 # oob: 192.168.41.4341 # host: 192.168.2.4341 # storage: 172.31.2.4341 # pxe: 172.30.2.4341 # ksn: 172.29.1.4341 # neutron: 10.0.102.4341 # - name : aknode44aknode42 # oob: 192.168.41.4442 # host: 192.168.2.4442 # storage: 172.31.2.4442 # pxe: 172.30.2.4442 # ksn: 172.29.1.4442 # neutron: 10.0.102.4442 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 ... |
...
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
...
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
Info |
---|
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).
Code Block | ||
---|---|---|
| ||
jdbc:postgresql://<IP-address-of-DB-host>:6432/postgres user name = admin password = abc123 |
Info |
---|
use ‘pgAdmin |||’ Postgres client tool or connect to Postgres DB using SQL interface |
- Execute the following SQL insert, bearing in mind these value substitutions:
edge_site_id
: Any unique increment value. This is usually 1 but does not have to be.edge_site_name
: Human-readable Edge Node name.region_id
: Edge Node region number. Useselect * from akraino.Region;
to determine the appropriate value. Observe the region number associations returned from the query: Use 1 for US East, 2 for US West, and so on.
Code Block | ||
---|---|---|
| ||
> 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); |
...