Versions Compared

Key

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

...

Code Block
curl -X PUT \
  https://aai:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/nova \
  -H 'accept: application/json' \
  -u 'AAI:AAI'\
  -H 'content-type: application/json' \
  -d '{
		"availability-zone-name": "nova",
		"hypervisor-type": "KVM",
		"operational-status": "Active"
	}' 

ssh to the robot VM, execute:

  • /opt/demo.sh init_robot
  • /opt/demo.sh init

ssh to the SO VM and do the following

  • Enter the mso docker: docker exec -it testlab_mso_1 bash
  • Inside the docker, execute:  update-ca-certificates -f
  • Edit /etc/mso/config.d/mso.bpmn.urn.properties, find the following line
    mso.workflow.default.aai.v11.tenant.uri=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DFW/tenants/tenant
    and change it to the following
    mso.workflow.default.aai.v11.tenant.uri=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant
  • Exit from the docker
  • Restart the mso docker: docker restart testlab_mso_1

...

Add operation user ID to AAI. Note that you will need to replace the tenant ID 087050388b204c73a3e418dd2c1fe30b and tenant name with the values you use.

Code Block
curl -X PUT \
  'https://aai1:8443/aai/v11/business/customers/customer/SDN-ETHERNET-INTERNET' \
  -H 'accept: application/json' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -u 'AAI:AAI'\
  -d '{
    "global-customer-id": "SDN-ETHERNET-INTERNET",
    "subscriber-name": "SDN-ETHERNET-INTERNET",
    "subscriber-type": "INFRA",
    "service-subscriptions": {
        "service-subscription": [
            {
                "service-type": "vCPE",
                "relationship-list": {
                    "relationship": [
                        {
                            "related-to": "tenant",
                            "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/087050388b204c73a3e418dd2c1fe30b",
                            "relationship-data": [
                                {
                                    "relationship-key": "cloud-region.cloud-owner",
                                    "relationship-value": "CloudOwner"
                                },
                                {
                                    "relationship-key": "cloud-region.cloud-region-id",
                                    "relationship-value": "RegionOne"
                                },
                                {
                                    "relationship-key": "tenant.tenant-id",
                                    "relationship-value": "087050388b204c73a3e418dd2c1fe30b"
                                }
                            ],
                            "related-to-property": [
                                {
                                    "property-key": "tenant.tenant-name",
                                    "property-value": "Integration-SB-01"
                                }
                            ]
                        }
                    ]
                }
            }
        ]
    }
}'

ssh to the robot VM, execute:

  • /opt/demo.sh init_robot
  • /opt/demo.sh init

ssh to the SO VM and do the following

  • Enter the mso docker: docker exec -it testlab_mso_1 bash
  • Inside the docker, execute:  update-ca-certificates -f
  • Edit /etc/mso/config.d/mso.bpmn.urn.properties, find the following line
    mso.workflow.default.aai.v11.tenant.uri=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DFW/tenants/tenant
    and change it to the following
    mso.workflow.default.aai.v11.tenant.uri=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant
  • Exit from the docker
  • Restart the mso docker: docker restart testlab_mso_1

ssh to the SDNC VM and do the following:

  • Add a route:  ip route add 10.3.0.0/24 via 10.0.101.10 dev eth0 
  • Enter the sdnc controller docker: docker exec -it sdnc_controller_container bash
  • In the container, run the following to create IP address pool: /opt/sdnc/bin/addIpAddresses.sh VGW 10.5.0 22 250

Deploy Infrastructure

Download and modify automation code

I have developed a python program to automate the deployment. The code will be added to our gerrit repo later. For now you can download from this link: vcpe.zip

Unzip it and then modify vcpecommon.py. You will need to enter your cloud and network information into the following two dictionaries.

Code Block
cloud = {
    '--os-auth-url': 'http://10.12.25.2:5000',
    '--os-username': 'kxi',
    '--os-user-domain-id': 'default',
    '--os-project-domain-id': 'default',
    '--os-tenant-id': '087050388b204c73a3e418dd2c1fe30b',
    '--os-region-name': 'RegionOne',
    '--os-password': 'n3JhGMGuDzD8',
    '--os-project-domain-name': 'Integration-SB-01',
    '--os-identity-api-version': '3'
}

common_preload_config = {
    'oam_onap_net': 'oam_onap_oTA1',
    'oam_onap_subnet': 'oam_onap_oTA1',
    'public_net': 'external',
    'public_net_id': '971040b2-7059-49dc-b220-4fab50cb2ad4'
}

Run automation program to deploy services

Sign into SDC as designer and download five csar files for infra, vbng, vgmux, vbrg, and rescust. Copy all the csar files to directory csar.

Now you can simply run 'vcpe.py' to see the instructions.

To get ready for service deployment. First run 'vcpe.py init'. This will modify SO and SDNC database to add service-related information.

Once it is done. Run 'vcpe.py infra'. This will deploy the following services. It may take 7-10 minutes to complete depending on the cloud infrastructure.

  • Infra
  • vBNG
  • vGMUX
  • vBRG

If the deployment succeeds, you will see a summary of the deployment from the program.

Validate deployed VNFs

By now you will be able to see 7 VMs in Horizon. However, this does not mean all the VNFs are functioning properly. In many cases we found that a VNF may need to be restarted multiple times to make it function properly. We perform validation as follows:

  • Run healthcheck.py. It checks for three things:
    • vGMUX honeycomb server is running
    • vBRG honeycomb server is running
    • vBRG has obtained an IP address and its MAC/IP data has been captured by SDNC

If this healthcheck passes, then skip the following and start to deploy customer service. Otherwise do the following and redo healthcheck.

  • If vGMUX check does not pass, restart vGMUX, make sure it can be connected using ssh.
  • If vBRG check does not pass, restart vBRG, make sure it can be connected using ssh.

Deploy Customer Service and Test Data Plane

...