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

Compare with Current View Page History

« Previous Version 45 Next »

[work in progress]

System View

BBS System View

System Set up 

SO

Custom Workflow Configuration

SO Custom Workflow Configuration
~/oom/kubernetes# kubectl edit cm dev-so-so-bpmn-infra-app-configmap

mso:
...
  workflow:
    custom:
      BBS_E2E_Service:
        sdnc:
          need: true
...

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

Mapping between resource model and BPMN template: SO : How it works between API and BPMN

As shown below, new entries need to be inserted manually in SO database (mariadb-galera) in order to map a given resource model to a specific BPMN recipe. For instance, the CPE is modeled in SDC as a VF but it is treated as PNF resource by SO by using the handlePNF BPMN recipe. Those entries need to be inserted in catalogdb > vnf_recipe table.

IMPORTANT: make sure vnf_recipe.NF_ROLE matches vnf_resource.MODEL_NAME, and vnf_recipe.VERSION_STR matches vnf_resource.MODEL_VERSION.

root@onap-rancher-daily:/home/ubuntu# kubectl exec -ti dev-mariadb-galera-mariadb-galera-0 sh
sh-4.2$ mysql -u root -p
MariaDB [(none)]> use catalogdb;
MariaDB [catalogdb]> select * from vnf_recipe;
...
+-------+---------------------+-----------------------+--------------+-------------+--------------------------------------------------------------------------------+-----------------------------------------------+---------------+----------------+---------------------+--------------------------------------+
| id    | NF_ROLE             | ACTION                | SERVICE_TYPE | VERSION_STR | DESCRIPTION                                                                    | ORCHESTRATION_URI                             | VNF_PARAM_XSD | RECIPE_TIMEOUT | CREATION_TIMESTAMP  | VF_MODULE_ID                         |
+-------+---------------------+-----------------------+--------------+-------------+--------------------------------------------------------------------------------+-----------------------------------------------+---------------+----------------+---------------------+--------------------------------------+
| 10043 | InternetProfile     | createInstance        | NF           | 1.0         | create InternetProfile                                                         | /mso/async/services/CreateSDNCNetworkResource | NULL          |         180000 | 2019-02-18 08:34:39 | NULL                                 |
| 10044 | AccessConnectivity  | createInstance        | NF           | 1.0         | create AccessConnectivity                                                      | /mso/async/services/CreateSDNCNetworkResource | NULL          |         180000 | 2019-02-18 08:34:39 | NULL                                 |
| 10045 | CPE                 | createInstance        | NF           | 1.0         | create CPE                                                                     | /mso/async/services/HandlePNF                 | NULL          |         180000 | 2019-02-18 08:34:39 | NULL                                 |
+-------+---------------------+-----------------------+--------------+-------------+--------------------------------------------------------------------------------+-----------------------------------------------+---------------+----------------+---------------------+--------------------------------------+
...
MariaDB [catalogdb]> select * from vnf_resource;
+--------------------+-----------------------+---------------------+--------------------------------------+-----------------+-----------------+--------------------------------------+---------------+--------------------+----------------------------------------------+-----------------------------+-------------------+-----------------------+
| ORCHESTRATION_MODE | DESCRIPTION           | CREATION_TIMESTAMP  | MODEL_UUID                           | AIC_VERSION_MIN | AIC_VERSION_MAX | MODEL_INVARIANT_UUID                 | MODEL_VERSION | MODEL_NAME         | TOSCA_NODE_TYPE                              | HEAT_TEMPLATE_ARTIFACT_UUID | RESOURCE_CATEGORY | RESOURCE_SUB_CATEGORY |
+--------------------+-----------------------+---------------------+--------------------------------------+-----------------+-----------------+--------------------------------------+---------------+--------------------+----------------------------------------------+-----------------------------+-------------------+-----------------------+
| HEAT               | CPE VF                | 2019-05-15 22:11:07 | 8f5fe623-c5e3-4ab3-90f9-3a28daea6601 | NULL            | NULL            | 0ee07fe6-a156-4e59-9dee-09a775d02bca | 1.0           | CPE                | org.openecomp.resource.vf.Cpe                | NULL                        | Generic           | Infrastructure        |
| HEAT               | InternetProfile VF    | 2019-05-15 22:11:11 | a8de16d8-0d1a-4a19-80ac-2bcb2790e9a6 | NULL            | NULL            | acbe6358-6ce4-43a9-9385-111fe5cadad3 | 1.0           | InternetProfile    | org.openecomp.resource.vf.Internetprofile    | NULL                        | Generic           | Infrastructure        |
| HEAT               | AccessConnectivity VF | 2019-05-15 22:11:13 | b464fd87-3663-46c9-adc5-6f7d9e98ff26 | NULL            | NULL            | 53018dba-c934-415d-b4b1-0b1cae9553b8 | 1.0           | AccessConnectivity | org.openecomp.resource.vf.Accessconnectivity | NULL                        | Generic           | Infrastructure        |
+--------------------+-----------------------+---------------------+--------------------------------------+-----------------+-----------------+--------------------------------------+---------------+--------------------+----------------------------------------------+-----------------------------+-------------------+-----------------------+

Adding is_pnf flag to CPE resource input in catalogdb database. Needed in DoCreateResource BPMN for pausing the flow until a PNF is ready

INSERT INTO `vnf_resource_customization` (`ID`, `MODEL_CUSTOMIZATION_UUID`, `MODEL_INSTANCE_NAME`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_MAX_COUNT`, `NF_TYPE`, `NF_ROLE`, `NF_FUNCTION`, `NF_NAMING_CODE`, `MULTI_STAGE_DESIGN`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`, `SERVICE_MODEL_UUID`, `RESOURCE_INPUT`, `CDS_BLUEPRINT_NAME`, `CDS_BLUEPRINT_VERSION`, `SKIP_POST_INSTANTIATION_CONFIGURATION`)
VALUES
	(16, '0cea1cea-e4e4-4c91-be41-675e183a8983', 'CPE 0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'false', '2019-05-21 11:15:42', '8f5fe623-c5e3-4ab3-90f9-3a28daea6601', '0187be8c-8efb-4531-97fa-dbe984ed9cdb', '{\\\"nf_naming\\\":\\\"true\\\",\\\"skip_post_instantiation_configuration\\\":\\\"true\\\",\\\"multi_stage_design\\\":\\\"false\\\",\\\"availability_zone_max_count\\\":\\\"1\\\",\\\"is_pnf\\\":\\\"ont_0_is_pnf|true\\\"}', NULL, NULL, 1);


We need to ensure that the order in which the resources are processed by SO engine is correct. In BBS case, the PNF resource should go right after VnfVirtualLink (NOTE: the BPMN flow waits until PNF is ready in order to create AccessConnectivity and InternetProfile resources)

MariaDB [catalogdb]> select RESOURCE_ORDER from service where MODEL_NAME="BBS_E2E_Service";
+----------------------------------------------------------------------------+
| RESOURCE_ORDER                                                             |
+----------------------------------------------------------------------------+
| VnfVirtualLink,CPE,AccessConnectivity,InternetProfile,PonUni,OltNni,OntNni |
| VnfVirtualLink,CPE,AccessConnectivity,InternetProfile,PonUni,OltNni,OntNni |
+----------------------------------------------------------------------------+
2 rows in set (0.00 sec)


DMaaP Message Router

Create required topics

unauthenticated.DCAE_CL_OUTPUT
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"
}'
unauthenticated.CPE_AUTHENTICATION
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.CPE_AUTHENTICATION",
	"topicDescription": "",
	"partitionCount": "",
	"replicationCount": "3"
}'
unauthenticated.PNF_READY
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_READY",
	"topicDescription": "",
	"partitionCount": "",
	"replicationCount": "3"
}'
unauthenticated.PNF_UPDATE
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

dcae-prh config
{"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)

BBSep deployment
~/oom/kubernetes# kubectl exec -ti dev-dcaegen2-dcae-bootstrap-85f664d489-54pmt bash
[root@dev-dcaegen2-dcae-bootstrap-85f664d489-54pmt /]# 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-85f664d489-54pmt /]# 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-85f664d489-54pmt /]# 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-85f664d489-54pmt /]# cfy executions start -d bbs-ep install
Executing workflow install on deployment bbs-ep [timeout=900 seconds]
2019-05-01 11:35:32.007  CFY <bbs-ep> Starting 'install' workflow execution
2019-05-01 11:35:32.587  CFY <bbs-ep> [bbs-event-processor_yd5ucp] Creating node instance
2019-05-01 11:35:32.587  CFY <bbs-ep> [bbs-event-processor_yd5ucp.create] Sending task 'k8splugin.create_for_components'
2019-05-01 11:35:33.953  LOG <bbs-ep> [bbs-event-processor_yd5ucp.create] INFO: Added config for s4d51b24f52264857b7ef520be9efc46b-bbs-event-processor
2019-05-01 11:35:33.953  LOG <bbs-ep> [bbs-event-processor_yd5ucp.create] INFO: Added config for s4d51b24f52264857b7ef520be9efc46b-bbs-event-processor
2019-05-01 11:35:34.596  CFY <bbs-ep> [bbs-event-processor_yd5ucp.create] Task succeeded 'k8splugin.create_for_components'
2019-05-01 11:35:34.596  CFY <bbs-ep> [bbs-event-processor_yd5ucp] Node instance created
2019-05-01 11:35:34.596  CFY <bbs-ep> [bbs-event-processor_yd5ucp] Configuring node instance: nothing to do
2019-05-01 11:35:35.227  CFY <bbs-ep> [bbs-event-processor_yd5ucp] Starting node instance
2019-05-01 11:35:35.227  CFY <bbs-ep> [bbs-event-processor_yd5ucp.start] Sending task 'k8splugin.create_and_start_container_for_components'
2019-05-01 11:35:36.193  LOG <bbs-ep> [bbs-event-processor_yd5ucp.start] INFO: Starting k8s deployment for s4d51b24f52264857b7ef520be9efc46b-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_yd5ucp', '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'}
2019-05-01 11:35:36.818  LOG <bbs-ep> [bbs-event-processor_yd5ucp.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'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'}
2019-05-01 11:35:36.818  LOG <bbs-ep> [bbs-event-processor_yd5ucp.start] INFO: k8s deployment initiated successfully for s4d51b24f52264857b7ef520be9efc46b-bbs-event-processor: {'services': ['s4d51b24f52264857b7ef520be9efc46b-bbs-event-processor', 'xs4d51b24f52264857b7ef520be9efc46b-bbs-event-processor'], 'namespace': u'onap', 'location': u'central', 'deployment': 'dep-s4d51b24f52264857b7ef520be9efc46b-bbs-event-processor'}
2019-05-01 11:35:36.818  LOG <bbs-ep> [bbs-event-processor_yd5ucp.start] INFO: Waiting up to 1800 secs for s4d51b24f52264857b7ef520be9efc46b-bbs-event-processor to become ready
2019-05-01 11:36:58.376  LOG <bbs-ep> [bbs-event-processor_yd5ucp.start] INFO: Done starting: s4d51b24f52264857b7ef520be9efc46b-bbs-event-processor
2019-05-01 11:36:57.873  LOG <bbs-ep> [bbs-event-processor_yd5ucp.start] INFO: k8s deployment is ready for: s4d51b24f52264857b7ef520be9efc46b-bbs-event-processor
2019-05-01 11:36:59.119  CFY <bbs-ep> [bbs-event-processor_yd5ucp.start] Task succeeded 'k8splugin.create_and_start_container_for_components'
2019-05-01 11:36:59.119  CFY <bbs-ep> [bbs-event-processor_yd5ucp] Node instance started
2019-05-01 11:36:59.119  CFY <bbs-ep> 'install' workflow execution succeeded
Finished executing workflow install on deployment bbs-ep
* Run 'cfy events list -e 7f285182-4f85-478c-95f3-b8b6970f7c8d' to retrieve the execution's events/logs

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

Access Consul UI: http://<consul_server_ui>:30270/ui/#/dc1/services 

Modify dcae-ves-collector configuration by adding a new VES domain to DMaaP topic mapping

"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 

Export the relevant DG, modify the IP address, import back the DG and activate it

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

> 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 

Export the relevant DG, modify the IP address, import back the DG and activate it

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

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

Ref: Swisscom Edge SDN M&C and virtual BNG

Policy

BBS APEX Policy

Inside APEX container

/opt/app/policy/apex-pdp/bin/apexApps.sh engine -c examples/config/ONAPBBS/NomadicONTPolicyModel_config.json


Notes from Ram Krishna Verma

  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

CFS onboarding

1) Create Vendor License Model (VLM)

2) Resource Onboarding

Notes:

  • Create VFCs (CPE, AccessConnectivity, InternetProfile) and VFs with single VFC (CPE, AccessConnectivity, InternetProfile).
  • Declare attributes as inputs in VF.
ResourceDescriptionTemplate
CPECPE (ONT+RG) PNFCpePnf.yml
AccessConnectivityAccess Connectivity RFSaccess_connectivity.yml
InternetProfileInternet Profile RFS
ONTNNIONT NNI CPOntNni.rar
PONUNIOLT UNI CPPonUni.rar
OLTNNIOLT NNI CPOltNni.rar

3) E2E Service Design

Notes:

  • Create E2E service, ontNni has CPE as a requirement
  • ODN as VnfVirtualLink
  • ponUni and oltNni have AccessConnectivity VF as a requirement


CFS creation and activation



  • No labels