Versions Compared

Key

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

Table of Contents
maxLevel2

...

System View

Gliffy Diagram
size600
nameBBS System View
pagePin3

System Set up 

SO

Custom Workflow Configuration

Code Block
languagebash
themeMidnight
titleSO Custom Workflow Configuration
linenumberstrue
~/oom/kubernetes# kubectl edit cm dev-so-so-bpmn-infra-app-configmap

  mso:
  ...
       oof:
         auth: test:testpwd
         callbackEndpoint: http://so-bpmn-infra.onap:8081/mso/WorkflowMessage
         endpoint: https://oof-osdf.onap:8698/api/oof/v1/placement
         timeout: PT30M
       workflow:
+         custom:
+           BBS_E2E_Service:
+             sdnc:
+               need: true
         CreateGenericVNFV1:
           aai:
             volume-group:
               uri: /aai/v6/cloud-infrastructure/volume-groups/volume-group
         default:
           aai:
 ...

## Restart the pod
~/oom/kubernetes# kubectl delete po dev-so-so-bpmn-infra-7556d7f6bc-8fthk

...

Info
titleSO Database Workaround

Currently, the existing RESOURCE ORDER displayed above for the service requires the VNF-Virtual-link to be orchestrated first. Due to missing functionality in DGs to handle this orchestration for the ODN network (modeled as VNF-Virtual-Link) in BBS use case, we need to delete a database entry so that service decomposition does not contain any VNF virtual links that need to be orchestrated.


Code Block
languagebash
themeMidnight
MariaDB [catalogdb]> delete from network_resource_customization_to_service where SERVICE_MODEL_UUID="<put-here-the-service-model-UUID>";



DMaaP Message Router

Create required topics

Code Block
languagebash
themeMidnight
titleunauthenticated.DCAE_CL_OUTPUT
linenumberstrue
collapsetrue
curl -X POST \
  http://mr.api.simpledemo.openecomp.org:30227/topics/create \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"topicName": "unauthenticated.DCAE_CL_OUTPUT",
	"topicDescription": "",
	"partitionCount": "",
	"replicationCount": "3"
}'

...

Code Block
languagebash
themeMidnight
titleunauthenticated.PNF_UPDATE
linenumberstrue
collapsetrue
curl -X POST \
  http://mr.api.simpledemo.openecomp.org:30227/topics/create \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"topicName": "unauthenticated.PNF_UPDATE",
	"topicDescription": "",
	"partitionCount": "",
	"replicationCount": "3"
}'

DCAE

PNF Registration Handler (PRH) 

Update dcae-prh config in Consul

Code Block
languagebash
themeMidnight
titledcae-prh config
linenumberstrue
collapsetrue
{"dmaap.dmaapUpdateProducerConfiguration.dmaapPortNumber": 3904, "security.trustStorePath": "/opt/app/prh/etc/cert/trust.jks", "dmaap.dmaapProducerConfiguration.dmaapTopicName": "/events/unauthenticated.PNF_READY", "dmaap.dmaapConsumerConfiguration.dmaapHostName": "message-router", "streams_subscribes": {"ves-reg-output": {"type": "message_router", "dmaap_info": {"topic_url": "http://message-router:3904/events/unauthenticated.VES_PNFREG_OUTPUT"}}}, "security.enableAaiCertAuth": false, "dmaap.dmaapConsumerConfiguration.dmaapUrl": "http://message-router:3904/events/unauthenticated.VES_PNFREG_OUTPUT", "dmaap.dmaapProducerConfiguration.dmaapUserPassword": "admin", "dmaap.dmaapUpdateProducerConfiguration.dmaapTopicName": "/events/unauthenticated.PNF_UPDATE", "aai.aaiClientConfiguration.aaiUserPassword": "AAI", "dmaap.dmaapConsumerConfiguration.dmaapUserName": "admin", "security.trustStorePasswordPath": "/opt/app/prh/etc/cert/trust.pass", "aai.aaiClientConfiguration.aaiBasePath": "/aai/v12", "dmaap.dmaapProducerConfiguration.dmaapUrl": "http://message-router:3904/events/unauthenticated.PNF_READY", "dmaap.dmaapProducerConfiguration.dmaapPortNumber": 3904, "aai.aaiClientConfiguration.aaiHost": "aai", "dmaap.dmaapUpdateProducerConfiguration.dmaapContentType": "application/json", "aai.aaiClientConfiguration.aaiServiceInstancePath": "/business/customers/customer/${customer}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceInstanceId}", "dmaap.dmaapConsumerConfiguration.dmaapUserPassword": "admin", "security.keyStorePath": "/opt/app/prh/etc/cert/key.p12", "dmaap.dmaapUpdateProducerConfiguration.dmaapUrl": "http://message-router:3904/events/unauthenticated.PNF_UPDATE", "dmaap.dmaapProducerConfiguration.dmaapProtocol": "http", "dmaap.dmaapUpdateProducerConfiguration.dmaapProtocol": "http", "aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors": true, "security.enableDmaapCertAuth": false, "dmaap.dmaapUpdateProducerConfiguration.dmaapUserPassword": "admin", "aai.aaiClientConfiguration.pnfUrl": "https://aai:8443/aai/v12/network/pnfs/pnf", "dmaap.dmaapConsumerConfiguration.dmaapTopicName": "events/unauthenticated.VES_PNFREG_OUTPUT", "dmaap.dmaapConsumerConfiguration.dmaapProtocol": "http", "dmaap.dmaapConsumerConfiguration.dmaapPortNumber": 3904, "dmaap.dmaapConsumerConfiguration.consumerId": "c12", "dmaap.dmaapUpdateProducerConfiguration.dmaapUserName": "admin", "dmaap.dmaapConsumerConfiguration.dmaapContentType": "application/json", "dmaap.dmaapConsumerConfiguration.messageLimit": -1, "dmaap.dmaapProducerConfiguration.dmaapContentType": "application/json", "dmaap.dmaapUpdateProducerConfiguration.dmaapHostName": "message-router", "streams_publishes": {"pnf-update": {"type": "message_router", "dmaap_info": {"topic_url": "http://message-router:3904/events/unauthenticated.PNF_UPDATE"}}, "pnf-ready": {"type": "message_router", "dmaap_info": {"topic_url": "http://message-router:3904/events/unauthenticated.PNF_READY"}}}, "dmaap.dmaapConsumerConfiguration.consumerGroup": "OpenDCAE-c12", "security.keyStorePasswordPath": "/opt/app/prh/etc/cert/key.pass", "aai.aaiClientConfiguration.aaiUserName": "AAI", "aai.aaiClientConfiguration.aaiPnfPath": "/network/pnfs/pnf", "dmaap.dmaapProducerConfiguration.dmaapHostName": "message-router", "aai.aaiClientConfiguration.aaiHeaders": {"X-FromAppId": "prh", "X-TransactionId": "9999", "Accept": "application/json", "Authorization": "Basic QUFJOkFBSQ==", "Real-Time": "true"}, "aai.aaiClientConfiguration.aaiHostPortNumber": 8443, "dmaap.dmaapConsumerConfiguration.timeoutMs": -1, "aai.aaiClientConfiguration.aaiProtocol": "https", "dmaap.dmaapProducerConfiguration.dmaapUserName": "admin"}


BBS Event Processor (BBS-ep)

BBS-EventProcessor Service (BBS Usecase)

Code Block
languagebash
themeMidnight
titleBBSep deployment
linenumberstrue
collapsetrue
~/oom/kubernetes# kubectl exec -ti dev-dcaegen2-dcae-bootstrap-85f664d489-54pmt bash
[root@dev-dcaegen2-dcae-bootstrap-85f664d489779767c49c-54pmt7cvdw /]# cfy blueprints validate /blueprints/k8s-bbs-event-processor.yaml
Validating blueprint: /blueprints/k8s-bbs-event-processor.yaml-template
Blueprint validated successfully
[root@dev-dcaegen2-dcae-bootstrap-85f664d489779767c49c-54pmt7cvdw /]# cfy blueprints upload -b bbs-ep /blueprints/k8s-bbs-event-processor.yaml
Uploading blueprint /blueprints/k8s-bbs-event-processor.yaml...
 k8s-bbs-event-pro... |################################################| 100.0%
Blueprint uploaded. The blueprint's id is bbs-ep
[root@dev-dcaegen2-dcae-bootstrap-85f664d489779767c49c-54pmt7cvdw /]# cfy deployments create -b bbs-ep -i /bbs-event-processor-input.yaml bbs-ep
Creating new deployment from blueprint bbs-ep...
Deployment created. The deployment's id is bbs-ep
[root@dev-dcaegen2-dcae-bootstrap-85f664d489779767c49c-54pmt7cvdw /]# cfy executions start -d bbs-ep install
Executing workflow install on deployment bbs-ep [timeout=900 seconds]
20192020-0501-0113 1114:3551:3254.007483  CFY <bbs-ep> Starting 'install' workflow execution
20192020-0501-0113 1114:3551:3255.587063  CFY <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6] Creating node instance
20192020-0501-0113 1114:3551:3255.587063  CFY <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6.create] Sending task 'k8splugin.create_for_components'
20192020-0501-0113 1114:3551:3359.953059  LOG <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6.create] INFO: AddedDone configsetting forup: s4d51b24f52264857b7ef520be9efc46bsd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor
20192020-0501-0113 1114:3551:3358.953529  LOG <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6.create] INFO: Added config for s4d51b24f52264857b7ef520be9efc46bsd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor
20192020-0501-0113 1114:3551:3459.596059  CFY <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6.create] Task succeeded 'k8splugin.create_for_components'
20192020-0501-0113 1114:3551:3459.596059  CFY <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6] Node instance created
20192020-0501-0113 1114:3551:3459.596705  CFY <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6] Configuring node instance: nothing to do
20192020-0501-0113 1114:3551:3559.227705  CFY <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6] Starting node instance
20192020-0501-0113 1114:3551:3559.227705  CFY <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6.start] Sending task 'k8splugin.create_and_start_container_for_components'
20192020-0501-0113 1114:3552:3601.193122  LOG <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6.start] INFO: Starting k8s deployment for s4d51b24f52264857b7ef520be9efc46bsd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor, image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.bbs-event-processor:1.0.0, env: {'CONSUL_HOST': u'consul-server.onap', 'SERVICE_TAGS': 'bbs-ep', 'CONFIG_BINDING_SERVICE': 'config-binding-service'}, kwargs: {'readiness': {u'endpoint': u'/heartbeat', u'type': u'http', u'timeout': u'5s', u'interval': u'180s'}, 'labels': {'cfydeployment': u'bbs-ep', 'cfynodeinstance': u'bbs-event-processor_yd5ucpqcbwi6', 'cfynode': u'bbs-event-processor'}, 'tls_info': {u'use_tls': True, u'cert_directory': u'/opt/app/bbs-event-processor/etc/cert'}, 'envs': {'SERVICE_TAGS': 'bbs-ep'}, 'liveness': {}, 'resource_config': {}, 'volumes': [], 'log_info': {u'log_directory': u'/opt/app/bbs-event-processor/logs'}, 'ports': [u'8100:30810'], 'k8s_location': u'central'}
20192020-0501-0113 1114:3552:3601.818837  LOG <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6.start] INFO: Passing k8sconfig: {'tls': {u'cert_path': u'/opt/tls/shared', u'image': u'nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.3-STAGING-latest'}, 'filebeat': {u'configca_cert_mapconfigmap': u'dev-dcaegen2-dcae-filebeatbootstrap-dcae-configmapcacert', u'component_ca_cert_path': u'/opt/dcae/cacert/cacert.pem'}, 'filebeat': {u'config_map': u'dcae-filebeat-configmap', u'config_path': u'/usr/share/filebeat/filebeat.yml', u'log_path': u'/var/log/onap', u'image': u'docker.elastic.co/beats/filebeat:5.5.0', u'data_path': u'/usr/share/filebeat/data', u'config_subpath': u'filebeat.yml'}, 'consul_dns_name': u'consul-server.onap', 'image_pull_secrets': [u'onap-docker-registry-key'], 'namespace': u'onap', 'consul_host': 'consul-server:8500', 'default_k8s_location': u'central'}
20192020-0501-0113 1114:3552:3601.818837  LOG <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6.start] INFO: k8s deployment initiated successfully for s4d51b24f52264857b7ef520be9efc46bsd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor: {'services': ['s4d51b24f52264857b7ef520be9efc46bsd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor', 'xs4d51b24f52264857b7ef520be9efc46bxsd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor'], 'namespace': u'onap', 'location': u'central', 'deployment': 'dep-s4d51b24f52264857b7ef520be9efc46bsd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor'}
20192020-0501-0113 1114:3552:3601.818837  LOG <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6.start] INFO: Waiting up to 1800 secs for s4d51b24f52264857b7ef520be9efc46bsd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor to become ready
20192020-0501-0113 1114:3654:5845.376054  LOG <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6.start] INFO: Done starting k8s deployment is ready for: s4d51b24f52264857b7ef520be9efc46bsd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor
20192020-0501-0113 1114:3654:5745.873586  LOG <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6.start] INFO: k8s deployment is ready forDone starting: s4d51b24f52264857b7ef520be9efc46bsd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor
20192020-0501-0113 1114:3654:5945.119586  CFY <bbs-ep> [bbs-event-processor_yd5ucpqcbwi6.start] Task succeeded 'k8splugin.create_and_start_container_for_components'
2019-05-01 11:36:59.1192020-01-13 14:54:45.586  CFY <bbs-ep> [bbs-event-processor_qcbwi6] Node instance started
2020-01-13 14:54:46.303  CFY <bbs-ep> [bbs-event-processor_yd5ucp 'install' workflow execution succeeded
Finished executing workflow install on deployment bbs-ep
* Run 'cfy events list -e 08ad7324-4899-4c8e-b84f-6f198e873af1' to retrieve the execution's events/logs


Update the configuration of BBS-ep in Consul with the following version for close loop (see screenshot below) in order to match the version expected by BBS APEX policy:

Code Block
languagebash
themeMidnight
"application.clVersion": "1.0.0"

Image Added

RESTCONF Collector

See RESTConf Collector (BBS Usecase)

Code Block
languagebash
themeMidnight
[root@dev-dcaegen2-dcae-bootstrap-779767c49c-7cvdw /]# cfy blueprints validate blueprints/k8s-rcc-policy.yaml
Validating blueprint: blueprints/k8s-rcc-policy.yaml
Blueprint validated successfully
[root@dev-dcaegen2-dcae-bootstrap-779767c49c-7cvdw /]# cfy blueprints upload -b restconfcollector /blueprints/k8s-rcc-policy.yaml
Uploading blueprint /blueprints/k8s-rcc-policy.yaml...
 k8s-rcc-policy.yaml |#################################################| 100.0%
Blueprint uploaded. The blueprint's id is restconfcollector
[root@dev-dcaegen2-dcae-bootstrap-779767c49c-7cvdw /]# cfy deployments create -b restconfcollector
Creating new deployment from blueprint restconfcollector...
Deployment created. The deployment's id is restconfcollector
[root@dev-dcaegen2-dcae-bootstrap-779767c49c-7cvdw /]# cfy executions start -d restconfcollector install
Executing workflow install on deployment restconfcollector [timeout=900 seconds]
2020-01-13 15:12:52.119  CFY <restconfcollector> Starting 'install' workflow execution
2020-01-13 15:12:52.701  CFY <restconfcollector> [rcc_k8s_8qm5me] Creating node instance
2020-01-13 15:12:52.701  CFY <restconfcollector> [rcc_k8s_8qm5me.create] Sending task 'k8splugin.create_for_platforms'
2020-01-13 15:12:55.168  LOG <restconfcollector> [rcc_k8s_8qm5me.create] INFO: Added config for dcaegen2-collectors-rcc
2020-01-13 15:12:55.747  LOG <restconfcollector> [rcc_k8s_8qm5me.create] INFO: Done setting up: dcaegen2-collectors-rcc
2020-01-13 15:12:55.747  CFY <restconfcollector> [rcc_k8s_8qm5me.create] Task succeeded 'k8splugin.create_for_platforms'
2020-01-13 15:12:55.747  CFY <restconfcollector> [rcc_k8s_8qm5me] Node instance created
2020-01-13 15:12:56.341  CFY <restconfcollector> [rcc_k8s_8qm5me] Configuring node instance: nothing to do
2020-01-13 15:12:56.341  CFY <restconfcollector> [rcc_k8s_8qm5me] Starting node instance
2020-01-13 15:12:56.341  CFY <restconfcollector> [rcc_k8s_8qm5me.start] Sending task 'k8splugin.create_and_start_container_for_platforms'
2020-01-13 15:12:57.559  LOG <restconfcollector> [rcc_k8s_8qm5me.start] INFO: Starting k8s deployment for dcaegen2-collectors-rcc, image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.restconfcollector:1.1.1, env: {'CONSUL_HOST': u'consul-server.onap.svc.cluster.local', u'DMAAPHOST': u'message-router.onap.svc.cluster.local', 'CONFIG_BINDING_SERVICE': u'config_binding_service', u'CBS_HOST': u'config-binding-service.dcae.svc.cluster.local', u'DMAAPPORT': u'3904', u'CBS_PORT': u'10000', u'CONSUL_PORT': u'8500', u'DMAAPPUBTOPIC': u'unauthenticated.DCAE_RCC_OUTPUT'}, kwargs: {'readiness': {u'endpoint': u'/healthcheck', u'type': u'http', u'timeout': u'1s', u'interval': u'15s'}, 'tls_info': {}, 'replicas': 1, u'envs': {u'CONSUL_HOST': u'consul-server.onap.svc.cluster.local', u'DMAAPHOST': u'message-router.onap.svc.cluster.local', u'CONFIG_BINDING_SERVICE': u'config_binding_service', u'CBS_HOST': u'config-binding-service.dcae.svc.cluster.local', u'DMAAPPORT': u'3904', u'CBS_PORT': u'10000', u'CONSUL_PORT': u'8500', u'DMAAPPUBTOPIC': u'unauthenticated.DCAE_RCC_OUTPUT'}, 'labels': {'cfydeployment': u'restconfcollector', 'cfynodeinstance': u'rcc_k8s_8qm5me', 'cfynode': u'rcc_k8s'}, 'ctx': <cloudify.context.CloudifyContext object at 0x7fb63e5872d0>, 'always_pull_image': False, 'resource_config': {}, 'log_info': {u'log_directory': u'/opt/app/RCCollector/logs'}, u'ports': [u'8080:30416'], 'k8s_location': u'central'}
2020-01-13 15:12:58.275  LOG <restconfcollector> [rcc_k8s_8qm5me.start] INFO: Passing k8sconfig: {'tls': {u'cert_path': u'/opt/tls/shared', u'image': u'nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.3', u'ca_cert_configmap': u'dev-dcaegen2-dcae-bootstrap-dcae-cacert', u'component_ca_cert_path': u'/opt/dcae/cacert/cacert.pem'}, 'filebeat': {u'config_map': u'dcae-filebeat-configmap', u'config_path': u'/usr/share/filebeat/filebeat.yml', u'log_path': u'/var/log/onap', u'image': u'docker.elastic.co/beats/filebeat:5.5.0', u'data_path': u'/usr/share/filebeat/data', u'config_subpath': u'filebeat.yml'}, 'consul_dns_name': u'consul-server.onap', 'image_pull_secrets': [u'onap-docker-registry-key'], 'namespace': u'onap', 'consul_host': 'consul-server:8500', 'default_k8s_location': u'central'}
2020-01-13 15:12:58.275  LOG <restconfcollector> [rcc_k8s_8qm5me.start] INFO: k8s deployment initiated successfully for dcaegen2-collectors-rcc: {'services': ['dcaegen2-collectors-rcc', 'xdcaegen2-collectors-rcc'], 'namespace': u'onap', 'location': u'central', 'deployment': 'dep-dcaegen2-collectors-rcc'}
2020-01-13 15:12:58.275  LOG <restconfcollector> [rcc_k8s_8qm5me.start] INFO: Waiting up to 1800 secs for dcaegen2-collectors-rcc to become ready
^A2020-01-13 15:13:29.970  LOG <restconfcollector> [rcc_k8s_8qm5me.start] INFO: k8s deployment is ready for: dcaegen2-collectors-rcc
2020-01-13 15:13:30.550  CFY <restconfcollector> [rcc_k8s_8qm5me.start] Task succeeded 'k8splugin.create_and_start_container_for_platforms'
2020-01-13 15:13:30.550  CFY <restconfcollector> [rcc_k8s_8qm5me] Node instance started
20192020-0501-0113 1115:3613:5931.119265  CFY <bbs-ep><restconfcollector> 'install' workflow execution succeeded
Finished executing workflow install on deployment bbs-eprestconfcollector
* Run 'cfy events list -e 7f2851822ea4f906-4f85536b-478c48b1-95f3aa34-b8b6970f7c8ddd6b4baed255' to retrieve the execution's events/logs

Update the configuration of BBS-ep in Consul with the following version for close loop (see screenshot below) in order to match the version expected by BBS APEX policy:

Midnight
Code Block
languagebash
theme
"application.clVersion": "1.0.0"

Image Removed

RESTCONF Collector

See RESTConf Collector (BBS Usecase)

VES mapper

See VESMapper (BBS Usecase)

VES Collector

Configure mapping VES event domain to DMaaP topic: ves-statechange --> unauthenticated.CPE_AUTHENTICATION

...

Code Block
languagebash
themeMidnight
"ves-statechange": {"type": "message_router", "dmaap_info": {"topic_url": "http://message-router:3904/events/unauthenticated.CPE_AUTHENTICATION"}}

SDNC

Make sure that BBS DGs in SDNC DGBuilder are in Active state

...

http://dguser:test123@{{sdnc-dgbuilder_Node-IP}}:30203/# 

Access SDN M&C DG

Configure Access SDN M&C IP address in SDNC DG using dgbuilder 

...

> GENERIC-RESOURCE-API: bbs-access-connectivity-network-topology-operation-create-huawei.json
> GENERIC-RESOURCE-API: bbs-access-connectivity-network-topology-operation-delete-huawei.json

Edge SDN M&C DG

Configure Edge SDN M&C IP address in SDNC DG using dgbuilder 

...

> GENERIC-RESOURCE-API: bbs-access-connectivity-network-topology-operation-common-huawei.json

Image Modified

Ref: Swisscom Edge SDN M&C and virtual BNG

Policy

BBS APEX Policy

Inside APEX container,

1) Edit DCAEConsumer URL in `examples/config/ONAPBBS/NomadicONTPolicyModel_config.json`

...

Expand
titleHow to deploy policies in Dublin
  1. Package the policy in docker image and then it gets automatically deployed when you call “docker run”. Basically it takes both configuration & model file as arguments while starting the apex engine. This is same as you mentioned below.


  1. Using apex deployment client: Apex-pdp comes with a deployment client UI with which you can connect to a live running apex engine and perform a hot deployment of policy (without any engine restart). This is really helpful for pushing updates to an already running policy or if you just want to start apex engine with configuration file and push the policy later.

Have a look at - https://docs.onap.org/en/casablanca/submodules/policy/apex-pdp.git/docs/APEX-User-Manual.html#the-apex-deployment-client

Note: The clients are not started by default with apex engine. Instead user needs to start the client either locally or inside the container. However, we are planning to package the clients in a separate docker container so that in OOM installations of ONAP we will have it started & ready for use.


  1. Using Policy Distribution: The apex policy (model file) can also be added to the service in SDC and then when user distributes the service, it will be received by the policy-distribution component  inside the distributed CSAR. Which is then parsed and the policy (model file) is deployed in the running apex engine. This way you can deploy policy to running apex engine via Service creation in SDC.

Have a look at - https://docs.onap.org/en/casablanca/submodules/policy/distribution.git/docs/index.html?highlight=distribution

https://wiki.onap.org/display/DW/Policy+Platform+-+SDC+Service+Distribution+Software+Architecture


  1. Using new Policy Framework architecture: In Dublin release, we have created a new architecture of entire Policy Framework in ONAP. The architecture is based on various microservices having independent responsibilities (API, PAP, PDP etc.). Using this one can create/update policies and deploy them to pdp engines via REST calls. CLAMP will use the REST API’s to deploy policies in pdp engines.

Note: As this is new feature coming in Dublin release, pairwise testing is going on right now and post that official documentation will be created for the same.

In the meantime have a look at - https://wiki.onap.org/display/DW/Policy+Design+and+API+Flow+for+Model+Driven+Control+Loop

https://wiki.onap.org/display/DW/The+ONAP+Policy+Framework

Edge Services: vBNG+AAA+DHCP, Edge SDN M&C

Swisscom Edge SDN M&C and virtual BNG

BBS Service Configuration

AAI: Business customer

Create a business customer and subscription to BBS service type in AAI

...

Code Block
languagebash
themeMidnight
titleCreate BBS service subscription in AAI
linenumberstrue
collapsetrue
curl -X PUT \
  https://aai.api.simpledemo.openecomp.org:30233/aai/v14/business/customers/customer/0dd5ab04-11a1-48b2-9792-6f12a42223d3/service-subscriptions/service-subscription/BBS_E2E_Service \
  -H 'Accept: application/json' \
  -H 'Authorization: Basic QUFJOkFBSQ==' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Content-Type: application/json' \
  -H 'Host: aai.api.simpledemo.openecomp.org:30233' \
  -H 'User-Agent: PostmanRuntime/7.15.0' \
  -H 'X-FromAppId: Postman Application' \
  -H 'X-TransactionId: Postman REST Transaction' \
  -H 'accept-encoding: gzip, deflate' \
  -H 'cache-control: no-cache' \
  -H 'content-length: 38' \
  -d '{
	"service-type": "BBS_E2E_Service"
}'

curl -X GET \
  'https://aai.api.simpledemo.openecomp.org:30233/aai/v16/business/customers/customer/0dd5ab04-11a1-48b2-9792-6f12a42223d3?depth=all' \
  -H 'Accept: application/json' \
  -H 'Authorization: Basic QUFJOkFBSQ==' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Content-Type: application/json' \
  -H 'Host: aai.api.simpledemo.openecomp.org:30233' \
  -H 'User-Agent: PostmanRuntime/7.15.0' \
  -H 'X-FromAppId: Postman Application' \
  -H 'X-TransactionId: Postman REST Transaction' \
  -H 'accept-encoding: gzip, deflate' \
  -H 'cache-control: no-cache'

{
    "global-customer-id": "0dd5ab04-11a1-48b2-9792-6f12a42223d3",
    "subscriber-name": "BBSCustomer",
    "subscriber-type": "CUST",
    "resource-version": "1561552477331",
    "service-subscriptions": {
        "service-subscription": [
            {
                "service-type": "BBS_E2E_Service",
                "resource-version": "1561553245301"
            }
        ]
    }
}

BBS HSIA CFS Onboarding and Distribution

Postman Collection: BBS_Use_Case_PostmanCollection.zip

1) Create Vendor License Model (VLM)
Multimedia
nameBBS_01_Create_VLM.mov
width500

2) Resource Onboarding

Notes:

  • Create VFCs (CPE, AccessConnectivity, InternetProfile) and VFs with single VFC (CPE, AccessConnectivity, InternetProfile).
  • Declare attributes as inputs in VF.

...

Multimedia
nameBBS_03_E2EServiceDesign.mp4
width500

BSS HSIA Service Order: Request Input

Input provided as part of the service order, sent to External API from BSS

...

Code Block
languagejs
themeMidnight
titleService Order coming from BSS to ExternalAPI
linenumberstrue
collapsetrue
{
  "externalId": "BBS_BSS_TrackindId3584",
  "category": "NetworkService",
  "description": "Service Order for a new HSIA CFS",
  "priority": "1",
  "relatedParty": [
    {
      "id": "6f486438-87b5-4bee-8f85-30090c760501",
      "role": "ONAPcustomer",
      "name": "EnterpriseA",
      "@referredType": "Consumer"
    }
  ],
  "orderItem": [
    {
      "id": "1",
      "action": "add",
      "service": {
        "name": "BBS_E2E_Service_1",
        "serviceState": "active",
        "serviceSpecification": {
          "id": "0187be8c-8efb-4531-97fa-dbe984ed9cdb"
        },
        "serviceCharacteristic": [
          {
            "name": "ont_ont_serial_num",
            "value": {
              "serviceCharacteristicValue": "HWTCC01B7503"
            }
          },
          {
            "name": "edgeinternetprofile_ip_rg_mac_addr",
            "value": {
              "serviceCharacteristicValue": "54:04:a6:38:12:9d"
            }
          },
          {
            "name": "edgeinternetprofile_ip_downstream_speed",
            "value": {
              "serviceCharacteristicValue": "10"
            }
          },
          {
            "name": "ont_ont_mac_addr",
            "value": {
              "serviceCharacteristicValue": "54:04:a6:38:12:9d"
            }
          },
          {
            "name": "edgeinternetprofile_ip_remote_id",
            "value": {
              "serviceCharacteristicValue": "AC9.000.010.001"
            }
          },
          {
            "name": "ont_ont_swVersion",
            "value": {
              "serviceCharacteristicValue": "1.0.0"
            }
          },
          {
            "name": "ont_ont_manufacturer",
            "value": {
              "serviceCharacteristicValue": "HUAWEI"
            }
          },
          {
            "name": "edgeinternetprofile_ip_service_type",
            "value": {
              "serviceCharacteristicValue": "BBS_E2E_Service"
            }
          },
          {
            "name": "ont_ont_pnf_name",
            "value": {
              "serviceCharacteristicValue": "Huawei-4857544302FF269D"
            }
          },
          {
            "name": "edgeinternetprofile_ip_upstream_speed",
            "value": {
              "serviceCharacteristicValue": "10"
            }
          },
          {
            "name": "ont_ont_nf_type",
            "value": {
              "serviceCharacteristicValue": "HN8255WS"
            }
          },
          {
            "name": "cvlan",
            "value": {
              "serviceCharacteristicValue": "100"
            }
          },
          {
            "name": "svlan",
            "value": {
              "serviceCharacteristicValue": "1000"
            }
          }
        ]
      }
    }
  ]
}

BBS HSIA Service Creation and Activation

Gliffy Diagram
size600
nameBBS - HSIA Service Creation and Activation
pagePin2
Multimedia
nameBBS_04_HSIACreationAndActivation.mp4
width500

BBS HSIA Service Reconfiguration. Nomadic ONT

Gliffy Diagram
size600
nameBBS - HSIA Service Reconfiguration. Nomadic ONT
pagePin2
Multimedia
nameBBS_05_NomadicONT.mov
width500

...