Versions Compared

Key

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

...

KeyDefault ValueDescriptionNotes
OpenStack Settings
keyvbngName of the SSH keypair for logging in into instances

constraint: nova.keypair

image"CentOS 7 x86_64 GenericCloud 1901"

Name of the glance image

(only CentOS7 supported)

Supported are upstream cloud images for those distros: Ubuntu16.04 / Ubuntu 18.04 / CentOS7

constraint: glance.image
flavora1.tiny

Flavor to use for instances, can be a small one  (1vCPU/4GB RAM/10GB disk)

constraint: nova.flavor
extnetexternalName of external networkThis is the OpenStack network containing the floating IPs

int_cidr

192.168.1.0/24Internal Network IPv4 Addressing in CIDR notation
dns18.8.8.8Upstream DNS server 1 (Also used for customers)

dns2

8.8.4.4Upstream DNS server 2
vBNG Git Repository Settings
git_repossh://git@git.swisscom.com:7999/ztxgspon/vbng.gitVirtual BNG Git Repository URL (ssh://)This repo hold the vbng code, cloned by cloud-init
git_sshkeyNOT SHOWN HERESSH Private Key for Git Repository (Read-Only Access)For read-only access
git_hostkeyNOT SHOWN HERESSH Host Key for Git Host (git.swisscom.com)
vBNG Settings
cust_cidr10.66.0.0/16Customer IPv4 Network in CIDR notation
cust_gw10.66.0.1Customer IPv4 Network Gateway
cust_dns8.8.8.8Customer DNS Server

cust_start

10.66.1.1Customer IPv4 Range Start Address
cust_end10.66.1.254Customer IPv4 Range End Address
dhcp_cidr172.24.24.0/24DHCP Server / Relay Network in CIDR notation
dhcp_ip172.24.24.1DHCP Server IPv4 Addressrelay_ip172.24.24.2DHCP Relay IPv4 Address
in_tun_port4789UDP Port for incoming VxLAN Tunnels (Security Group)
onap_dcae_ves_collector_urlhttp://172.30.0.98126:30235/eventListener/v7ONAP DCAE VES Collector URL

OLT Onboarding Configuration

...


vBNG Initial Configuration by cloud-init

Once the stack is created by heat, cloud-init user data script on the instance 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 for persistence:. 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 you have to re-run these 3 scripts on instance reboot for example. Also 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, setup docker.

  • vbng/01-setupdatapath.sh      

    • Set up the datapath part, including shaping, routing and NAT.

  • vbng/02-setupcontainers.sh   

    • Update Create docker images and start all containers: Database, Message Queue, Restconf Server, VES Agent and DHCP Server.

...

OLT Onboarding Configuration

OLT onboarding configuration is not done by heatcloud-init, since OLT parameters are normally not known on heat 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 can should be used, once the vbng instance is provisioned initially:

  • vbng/03-setupolt.sh                 

    The script accepts exactly 6 8 parameters to specify tunnel characteristicsand DHCP relay options. Already configured OLTs are kept in $HOME/oltmap.txt. E.g.: Parameters are:
    1. vxlan_data_ip: The IP Address of the VxLAN remote tunnel endpoint for OLT datapath

    2. vxlan_data_port: The UDP Port of the VxLAN remote tunnel endpoint for OLT datapath

    3. vxlan_data_vni: The VNI of the VxLAN remote tunnel endpoint for OLT datapath

    4. vxlan_dhcp_ip: The IP Address of the VxLAN remote tunnel endpoint for DHCP server / relay traffic

    5. vxlan_dhcp_port: The UDP Port of the VxLAN remote tunnel endpoint for DHCP server / relay traffic

    6. vxlan_dhcp_vni: The VNI of the VxLAN remote tunnel endpoint for DHCP server / relay traffic

    7. relay_north_ip: The Northbound IP of the L3 DHCP relay on the OLT. (Where DHCP server routes its replies to)

    8. relay_south_ip: The Southbound IP of the L3 DHCP relay on the OLT. (Where DHCP replies are injected into datapath)

      Code Block
      [centos@vbng ~]$ vbng/03-setupolt.sh 
      Usage: vbng/03-setupolt.sh 
    <vxlan
    1. [vxlan_data_
    ip>
    1. ip] 
    <vxlan
    1. [vxlan_data_
    port>
    1. port] 
    <vxlan
    1. [vxlan_data_
    vni> <vxlan
    1. vni] \
                                 [vxlan_dhcp_
    ip>
    1. ip] 
    <vxlan
    1. [vxlan_dhcp_
    port>
    1. port] 
    <vxlan
    1. [vxlan_dhcp_
    vni>
    1. vni] \
                                 [relay_north_ip] [relay_south_ip]
      [centos@vbng ~]$ vbng/03-setupolt.sh 172.30.0.
    145
    1. 139 4789 88888 172.30.0.
    145
    1. 139 4789 100 172.24.24.2 10.66.0.2 
      Setting up VxLAN tunnel interface olt0 (172.30.0.
    145
    1. 139:4789 VNI=88888)
      Setting up VxLAN tunnel interface dhcp0 (172.30.0.
    145
    1. 139: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.
    145
    1. 139_4789_88888_dhcpvxlan_172.30.0.
    145
    1. 139_4789_100_relay_172.24.24.2_10.66.0.2
      [centos@vbng ~]$


ONT/Subscriber Configuration

...

Subscribers are usually configured by calls to bbs-edge-restconf-server directly from ONAP. In case you would like to test this functionality you can of course trigger this by calling this directly with curl to the floating IP port 5000 of the vbng instance:

Code Block
curl -H "Content-Type: application/json" -X POST -d '{"remote_id":"AC9.000.990.001","ont_sn":"serial","service_type":"Internet","mac":"00:00:00:00:00:00","service_id":"1","up_speed":"100","down_speed":"100","s_vlan":10,"c_vlan":333}' 172.30.0.134:5000/CreateInternetProfileInstance

Important parameters are: "remote_id":"AC9.000.990.001","s_vlan":10,"c_vlan":333 .Of course the values configured must match what the OLT/ONT in the Lab sends. The DHCP authentication is done only on the correct value of remote_id. Once successfully authenticated and given a lease by DHCP, dataplane configuration is delegated to a host process. It is subscribing to the message queue and configuring subscribers automatically. In case manual interaction is required dataplane with the help of those two scripts will help you out:

  • vbng/04-setupcustomer.sh
    • Enable a particular customer
    • Usage: vbng/04-setupcustomer.sh [olt_id] [s-vlan] [c-vlan] [customer_ip] [traffic_profile_id]
  • vbng/05-removecustomer.sh
    • Remove a particular customer
    • Usage: vbng/05-removecustomer.sh [customer_ip]

Currently only 4 subscribers profiles are supported (1/2/3/4), 2 * 100Mbit/s symmetrical and 2 * 20Mit/s symmetrical, respectively. This should be enough to run all test-cases for the BBS use-case.

ONAP Configuration

The installation and initial configuration of Edge SDN M&C + vBNG is done by an Heat stack template, see above. The parameters which must be modified in ONAP are the following:

...