[work in progress]
System Set up
SO
~/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
DCAE: BBS Event Processor (BBS-ep)
BBS-EventProcessor Service (BBS Usecase)
~/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-template 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-template Uploading blueprint /blueprints/k8s-bbs-event-processor.yaml-template... 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... Unable to create deployment. Not all deployment plugins are installed on the Manager. * Use 'cfy plugins upload' to upload the missing plugins to the Manager, or use 'cfy deployments create' with the '--skip-plugins-validation' flag to skip this validation. 400: Required plugin k8splugin, version 1.4.11 is not installed on the manager [root@dev-dcaegen2-dcae-bootstrap-85f664d489-54pmt /]# cfy plugins upload https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.11/k8splugin-1.4.11-py27-none-linux_x86_64.wgn-20190322T142308 Uploading plugin https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.11/k8splugin-1.4.11-py27-none-linux_x86_64.wgn-20190322T142308... Plugin uploaded. The plugin's id is 8668bc41-778d-4901-910c-f5697343b3de [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] An error occurred on the server: 500: Can't launch executions since environment creation for deployment bbs-ep has failed: Traceback (most recent call last): File "/opt/mgmtworker/env/lib/python2.7/site-packages/cloudify/dispatch.py", line 571, in _remote_workflow_child_thread workflow_result = self._execute_workflow_function() File "/opt/mgmtworker/env/lib/python2.7/site-packages/cloudify/dispatch.py", line 600, in _execute_workflow_function result = self.func(*self.args, **self.kwargs) File "/opt/mgmtworker/env/lib/python2.7/site-packages/cloudify_system_workflows/deployment_environment.py", line 100, in create return graph.execute() File "/opt/mgmtworker/env/lib/python2.7/site-packages/cloudify/workflows/tasks_graph.py", line 237, in execute raise self._error RuntimeError: Workflow failed: Task failed 'cloudify_agent.operations.install_plugins' -> No source or managed plugin found for {u'distribution_release': None, u'install_arguments': None, u'name': u'k8s', u'package_name': u'k8splugin', u'distribution_version': None, u'package_version': u'1.4.11', u'supported_platform': None, u'source': None, u'install': True, u'executor': u'central_deployment_agent', u'distribution': None} [current_platform=linux_x86_64, current_distro=centos, current_distro_release=core]
DMaaP Message Router
Create required topics
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.onap.svc.cluster.local:3904/events/unauthenticated.CPE_AUTHENTICATION"}}
Policy: BBS APEX Policy
Notes from Ram Krishna Verma
- 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.
- 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.
- 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
- 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
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.
Resource | Description | Template |
---|---|---|
CPE | CPE (ONT+RG) PNF | CpePnf.yml |
AccessConnectivity | Access Connectivity RFS | access_connectivity.yml |
InternetProfile | Internet Profile RFS | |
ONTNNI | ONT NNI CP | OntNni.rar |
PONUNI | OLT UNI CP | PonUni.rar |
OLTNNI | OLT NNI CP | OltNni.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