vCPE Tosca Local Mode Use Case

Description

vCPE tosca use case is based on Network Enhanced Residential Gateway architecture specified in Technical Report 317 (TR-317), which defines how service providers deploy residential broadband services like High Speed Internet Access. The use case implementation has infrastructure services and customer service. The common infrastructure services are deployed first and shared by all customers. The use case demonstrates ONAP capabilities to design, deploy, configure and control sophisticated services.

More details on the vCPE Use Case can be found on wiki page https://wiki.onap.org/pages/viewpage.action?pageId=3246168

Local is the way how to distribute the network elements. Here we use local means we want upload the csar file to distribute the vnf and ns configurations.

How to Use

The use case has been automated by vcpe_tosca_test scripts. The followings are the main steps to run the use case in Integration lab environment:

  1. Install ONAP CLI environment, open_cli_product is onap-dublin. Use https://git.onap.org/integration/tree/test/vcpe_tosca/local/scripts/install-alpine.sh to install ONAP CLI.

  2. Prepare openstack test environment.

    • Create project(tenant) and user on openstack

    Openstack Horizon–Identity–Projects page

    _images/create_project.png

    Openstack Horizon–Identity–Users page

    _images/create_user.png

    Manage Project Members

    _images/manage_project_user.png
    • Create and upload image for VNF

    Identify the version of the lab server, my lab server is Ubuntu 16.04.3 LTS.

    root@onap-dengyuanhong-master:~# cat /etc/lsb-release
    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=16.04
    DISTRIB_CODENAME=xenial
    DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
    

    Download the related ubuntu image from https://cloud-images.ubuntu.com/

    _images/image.png

    Openstack Horizon–Project–Compute–Images page, create an image named image, the name must be the same with image which is defined in vnf csar file.

    _images/create_image.png
  3. Update the configuration file vcpe_config.json under https://git.onap.org/integration/tree/test/vcpe_tosca/local/config

    You should update the values if you want to run in your environment.

    Firstly, identify the Region name you used on your openstack environment, our Region name is RegionOne, it will be used by the configuration file.

    [wrsroot@controller-0 ~(keystone_admin)]$ openstack region list
    +-----------+---------------+-------------+
    | Region    | Parent Region | Description |
    +-----------+---------------+-------------+
    | RegionOne | None          |             |
    +-----------+---------------+-------------+
    

    Secondly, update the values according to your environment.

    "open_cli_product": set to CLI product you installed, onap-dublin is OK for this test.
    "open_cli_home": set to the oclip home path,
    "aai_url": set to msb ip and port you used,
    "msb_url": set to msb ip and port you used,
    "multicloud_url": set to msb ip and port you used,
    
    "complex_name": set to any complex name you want to use, the name must be unique
    
    "cloud_region_data": {
         "RegionOne":(update to your Region name) {
             "cloud-region-version": the cloud region version of your Cloud region, you can keep "titanium_cloud"
              "esr-system-info-id": "1111ce1f-aa78-4ebf-8d6f-4b62773e9b01",
              "service-url": the ip change to your openstack ip address,
              "user-name": the user name you created on openstack,
              "password": the user password you created on openstack,
              "system-type": "VIM",
              "ssl-insecure": true,
              "cloud-domain": "Default",
              "default-tenant": the project name you created on openstack,
              "tenant-id": the project id you created on openstack,
              "cloud-type": "openstack",
              "identity-url": the ip change to your openstack ip address,
              "system-status": "active"
         }
    }
    "cloud-owner": set to any cloud name you want to use, , the name must be unique
    "service_name": set to any service name you want to use, the name must be unique
    "customer_name": set to any customer name you want to use, the name must be unique
    "subscriber_name": set to any subscriber name you want to use, the name must be unique
    
    "vfc-url": set to msb ip and port you used,
    "vnfs": {
        "vgw": {
            "path": "/csar/vgw.csar", set to you vgw csar file path
            "key": "key2",
            "value": "value2"
        },
        "infra": {
            "path": "/csar/infra.csar", set to you infra csar file path
            "key": "key2",
            "value": "value2"
        },
        "vbng": {
            "path": "/csar/vbng.csar", set to you vbng csar file path
            "key": "key2",
            "value": "value2"
        },
        "vbrgemu": {
            "path": "/csar/vbrgemu.csar", set to you vbrgemu csar file path
            "key": "key2",
            "value": "value2"
        },
        "vgmux": {
            "path": "/csar/vgmux.csar", set to you vgmux csar file path
            "key": "key2",
            "value": "value2"
        }
    },
    "ns": {
         "key": "key1",
         "value": "value1",
         "path": "ns_vgw.csar", set to you ns csar file path
         "name": "vcpe11"
    },
    "location": "VCPE22_RegionOne", set to CloudOwner_CloudRegion
    "vnfm_params": {
         "GVNFMDRIVER": {
             "type": "gvnfmdriver",
             "vendor": "vfc",
             "version": "v1.0",
              "url": set to msb ip and port you used,
              "vim-id": "VCPE22_RegionOne", set to CloudOwner_CloudRegion
              "user-name": "admin",
              "user-password": "admin",
              "vnfm-version": "v1.0"
         }
    }
    
  4. The vnf csar file include Infra, vGW, vBNG, vBRGEMU and vGMUX, and the ns csar file is ns. https://git.onap.org/integration/tree/test/vcpe_tosca/local/csar

  5. The key test script is vcpe_tosca_test.py which is under https://git.onap.org/integration/tree/test/vcpe_tosca/local

    Run command is

    python3 -m unittest vcpe_tosca_test.py
    

    Before run the command, you should install requests: pip install requests, and update the path of configuration file vcpe_config.json.

  1. Release of our environment

    vfc-nslcm: 1.3.8
    vfc-vnflcm: 1.3.8
    vfc-gvnfm: 1.3.8
    modeling-etsicatalog: 1.0.5
    multicloud-framework: 1.5.1
    multicloud-windriver: 1.5.5
    cli: onap-dublin
    

Note

  1. You must authorize admin to vcpe_case when managing project members in openstack.

  2. You should create an image named image before running the test script, the name must be the same with image which is defined in vnf csar file.

  3. You should install ONAP CLI before running the script.

Known Issues and Workaround

  1. There is time out issue when terminating vnf, the solution is refer to

    https://gerrit.onap.org/r/c/vfc/nfvo/driver/vnfm/gvnfm/+/105192

  2. The process of terminating job is chaotic, the solution is refer to

    https://gerrit.onap.org/r/c/vfc/nfvo/lcm/+/105449