Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »


Introduction

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 the BBS use-case definition.

Below a diagram of the whole end-to-end architecture, the Edge SDN M&C + vBNG VM is highlighted:

Installation by Heat Template

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 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.

Once the stack is created, the vBNG configuration file is deployed to the instance to '$HOME/vbng.conf' and latest vBNG code is directly pulled from specified upstream git repository (default is the Swisscom repository) by cloud-init user-data script. The stack output shows initial vBNG configuration, the floating IP and how to connect to the instance by SSH. To create a stack in OpenStack heat you first require the Heat template from here: https://git.swisscom.com/projects/ZTXGSPON/repos/opnfv/browse/heat/vbng.yaml (Drop a note to michail salichos, David Perez Caparros  or dbalsige in case you do not have access)

Option A) Upload template in Horizon

The stack can be created directly in OpenStack Horizon by:

  • Navigating to 'Orchestration -> Stacks' in the sidebar
  • Pressing the 'Launch Stack' button
  • In 'Template Source' select to upload the template file 'vbng.yaml' and press 'Next'.
  • Now heat asks for the stack input parameters, they can be set by just entering the desired values in the Horizon form.

The template defines a hopefully useful default for each parameter, therefore not much has to be changed for the Swisscom Lab installation. However, some things like e.g. image, flavor and key have to be selected in the drop-down menus. Also all the initial configuration can be changed there. For a full list of the supported stack parameters see the appendix below.

Option B) OpenStack Commandline Client

Source the openrc.sh file of your OpenStack tenant and create the heat stack the following way:

source Downloads/vbng-openrc.sh
Please enter your OpenStack Password for project vBNG as user bng:

openstack stack create -t Downloads/vbng.yaml vbngstack

In case you would like to overwrite default parameters with your custom values, try adding '--parameter <key=value>', e.g.:

openstack stack create -t Downloads/vbng.yaml vbngstack --parameter key='your_key' --parameter flavor='your_flavor' --parameter image='your_image'

A full list of the supported stack parameter is shown in the following table:

Appendix: Stack Parameters

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)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 network

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://)
git_sshkeyNOT SHOWN HERESSH Private Key for Git Repository (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 Address
relay_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.98:30235/eventListener/v7ONAP DCAE VES Collector URL

OLT Onboarding Configuration

Heat runs the following scripts inside the vbng directory on stack creation automatically, the parameters passed to heat are kept in $HOME/vbng.conf for persistence:

  • 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 docker images and start all containers.

You may re-run those scripts as many times as you wish, work will only be done once. Also keep in mind you must re-run these 3 scripts on VM instance reboot as well. OLT onboarding configuration is not done by heat, since OLT parameters are normally not known on heat stack creation time. Therefore another script can be used once the vbng instance is provisioned:

  • vbng/03-setupolt.sh                 

    • The script accepts exactly 6 parameters to specify tunnel characteristics. Already configured OLTs are kept in $HOME/oltmap.txt. E.g.:

      [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>
      [centos@vbng ~]$ vbng/03-setupolt.sh 172.30.0.145 4789 88888 172.30.0.145 4789 100 
      Setting up VxLAN tunnel interface olt0 (172.30.0.145:4789 VNI=88888)
      Setting up VxLAN tunnel interface dhcp0 (172.30.0.145:4789 VNI=100)
      Adding port dhcp0 to bride dhcp...
      [centos@vbng ~]$ cat oltmap.txt 
      0 datavxlan_172.30.0.145_4789_88888_dhcpvxlan_172.30.0.145_4789_100
      [centos@vbng ~]$

ONT/Subscriber Configuration

Subscriber management is normally done by a host process subscribing to the message queue and configuring subscribers automatically. In case manual interaction is required 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]

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:

  • The IP of Edge SDN M&C in order to be accessed from SDN-C is currently hardcoded in the DG -> GENERIC-RESOURCE-API_bbs-internet-profile-network-topology-operation-common-huawei.json (<parameter name='prop.sdncRestApi.thirdpartySdnc.url' value='http://172.30.0.121:5000' />). The Edge SDN M&C external controller is not registered in ESR for this release. Note: The IP above is provided by Heat stack output, it is the Floating IP of the vBNG instance in Swisscoms Lab.
  • To update the IP of Edge SDN M&C in the corresponding DG, one must export the relevant DG mentioned earlier, update the IP, import back and finally enable the DG.


  • No labels