...
The Swisscom virtual BNG and Edge SDN M&C for the ONAP BBS use-case is a demo system. It is a functional prototype and it is not meant for production use. The whole system is running in a single OpenStack VM and therefore only able to support a small number of subscribers. The forwarding dataplane is implemented fully inside the VMs networking stack and therefore not designed to support high data rates. The system is able to interact with ONAP according to the BBS use-case definition.
...
The Swisscom virtual BNG and Edge SDN M&C is installed and initially set up by a single Heat Orchestration Template. Therefore the OpenStack cloud you would like to use for testing should support Orchestration with Heat. The complete initial BNG and vBNG + Edge SDN M&C configuration is provided as Heat stack parameters. The Heat stack creates all the required OpenStack infrastructure, e.g. router, network, security group, port and vbng instance.
...
Key | Default Value | Description | Notes |
---|---|---|---|
OpenStack Settings | |||
key | vbng | Name of the SSH keypair for logging in into instancesthe instance | constraint: nova.keypair |
image | "CentOS 7 x86_64 GenericCloud 1901" | Name of the glance image Supported are upstream cloud images for: Ubuntu 16.04 / Ubuntu 18.04 / CentOS 7 | constraint: glance.image |
flavor | a1.tiny | Flavor to use for instances, can the instance Can be a small one one (1vCPU/4GB RAM/10GB disk) | constraint: nova.flavor |
extnet | external | Name of external network | This is the existing OpenStack external network containing the floating IPs |
int_cidr | 192.168.1.0/24 | Internal Network IPv4 Addressing in CIDR notation | Can be anything in the private IP space if your OpenStack supports overlapping IP tenant ranges. |
dns1 | 8.8.8.8 | DNS server 1 for internal network | E.g. DNS server 1 Openstack VMs will use |
dns2 | 8.8.4.4 | DNS server 2 for internal network | E.g. DNS server 2 Openstack VMs will use |
vBNG Git Repository Settings | |||
git_repo | ssh://git@git.swisscom.com:7999/ztxgspon/vbng.git | Virtual BNG Git Repository URL (ssh://) | This repository holds the vbng code and is cloned by cloud-init |
git_sshkey | NOT SHOWN HERE | SSH Private Key for Git Repository (Read-Only Access) | For cloud-init read-only access |
git_hostkey | NOT SHOWN HERE | SSH Host Key for Git Host (git.swisscom.com) | |
vBNG Settings | |||
cust_cidr | 10.66.0.0/16 | Customer IPv4 Network in CIDR notation | The network for your subscribers |
cust_gw | 10.66.0.1 | Customer IPv4 Network Gateway | The IPv4 gateway your subscribers will use |
cust_dns | 8.8.8.8 | Customer DNS Server | The DNS severs your subscribers will use |
cust_start | 10.66.1.1 | Customer IPv4 Range Start Address | Subscriber IP range for DHCP |
cust_end | 10.66.1.254 | Customer IPv4 Range End Address | Subscriber IP range for DHCP |
dhcp_cidr | 172.24.24.0/24 | DHCP Server / Relay Network in CIDR notation | The network between The DHCP server and the DHCP L3 Relay on the OLT. |
dhcp_ip | 172.24.24.1 | DHCP Server IPv4 Address | The DHCP Sercer Server is binding on /listening to that address |
in_tun_port | 4789 | UDP Port for incoming VxLAN Tunnels | For incoming VxLAN UDP packets. Used to configure OpenStack Security Groups |
onap_dcae_ves_collector_url | http://172.30.0.126:30235/eventListener/v7 | ONAP DCAE VES Collector URL | The URL the VES agent is streaming VES to |
...
Once the stack is created by heat, cloud-init user data script on the instance script checks out the vbng git repository and runs the scripts 00-installdeps.sh, 01-setupdatapath.sh, 02-setupcontainers.sh
contained in the repository. The parameters passed to them are kept in $HOME/vbng.conf
. Once cloud-init finished its job it will create the file $HOME/vbng_provisioning_done
on your instance. Logs are kept in /var/log/cloud-init-output.log
. You may re-run those scripts as many times as you wish, work will only be done once. Also keep in mind For example you have to re-run these 3 scripts on instance reboot for example. Also keep Keep in mind, you may require a reboot in case you have kernel updates installed.
vbng/00-installdeps.sh
Update the system, install dependent packages, install and setup docker.
vbng/01-setupdatapath.sh
Set up the datapath part, including shaping, routing and NAT.
vbng/02-setupcontainers.sh
Create docker images and start all containers: Database, Message Queue, Restconf Server, VES Agent and DHCP Server.
...
OLT onboarding configuration is not done by cloud-init, since OLT parameters are normally not known on heat at stack creation time. For OLT onboarding the 2 tunnels for datapath and DHCP transport and the DHCP L3 relay on the OLT have to be configured. Therefore another script should be used, once the vbng instance is provisioned initially:
vbng/03-setupolt.sh
The script accepts exactly 8 parameters to specify tunnel and DHCP relay options. Already configured OLTs are kept in$HOME/oltmap.txt.
Parameters are:vxlan_data_ip: The IP Address of the VxLAN remote tunnel endpoint for OLT datapath
vxlan_data_port: The UDP Port of the VxLAN remote tunnel endpoint for OLT datapath
vxlan_data_vni: The VNI of the VxLAN remote tunnel endpoint for OLT datapath
vxlan_dhcp_ip: The IP Address of the VxLAN remote tunnel endpoint for DHCP server / relay traffic
vxlan_dhcp_port: The UDP Port of the VxLAN remote tunnel endpoint for DHCP server / relay traffic
vxlan_dhcp_vni: The VNI of the VxLAN remote tunnel endpoint for DHCP server / relay traffic
relay_north_ip: The Northbound IP of the L3 DHCP relay on the OLT. (Where the DHCP server routes its replies to)
relay_south_ip: The Southbound IP of the L3 DHCP relay on the OLT. (Where the DHCP replies are injected into datapath)
Code Block [centos@vbng ~]$ vbng/03-setupolt.sh Usage: vbng/03-setupolt.sh [vxlan_data_ip] [vxlan_data_port] [vxlan_data_vni] \ [vxlan_dhcp_ip] [vxlan_dhcp_port] [vxlan_dhcp_vni] \ [relay_north_ip] [relay_south_ip] [centos@vbng ~]$ vbng/03-setupolt.sh 172.30.0.139252 4789 88888 172.30.0.139253 4789 100 172.24.24.2 10.66.0.2 Setting up VxLAN tunnel interface olt0 (172.30.0.139252:4789 VNI=88888) Setting up VxLAN tunnel interface dhcp0 (172.30.0.139253:4789 VNI=100) Adding port dhcp0 to bride dhcp... Adding relay route to 10.66.0.2 over 172.24.24.2 inside bbs-edge-dhcp-server container... [centos@vbng ~]$ cat oltmap.txt 0 datavxlan_172.30.0.139_4789_88888_dhcpvxlan_172.30.0.139_4789_100_relay_172.24.24.2_10.66.0.2 [centos@vbng ~]$
ONT/Subscriber Configuration
...