...
System View
Gliffy Diagram |
---|
| |
---|
size | 600 |
---|
name | BBS System View |
---|
pagePin | 3 |
---|
|
System Set up
SO
Custom Workflow Configuration
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | SO Custom Workflow Configuration |
---|
linenumbers | true |
---|
|
~/oom/kubernetes# kubectl edit cm dev-so-so-bpmn-infra-app-configmap
mso:
...
workflowoof:
custom:
auth: test:testpwd
BBS_E2E_Service:
callbackEndpoint: http://so-bpmn-infra.onap:8081/mso/WorkflowMessage
sdnc:endpoint: https://oof-osdf.onap:8698/api/oof/v1/placement
needtimeout: 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 database > 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.
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 |
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 database > 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.
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
|
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;
...
+-------+---------------------+-----------------------+--------------+-------------+ |
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
|
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 | 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.
Code Block |
---|
|
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
Code Block |
---|
|
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),
(19, '23084710-92d1-433f-9ee8-1ab6b52968e4', 'AccessConnectivity 0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'false', '2019-07-10 11:15:42', '36f3f843-5592-42d3-a873-c9ab6a404742', 'b70a200b-53a9-46ef-b920-f386d8fad8c3', '{\\\"nf_naming\\\":\\\"true\\\",\\\"skip_post_instantiation_configuration\\\":\\\"true\\\",\\\"multi_stage_design\\\":\\\"false\\\",\\\"availability_zone_max_count\\\":\\\"1\\\"}', NULL, NULL, 1),
(22, 'a10e2b3d-4454-4e77-867c-7ce5076bd9c2', 'InternetProfile 0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'false', '2019-07-10 11:16:42', 'd9c46bd0-8847-407e-a9bd-1e58c369d6c1', 'b70a200b-53a9-46ef-b920-f386d8fad8c3', '{\\\"nf_naming\\\":\\\"true\\\",\\\"skip_post_instantiation_configuration\\\":\\\"true\\\",\\\"multi_stage_design\\\":\\\"false\\\",\\\"availability_zone_max_count\\\":\\\"1\\\"}', 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)
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
|
MariaDB [catalogdb]> select RESOURCE_ORDER from service where MODEL_NAME="BBS_E2E_Service";
+----------------------------------------------------------------------------+
| RESOURCE_ORDER | AccessConnectivity | org.openecomp.resource.vf.Accessconnectivity | NULL | Generic | Infrastructure |
+--------------------+-----------------------+---------------------+--------------------------------------+-----------------+-----------------++
| VnfVirtualLink,CPE,AccessConnectivity,InternetProfile,PonUni,OltNni,OntNni |
| VnfVirtualLink,CPE,AccessConnectivity,InternetProfile,PonUni,OltNni,OntNni |
+-----------------------------------------+---------------+--------------------+
2 rows in set (0.00 sec) |
Info |
---|
title | SO 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- -------------------------------------------+-----------------------------+-------------------+-----------------------+ |
Modify the MODEL_UUID and MODEL_INVARIANT_UUID for each resource in the SQL query below accordingly to your environment.
Code Block |
---|
|
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
Code Block |
---|
|
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)
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
|
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
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | unauthenticated.DCAE_CL_OUTPUT |
---|
linenumbers | true |
---|
collapse | true |
---|
|
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 |
---|
language | bash |
---|
theme | Midnight |
---|
title | unauthenticated.CPE_AUTHENTICATION |
---|
linenumbers | true |
---|
collapse | true |
---|
|
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"
}' |
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | unauthenticated.PNF_READY |
---|
linenumbers | true |
---|
collapse | true |
---|
|
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"
}' |
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | unauthenticated.PNF_UPDATE |
---|
linenumbers | true |
---|
collapse | true |
---|
|
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 |
---|
language | bash |
---|
theme | Midnight |
---|
title | dcae-prh config |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{"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"} |
Image Removed
BBS Event Processor (BBS-ep)
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 |
---|
language | bash |
---|
theme | Midnight |
---|
| 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 |
---|
language | bash |
---|
theme | Midnight |
---|
title | unauthenticated.DCAE_CL_OUTPUT |
---|
linenumbers | true |
---|
collapse | true |
---|
|
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 |
---|
language | bash |
---|
theme | Midnight |
---|
title | unauthenticated.CPE_AUTHENTICATION |
---|
linenumbers | true |
---|
collapse | true |
---|
|
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"
}' |
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | unauthenticated.PNF_READY |
---|
linenumbers | true |
---|
collapse | true |
---|
|
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"
}' |
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | unauthenticated.PNF_UPDATE |
---|
linenumbers | true |
---|
collapse | true |
---|
|
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 |
---|
language | bash |
---|
theme | Midnight |
---|
title | dcae-prh config |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{"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"} |
Image Added
BBS Event Processor (BBS-ep)
BBS-EventProcessor Service (BBS Usecase)
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | BBSep deployment |
---|
linenumbers | true |
---|
collapse | true |
---|
|
~/oom/kubernetes# kubectl exec -ti dev-dcaegen2-dcae-bootstrap-85f664d489-54pmt bash
[root@dev-dcaegen2-dcae-bootstrap-779767c49c-7cvdw /]# cfy blueprints validate /blueprints/k8s-bbs-event-processor.yaml
Validating blueprint: /blueprints/k8s-bbs-event-processor.yaml
Blueprint validated successfully
[root@dev-dcaegen2-dcae-bootstrap-779767c49c-7cvdw /]# 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-779767c49c-7cvdw /]# 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-779767c49c-7cvdw /]# cfy executions start -d bbs-ep install
Executing workflow install on deployment bbs-ep [timeout=900 seconds]
2020-01-13 14:51:54.483 CFY <bbs-ep> Starting 'install' workflow execution
2020-01-13 14:51:55.063 CFY <bbs-ep> [bbs-event-processor_qcbwi6] Creating node instance
2020-01-13 14:51:55.063 CFY <bbs-ep> [bbs-event-processor_qcbwi6.create] Sending task 'k8splugin.create_for_components'
2020-01-13 14:51:59.059 LOG <bbs-ep> [bbs-event-processor_qcbwi6.create] INFO: Done setting up: sd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor
2020-01-13 14:51:58.529 LOG <bbs-ep> [bbs-event-processor_qcbwi6.create] INFO: Added config for sd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor
2020-01-13 14:51:59.059 CFY <bbs-ep> [bbs-event-processor_qcbwi6.create] Task succeeded 'k8splugin.create_for_components'
2020-01-13 14:51:59.059 CFY <bbs-ep> [bbs-event-processor_qcbwi6] Node instance created
2020-01-13 14:51:59.705 CFY <bbs-ep> [bbs-event-processor_qcbwi6] Configuring node instance: nothing to do
2020-01-13 14:51:59.705 CFY <bbs-ep> [bbs-event-processor_qcbwi6] Starting node instance
2020-01-13 14:51:59.705 CFY <bbs-ep> [bbs-event-processor_qcbwi6.start] Sending task 'k8splugin.create_and_start_container_for_components'
2020-01-13 14:52:01.122 LOG <bbs-ep> [bbs-event-processor_qcbwi6.start] INFO: Starting k8s deployment for sd23a0f76c0bf4489b2c221cf88f8af4f-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_qcbwi6', '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'}
2020-01-13 14:52:01.837 LOG <bbs-ep> [bbs-event-processor_qcbwi6.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 14:52:01.837 LOG <bbs-ep> [bbs-event-processor_qcbwi6.start] INFO: k8s deployment initiated successfully for sd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor: {'services': ['sd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor', 'xsd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor'], 'namespace': u'onap', 'location': u'central', 'deployment': 'dep-sd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor'}
2020-01-13 14:52:01.837 LOG <bbs-ep> [bbs-event-processor_qcbwi6.start] INFO: Waiting up to 1800 secs for sd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor to become ready
2020-01-13 14:54:45.054 LOG <bbs-ep> [bbs-event-processor_qcbwi6.start] INFO: k8s deployment is ready for: sd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor
2020-01-13 14:54:45.586 LOG <bbs-ep> [bbs-event-processor_qcbwi6.start] INFO: Done starting: sd23a0f76c0bf4489b2c221cf88f8af4f-bbs-event-processor
2020-01-13 14:54:45.586 CFY <bbs-ep> [bbs-event-processor_qcbwi6.start] Task succeeded 'k8splugin.create_and_start_container_for_components'
2020-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> '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 |
---|
language | bash |
---|
theme | Midnight |
---|
|
"application.clVersion": "1.0.0" |
Image Added
RESTCONF Collector
See RESTConf Collector BBS-EventProcessor Service (BBS Usecase)
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | BBSep deployment |
---|
linenumbers | true |
---|
collapse | true |
---|
|
~/oom/kubernetes# kubectl exec -ti dev-dcaegen2-dcae-bootstrap-85f664d489-54pmt bash
[root@dev-dcaegen2-dcae-bootstrap-85f664d489779767c49c-54pmt7cvdw /]# cfy blueprints validate /blueprints/k8s-bbsrcc-event-processorpolicy.yaml
Validating blueprint: /blueprints/k8s-bbsrcc-event-processorpolicy.yaml-template
Blueprint validated successfully
[root@dev-dcaegen2-dcae-bootstrap-85f664d489779767c49c-54pmt7cvdw /]# cfy blueprints upload -b bbs-eprestconfcollector /blueprints/k8s-bbsrcc-event-processorpolicy.yaml
Uploading blueprint /blueprints/k8s-bbsrcc-event-processorpolicy.yaml...
k8s-bbsrcc-event-pro...policy.yaml |#################################################################################################| 100.0%
Blueprint uploaded. The blueprint's id is bbs-eprestconfcollector
[root@dev-dcaegen2-dcae-bootstrap-85f664d489779767c49c-54pmt7cvdw /]# cfy deployments create -b bbs-ep -i /bbs-event-processor-input.yaml bbs-eprestconfcollector
Creating new deployment from blueprint bbs-eprestconfcollector...
Deployment created. The deployment's id is bbs-eprestconfcollector
[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-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_componentsplatforms'
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: {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'SERVICE_TAGSDMAAPHOST': u'bbs-epmessage-router.onap.svc.cluster.local', u'CONFIG_BINDING_SERVICE': u'config-_binding-_service'}, kwargs: {'readiness': {u'endpointu'CBS_HOST': u'config-binding-service.dcae.svc.cluster.local', u'DMAAPPORT': u'/heartbeat3904', u'typeCBS_PORT': u'http10000', u'timeoutCONSUL_PORT': u'5s8500', u'intervalDMAAPPUBTOPIC': u'180sunauthenticated.DCAE_RCC_OUTPUT'}, 'labels': {'cfydeployment': u'bbs-eprestconfcollector', 'cfynodeinstance': u'bbs-event-processor_yd5ucprcc_k8s_8qm5me', 'cfynode': u'bbs-event-processorrcc_k8s'}, 'tls_infoctx': {u'use_tls': True, u'cert_directory': u'/opt/app/bbs-event-processor/etc/cert'}, 'envs': {'SERVICE_TAGS': 'bbs-ep'}, 'liveness': {}<cloudify.context.CloudifyContext object at 0x7fb63e5872d0>, 'always_pull_image': False, 'resource_config': {}, 'volumes': [], 'log_info': {u'log_directory': u'/opt/app/bbs-event-processorRCCollector/logs'}, u'ports': [u'81008080:3081030416'], 'k8s_location': u'central'}
20192020-0501-0113 1115:3512:3658.818275 LOG <bbs-ep><restconfcollector> [bbs-event-processor_yd5ucprcc_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-STAGING-latest', 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'}
20192020-0501-0113 1115:3512:3658.818275 LOG <bbs-ep><restconfcollector> [bbs-event-processor_yd5ucprcc_k8s_8qm5me.start] INFO: k8s deployment initiated successfully for s4d51b24f52264857b7ef520be9efc46bdcaegen2-bbscollectors-event-processorrcc: {'services': ['s4d51b24f52264857b7ef520be9efc46bdcaegen2-bbscollectors-event-processorrcc', 'xs4d51b24f52264857b7ef520be9efc46bxdcaegen2-bbscollectors-event-processorrcc'], 'namespace': u'onap', 'location': u'central', 'deployment': 'dep-s4d51b24f52264857b7ef520be9efc46bdcaegen2-bbscollectors-event-processorrcc'}
20192020-0501-0113 1115:3512:3658.818275 LOG <bbs-ep><restconfcollector> [bbs-event-processor_yd5ucprcc_k8s_8qm5me.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_yd5ucpdcaegen2-collectors-rcc to become ready
^A2020-01-13 15:13:29.970 LOG <restconfcollector> [rcc_k8s_8qm5me.start] INFO: k8s deployment is ready for: s4d51b24f52264857b7ef520be9efc46bdcaegen2-bbscollectors-event-processorrcc
20192020-0501-0113 1115:3613:5930.119550 CFY <bbs-ep><restconfcollector> [bbs-event-processor_yd5ucprcc_k8s_8qm5me.start] Task succeeded 'k8splugin.create_and_start_container_for_componentsplatforms'
20192020-0501-0113 1115:3613:5930.119550 CFY <bbs-ep><restconfcollector> [bbs-event-processor_yd5ucprcc_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:
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
|
"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 |
---|
language | bash |
---|
theme | Midnight |
---|
|
"ves-statechange": {"type": "message_router", "dmaap_info": {"topic_url": "http://message-router:3904/events/unauthenticated.CPE_AUTHENTICATION"}} |
![](/download/attachments/63997720/dcae-ves-collector_config.png?version=1&modificationDate=1556707756000&api=v2)
SDNC
Make sure that BBS DGs in SDNC DGBuilder are in Active state
...
http://dguser:test123@{{sdnc-dgbuilder_Node-IP}}:30203/#
![](/download/attachments/63997720/activate_bbs_dg.png?version=1&modificationDate=1557481829000&api=v2)
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 |
---|
title | How to deploy policies in Dublin |
---|
|
- 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 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 |
---|
language | bash |
---|
theme | Midnight |
---|
title | Create BBS service subscription in AAI |
---|
linenumbers | true |
---|
collapse | true |
---|
|
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 |
---|
name | BBS_01_Create_VLM.mov |
---|
width | 500 |
---|
|
2) Resource Onboarding
Notes:
- Create VFCs (CPE, AccessConnectivity, InternetProfile) and VFs with single VFC (CPE, AccessConnectivity, InternetProfile).
- Declare attributes as inputs in VF.
Multimedia |
---|
name | BBS_02_ResourceOnboarding.mp4 |
---|
width | 500 |
---|
|
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
![BBS_E2E_Service_SDC.png](/plugins/servlet/confluence/placeholder/unknown-attachment?locale=en_GB&version=2)
Image Removed
Multimedia |
---|
name | BBS_03_E2EServiceDesign.mp4 |
---|
width | 500 |
---|
|
BSS HSIA Service Order: Request Input
Input provided as part of the service order, sent to External API from BSS
...
Code Block |
---|
language | js |
---|
theme | Midnight |
---|
title | Service Order coming from BSS to ExternalAPI |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{
"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 |
---|
size | 600 |
---|
name | BBS - HSIA Service Creation and Activation |
---|
pagePin | 2 |
---|
|
Multimedia |
---|
name | BBS_04_HSIACreationAndActivation.mp4 |
---|
width | 500 |
---|
|
BBS HSIA Service Reconfiguration. Nomadic ONT
Gliffy Diagram |
---|
size | 600 |
---|
name | BBS - HSIA Service Reconfiguration. Nomadic ONT |
---|
pagePin | 2 |
---|
|
Multimedia |
---|
name | BBS_05_NomadicONT.mov |
---|
width | 500 |
---|
|