Update BBS use case documentation 10/103110/1
authorPérez Caparrós David <David.PerezCaparros@swisscom.com>
Thu, 5 Mar 2020 09:31:49 +0000 (10:31 +0100)
committerPérez Caparrós David <David.PerezCaparros@swisscom.com>
Thu, 5 Mar 2020 09:31:49 +0000 (10:31 +0100)
BBS use case documentation needs minor updates in Frankfurt release

Issue-ID: INT-1444

Signed-off-by: Pérez Caparrós David <David.PerezCaparros@swisscom.com>
Change-Id: I1c5f34f1e4c8b943e50a8fdeb7e440803a96a928

docs/docs_BBS.rst

index 81af172..a79569a 100644 (file)
@@ -10,24 +10,33 @@ management and assurance of broadband services. BBS focuses on multi-Gigabit
 Internet Connectivity services based on PON (Passive Optical Network) access
 technology.
 
-In Dublin release, BBS enables ONAP to
+In Frankfurt release, BBS enables ONAP to
 
-1. Establish a subscriber's HSIA (High Speed Internet Access) service from an ONT (Optical Network Termination unit) to the Internet drain
+1. Establish a subscriber's HSIA (High Speed Internet Access) service from an
+ONT (Optical Network Termination unit) to the Internet drain
 
-   - The HSIA service is designed and deployed using ONAP's design and deployment capabilities
-   - The HSIA service activation is initiated via ONAP's External APIs and orchestrated and controlled using ONAP orchestration and control capabilities. The control capabilities leverage a 3rd party controller to implement the requested action within the technology domain/location represented by the domain specific SDN management and control function.
+   - The HSIA service is designed and deployed using ONAP's design and
+   deployment capabilities
+   - The HSIA service activation is initiated via ONAP's External APIs and
+   orchestrated and controlled using ONAP orchestration and control
+   capabilities. The control capabilities leverage a 3rd party controller to
+   implement the requested action within the technology domain/location
+   represented by the domain specific SDN management and control function.
 
 2. Detect the change of location for ONT devices (Nomadic ONT devices)
 
    - PNF (Re-)Registration for an ONT
 
      - Subscriber association to an ONT via ONAP's External APIs
-     - ONT association with a expected Access UNI (PON port) when a HSIA service is created/deployed for a subscriber
+     - ONT association with a expected Access UNI (PON port) when a HSIA service
+      is created/deployed for a subscriber
      - PNF (Re-)Registration using ONAP's PNF registration capabilities
 
-   - Service location modification that is detected by ONAP's analytic and initiated via the closed loop capabilities
+   - Service location modification that is detected by ONAP's analytic and
+   initiated via the closed loop capabilities
 
-     - The closed loop capabilities invoke a HSIA location change service that is orchestrated and controlled using ONAP capabilities and 3rd party controllers
+     - The closed loop capabilities invoke a HSIA location change service that
+     is orchestrated and controlled using ONAP capabilities and 3rd party controllers
 
 |image1|
 
@@ -53,14 +62,27 @@ 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
-  ...
+    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
+  +            resource:
+  +              sequence: VnfVirtualLink,CPE,AccessConnectivity,InternetProfile,PonUni,OltNni,OntNni
+           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
@@ -75,60 +97,27 @@ IMPORTANT: make sure vnf_recipe.NF_ROLE matches vnf_resource.MODEL_NAME, and vnf
   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        |
-  +--------------------+-----------------------+---------------------+--------------------------------------+-----------------+-----------------+--------------------------------------+---------------+--------------------+----------------------------------------------+-----------------------------+-------------------+-----------------------+
-
-Modify the MODEL_UUID and MODEL_INVARIANT_UUID for each resource in the SQL query below accordingly to your environment.
-
-::
-
-  INSERT INTO `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`)
-  VALUES
-      ('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`)
+  MariaDB [catalogdb]> INSERT INTO vnf_recipe (NF_ROLE, ACTION, SERVICE_TYPE, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, VNF_PARAM_XSD, RECIPE_TIMEOUT)
   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)
+    ("InternetProfile", "createInstance", "NF", "1.0", "create InternetProfile", "/mso/async/services/CreateSDNCNetworkResource", '{"operationType":"AccessConnectivity"}', 180000),
+    ("AccessConnectivity", "createInstance", "NF", "1.0", "create AccessConnectivity", "/mso/async/services/CreateSDNCNetworkResource", '{"operationType":"InternetProfile"}', 180000),
+    ("CPE", "createInstance", "NF", "1.0", "create CPE", "/mso/async/services/HandlePNF", NULL, 180000);
 
-::
+  MariaDB [catalogdb]> select * from vnf_recipe where NF_ROLE IN ('AccessConnectivity','InternetProfile', 'CPE');
+  +-------+--------------------+----------------+--------------+-------------+---------------------------+-----------------------------------------------+----------------------------------------+----------------+---------------------+--------------+
+  | id    | NF_ROLE            | ACTION         | SERVICE_TYPE | VERSION_STR | DESCRIPTION               | ORCHESTRATION_URI                             | VNF_PARAM_XSD                          | RECIPE_TIMEOUT | CREATION_TIMESTAMP  | VF_MODULE_ID |
+  +-------+--------------------+----------------+--------------+-------------+---------------------------+-----------------------------------------------+----------------------------------------+----------------+---------------------+--------------+
+  | 10048 | InternetProfile    | createInstance | NF           | 1.0         | create InternetProfile    | /mso/async/services/CreateSDNCNetworkResource | {"operationType":"InternetProfile"}    |        1800000 | 2020-01-20 17:43:07 | NULL         |
+  | 10051 | AccessConnectivity | createInstance | NF           | 1.0         | create AccessConnectivity | /mso/async/services/CreateSDNCNetworkResource | {"operationType":"AccessConnectivity"} |        1800000 | 2020-01-20 17:43:07 | NULL         |
+  | 10054 | CPE                | createInstance | NF           | 1.0         | create CPE                | /mso/async/services/HandlePNF                 | NULL                                   |        1800000 | 2020-01-20 17:43:07 | NULL         |
+  +-------+--------------------+----------------+--------------+-------------+---------------------------+-----------------------------------------------+----------------------------------------+----------------+---------------------+--------------+
+  3 rows in set (0.00 sec)
 
-  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
+Create the required topics in DMaaP
 
 ::
 
@@ -183,78 +172,230 @@ Create required topics
 DCAE: BBS Event Processor (BBS-ep)
 ==================================
 
-Installation instructions: `BBS-ep <https://wiki.onap.org/pages/viewpage.action?pageId=60891185>`_
+Description: `BBS-ep <https://wiki.onap.org/pages/viewpage.action?pageId=60891185>`_
+
+The following BBS event processor blueprints will be used:
+- `k8s-bbs-event-processor.yaml <https://git.onap.org/dcaegen2/services/plain/components/bbs-event-processor/dpo/blueprints/k8s-bbs-event-processor.yaml-template?h=frankfurt>`_
+- `bbs-event-processor-input.yaml <https://git.onap.org/dcaegen2/services/plain/components/bbs-event-processor/dpo/blueprints/bbs-event-processor-input.yaml?h=frankfurt>`_
+
+The BBS-ep deployment procedure:
+
+::
 
-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:
+  ~/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.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
+
+IMPORTANT: Make sure that the configuration of BBS-ep in Consul contains the following version for the close loop policy in order to match the version expected by BBS APEX policy:
 
 ::
 
-  "application.clVersion": "1.0.0"
+  "application.clVersion": "1.0.2"
 
 DCAE: RESTCONF Collector
 ========================
 
-Installation instructions: `RESTCONF Collector <https://wiki.onap.org/pages/viewpage.action?pageId=60891182>`_
+Description: `RESTCONF Collector <https://wiki.onap.org/pages/viewpage.action?pageId=60891182>`_
+
+The following RESTCONF collector blueprints will be used:
+- `k8s-rcc-policy.yaml <https://git.onap.org/dcaegen2/collectors/restconf/plain/dpo/blueprints/k8s-rcc-policy.yaml-template?h=frankfurt>`_
+
+RESTCONF Collector deployment procedure:
+
+::
+
+  [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
+  2020-01-13 15:13:31.265  CFY <restconfcollector> 'install' workflow execution succeeded
+  Finished executing workflow install on deployment restconfcollector
+  * Run 'cfy events list -e 2ea4f906-536b-48b1-aa34-dd6b4baed255' to retrieve the execution's events/logs
 
 DCAE: VES mapper
 ================
 
 Installation instructions: `VES Mapper <https://wiki.onap.org/pages/viewpage.action?pageId=60891188>`_
 
+The following VES mapper blueprints will be used:
+- `k8s-vesmapper.yaml <https://gerrit.onap.org/r/gitweb?p=dcaegen2/services/mapper.git;a=blob_plain;f=UniversalVesAdapter/dpo/blueprints/k8s-vesmapper.yaml-template.yaml>`_
+
+IMPORTANT: Set the image to nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.0.0 in the blueprint
+
 DCAE: VES collector
 ===================
 
-Configure mapping VES event domain to DMaaP topic: ves-statechange --> unauthenticated.CPE_AUTHENTICATION
+Configure the mapping of the VES event domain to the correct DMaaP topic in Consul: ves-statechange --> unauthenticated.CPE_AUTHENTICATION
 
-Access Consul UI: http://<consul_server_ui>:30270/ui/#/dc1/services
+1. 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
+2. Modify the 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"}}
 
+3. Click on UPDATE in order to apply the new configuration
+
+
 SDNC: BBS DGs (Directed Graphs)
 ===============================
 
-Make sure that BBS DGs in SDNC DGBuilder are in Active state
+Make sure that the following BBS DGs in the SDNC DGBuilder are in Active state
+
+::
+
+  bbs-access-connectivity-vnf-topology-operation-create-huawei
+  bbs-access-connectivity-vnf-topology-operation-delete-huawei
+  bbs-internet-profile-vnf-topology-operation-change-huawei
+  bbs-internet-profile-vnf-topology-operation-common-huawei
+  bbs-internet-profile-vnf-topology-operation-create-huawei
+  bbs-internet-profile-vnf-topology-operation-delete-huawei
+  validate-bbs-vnf-input-parameters
+
+DGBuilder URL: `<https://sdnc.api.simpledemo.onap.org:30203>`_
 
-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. For instance:
+
+> GENERIC-RESOURCE-API: bbs-access-connectivity-vnf-topology-operation-create-huawei.json
+> GENERIC-RESOURCE-API: bbs-access-connectivity-vnf-topology-operation-delete-huawei.json
+
+1. Export the relevant DG
+
+2. Modify the IP address
+
+3. Import back the DG and Activate it
+
+DGBuilder URL: `<https://sdnc.api.simpledemo.onap.org:30203>`_
+
+Edge SDN M&C DG
+===============
+Configure Edge SDN M&C IP address in SDNC DG using dgbuilder. For instance:
+
+> GENERIC-RESOURCE-API: bbs-access-connectivity-vnf-topology-operation-common-huawei.json
+
+1. Export the relevant DG
+
+2. Modify the IP address
+
+3. Import back the DG and Activate it
+
+DGBuilder URL: `<https://sdnc.api.simpledemo.onap.org:30203>`_
+
+Add SSL certificate of the 3rd party controller into the SDNC trust store
+-------------------------------------------------------------------------
 
 ::
 
-  bbs-access-connectivity-network-topology-operation-create-huawei
-  bbs-access-connectivity-network-topology-operation-delete-huawei
-  bbs-internet-profile-network-topology-operation-change-huawei
-  bbs-internet-profile-network-topology-operation-common-huawei
-  bbs-internet-profile-network-topology-operation-create-huawei
-  bbs-internet-profile-network-topology-operation-delete-huawei
-  validate-bbs-network-input-parameters
+  kubectl exec -ti dev-sdnc-sdnc-0 -n onap -- bash
+
+  openssl s_client -connect <IP_ADDRESS_EXT_CTRL>:<PORT>
+  # copy server certificate and paste in /tmp/<CA_CERT_NAME>.crt
+  sudo keytool -importcert -file /tmp/<CA_CERT_NAME>.crt -alias <CA_CERT_NAME>_key -keystore truststore.onap.client.jks -storepass adminadmin
+  keytool -list -keystore truststore.onap.client.jks -storepass adminadmin | grep <CA_CERT_NAME>
 
 Policy: BBS APEX policy
 =======================
 
-Inside APEX container,
+Deployment procedure of BBS APEX Policy (master, apex-pdp image v2.3+)
 
-1) Edit DCAEConsumer URL in `examples/config/ONAPBBS/NomadicONTPolicyModel_config.json`
+1. Make Sure APEX PDP is running and in Active state
 
-2) Edit AAI and SDNC URLs in `examples/config/ONAPBBS/config.txt`
+::
+
+  API:  GET
+  URL: {{POLICY-PAP-URL}}/policy/pap/v1/pdps
+
+2. Create the operational control loop APEX policy type
 
 ::
 
-  AAI_URL=aai:8443
-  AAI_USERNAME=AAI
-  AAI_PASSWORD=AAI
-  SDNC_URL=sdnc:8282
-  SDNC_USERNAME=admin
-  SDNC_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
-  SVC_NOTIFICATION_URL=http://c1.vm1.mso.simpledemo.openecomp.org:8080
+  API: POST
+  URL: {{POLICY-API-URL}}/policy/api/v1/policytypes
 
-3) Launch APEX BBS policy as a background process
+3. Create BBS APEX policy
 
 ::
 
-  nohup /opt/app/policy/apex-pdp/bin/apexApps.sh engine -c examples/config/ONAPBBS/NomadicONTPolicyModel_config.json &
+  API: POST
+  URL: {{POLICY-API-URL}}/policy/api/v1/policytypes/onap.policies.controlloop.operational.Apex/versions/1.0.0/policies
+
+4. Deploy BBS policy
+
+::
+
+  API: POST
+  URL: {{POLICY-PAP-URL}}/policy/pap/v1/pdps/deployments/batch
+
+5. Verify the deployment
+
+::
+
+  API: GET
+  URL: {{POLICY-API-URL}}/policy/api/v1/policytypes/onap.policies.controlloop.operational.Apex/versions/1.0.0/policies/
 
 Edge Services: vBNG+AAA+DHCP, Edge SDN M&C
 ==========================================
@@ -264,20 +405,14 @@ Installation and setup instructions: `Swisscom Edge SDN M&C and virtual BNG <htt
 References
 ==========
 
-Please refer to the following wiki page for additional set up and configuration
-instructions:
+Please refer to the following wiki page for further steps related to the BBS service design and instantiation:
 
-- `BBS Documentation <https://wiki.onap.org/display/DW/BBS+Documentation>`_
+- `BBS Documentation <https://wiki.onap.org/pages/viewpage.action?pageId=75303137#BBSDocumentation(Frankfurt)-BBSServiceConfiguration>`_
 
 Known Issues
 ------------
 
-- PNF registration timeout is limited to 60s due HTTP timeout in inter-BPMN workflow calls (`SO-1938 <https://jira.onap.org/browse/SO-1938>`_)
-
-- E2E Service deletion workflow does not delete the PNF resource in AAI (`SO-1994 <https://jira.onap.org/browse/SO-1994>`_)
-
-- Under certain circumstances, multiple attachment points (logical links) are associated to a single PNF (`DCAEGEN2-1611 <https://jira.onap.org/browse/DCAEGEN2-1611>`_)
-
+- E2E Service deletion workflow does not delete the PNF resource in AAI (`SO-2609 <https://jira.onap.org/browse/SO-2609>`_)
 
 .. |image1| image:: files/bbs/BBS_arch_overview.png
    :width: 6.5in