Pérez Caparrós David, INI-INO-ECO-HCT | d30ccf8 | 2019-06-18 23:05:16 +0200 | [diff] [blame] | 1 | .. _docs_bbs: |
| 2 | |
| 3 | BBS (Broadband Service) |
| 4 | ----------------------- |
| 5 | |
| 6 | Overview |
| 7 | ~~~~~~~~ |
| 8 | The BBS use case proposes using ONAP for the design, provisioning, life-cycle |
| 9 | management and assurance of broadband services. BBS focuses on multi-Gigabit |
| 10 | Internet Connectivity services based on PON (Passive Optical Network) access |
| 11 | technology. |
| 12 | |
| 13 | In Dublin release, BBS enables ONAP to |
| 14 | |
Pérez Caparrós David, INI-INO-ECO-HCT | 11c545a | 2019-06-19 12:58:30 +0200 | [diff] [blame] | 15 | 1. Establish a subscriber's HSIA (High Speed Internet Access) service from an ONT (Optical Network Termination unit) to the Internet drain |
Pérez Caparrós David, INI-INO-ECO-HCT | d30ccf8 | 2019-06-18 23:05:16 +0200 | [diff] [blame] | 16 | |
Pérez Caparrós David, INI-INO-ECO-HCT | 11c545a | 2019-06-19 12:58:30 +0200 | [diff] [blame] | 17 | - The HSIA service is designed and deployed using ONAP's design and deployment capabilities |
| 18 | - 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. |
Pérez Caparrós David, INI-INO-ECO-HCT | d30ccf8 | 2019-06-18 23:05:16 +0200 | [diff] [blame] | 19 | |
| 20 | 2. Detect the change of location for ONT devices (Nomadic ONT devices) |
| 21 | |
| 22 | - PNF (Re-)Registration for an ONT |
| 23 | |
| 24 | - Subscriber association to an ONT via ONAP's External APIs |
Pérez Caparrós David, INI-INO-ECO-HCT | 11c545a | 2019-06-19 12:58:30 +0200 | [diff] [blame] | 25 | - ONT association with a expected Access UNI (PON port) when a HSIA service is created/deployed for a subscriber |
Pérez Caparrós David, INI-INO-ECO-HCT | d30ccf8 | 2019-06-18 23:05:16 +0200 | [diff] [blame] | 26 | - PNF (Re-)Registration using ONAP's PNF registration capabilities |
| 27 | |
Pérez Caparrós David, INI-INO-ECO-HCT | 11c545a | 2019-06-19 12:58:30 +0200 | [diff] [blame] | 28 | - Service location modification that is detected by ONAP's analytic and initiated via the closed loop capabilities |
Pérez Caparrós David, INI-INO-ECO-HCT | d30ccf8 | 2019-06-18 23:05:16 +0200 | [diff] [blame] | 29 | |
Pérez Caparrós David, INI-INO-ECO-HCT | 11c545a | 2019-06-19 12:58:30 +0200 | [diff] [blame] | 30 | - The closed loop capabilities invoke a HSIA location change service that is orchestrated and controlled using ONAP capabilities and 3rd party controllers |
Pérez Caparrós David, INI-INO-ECO-HCT | d30ccf8 | 2019-06-18 23:05:16 +0200 | [diff] [blame] | 31 | |
| 32 | |image1| |
| 33 | |
| 34 | **Figure 1. Architecture Overview** |
| 35 | |
| 36 | System View |
| 37 | ~~~~~~~~~~~ |
| 38 | BBS relies on key ONAP components such as External API, SO, AAI, SDC, Policy |
| 39 | (APEX engine), DCAE (PRH, BBS Event Processor, VES collector, VES mapper, |
| 40 | RESTCONF collector) and SDNC |
| 41 | |
| 42 | |image2| |
| 43 | |
| 44 | **Figure 2. System View** |
| 45 | |
| 46 | System Set Up and configuration |
| 47 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 48 | |
Pérez Caparrós David, INI-INO-ECO-HCT | 6d986ee | 2019-06-28 14:07:44 +0200 | [diff] [blame] | 49 | SO: Custom Workflow Configuration |
| 50 | ================================= |
| 51 | |
| 52 | :: |
| 53 | |
| 54 | ~/oom/kubernetes# kubectl edit cm dev-so-so-bpmn-infra-app-configmap |
| 55 | |
| 56 | mso: |
| 57 | ... |
| 58 | workflow: |
| 59 | custom: |
| 60 | BBS_E2E_Service: |
| 61 | sdnc: |
| 62 | need: true |
| 63 | ... |
| 64 | |
| 65 | ## Restart the pod |
| 66 | ~/oom/kubernetes# kubectl delete po dev-so-so-bpmn-infra-7556d7f6bc-8fthk |
| 67 | |
| 68 | |
| 69 | 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. |
| 70 | |
| 71 | IMPORTANT: make sure vnf_recipe.NF_ROLE matches vnf_resource.MODEL_NAME, and vnf_recipe.VERSION_STR matches vnf_resource.MODEL_VERSION. |
| 72 | |
| 73 | :: |
| 74 | |
| 75 | root@onap-rancher-daily:/home/ubuntu# kubectl exec -ti dev-mariadb-galera-mariadb-galera-0 sh |
| 76 | sh-4.2$ mysql -u root -p |
| 77 | MariaDB [(none)]> use catalogdb; |
| 78 | MariaDB [catalogdb]> select * from vnf_recipe; |
| 79 | ... |
| 80 | +-------+---------------------+-----------------------+--------------+-------------+--------------------------------------------------------------------------------+-----------------------------------------------+---------------+----------------+---------------------+--------------------------------------+ |
| 81 | | id | NF_ROLE | ACTION | SERVICE_TYPE | VERSION_STR | DESCRIPTION | ORCHESTRATION_URI | VNF_PARAM_XSD | RECIPE_TIMEOUT | CREATION_TIMESTAMP | VF_MODULE_ID | |
| 82 | +-------+---------------------+-----------------------+--------------+-------------+--------------------------------------------------------------------------------+-----------------------------------------------+---------------+----------------+---------------------+--------------------------------------+ |
| 83 | | 10043 | InternetProfile | createInstance | NF | 1.0 | create InternetProfile | /mso/async/services/CreateSDNCNetworkResource | NULL | 180000 | 2019-02-18 08:34:39 | NULL | |
| 84 | | 10044 | AccessConnectivity | createInstance | NF | 1.0 | create AccessConnectivity | /mso/async/services/CreateSDNCNetworkResource | NULL | 180000 | 2019-02-18 08:34:39 | NULL | |
| 85 | | 10045 | CPE | createInstance | NF | 1.0 | create CPE | /mso/async/services/HandlePNF | NULL | 180000 | 2019-02-18 08:34:39 | NULL | |
| 86 | +-------+---------------------+-----------------------+--------------+-------------+--------------------------------------------------------------------------------+-----------------------------------------------+---------------+----------------+---------------------+--------------------------------------+ |
| 87 | ... |
| 88 | MariaDB [catalogdb]> select * from vnf_resource; |
| 89 | +--------------------+-----------------------+---------------------+--------------------------------------+-----------------+-----------------+--------------------------------------+---------------+--------------------+----------------------------------------------+-----------------------------+-------------------+-----------------------+ |
| 90 | | 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 | |
| 91 | +--------------------+-----------------------+---------------------+--------------------------------------+-----------------+-----------------+--------------------------------------+---------------+--------------------+----------------------------------------------+-----------------------------+-------------------+-----------------------+ |
| 92 | | 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 | |
| 93 | | 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 | |
| 94 | | 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 | |
| 95 | +--------------------+-----------------------+---------------------+--------------------------------------+-----------------+-----------------+--------------------------------------+---------------+--------------------+----------------------------------------------+-----------------------------+-------------------+-----------------------+ |
| 96 | |
| 97 | Modify the MODEL_UUID and MODEL_INVARIANT_UUID for each resource in the SQL query below accordingly to your environment. |
| 98 | |
| 99 | :: |
| 100 | |
| 101 | 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`) |
| 102 | VALUES |
| 103 | ('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'), |
| 104 | ('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'), |
| 105 | ('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'); |
| 106 | |
| 107 | Adding is_pnf flag to CPE resource input in catalogdb database. Needed in DoCreateResource BPMN for pausing the flow until a PNF is ready |
| 108 | |
| 109 | :: |
| 110 | |
| 111 | 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`) |
| 112 | VALUES |
| 113 | (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); |
| 114 | |
| 115 | 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) |
| 116 | |
| 117 | :: |
| 118 | |
| 119 | MariaDB [catalogdb]> select RESOURCE_ORDER from service where MODEL_NAME="BBS_E2E_Service"; |
| 120 | +----------------------------------------------------------------------------+ |
| 121 | | RESOURCE_ORDER | |
| 122 | +----------------------------------------------------------------------------+ |
| 123 | | VnfVirtualLink,CPE,AccessConnectivity,InternetProfile,PonUni,OltNni,OntNni | |
| 124 | | VnfVirtualLink,CPE,AccessConnectivity,InternetProfile,PonUni,OltNni,OntNni | |
| 125 | +----------------------------------------------------------------------------+ |
| 126 | 2 rows in set (0.00 sec) |
| 127 | |
| 128 | DMaaP Message Router |
| 129 | ==================== |
| 130 | |
| 131 | Create required topics |
| 132 | |
| 133 | :: |
| 134 | |
| 135 | curl -X POST \ |
| 136 | http://mr.api.simpledemo.openecomp.org:30227/topics/create \ |
| 137 | -H 'Accept: application/json' \ |
| 138 | -H 'Content-Type: application/json' \ |
| 139 | -H 'cache-control: no-cache' \ |
| 140 | -d '{ |
| 141 | "topicName": "unauthenticated.DCAE_CL_OUTPUT", |
| 142 | "topicDescription": "", |
| 143 | "partitionCount": "", |
| 144 | "replicationCount": "3" |
| 145 | }' |
| 146 | |
| 147 | curl -X POST \ |
| 148 | http://mr.api.simpledemo.openecomp.org:30227/topics/create \ |
| 149 | -H 'Accept: application/json' \ |
| 150 | -H 'Content-Type: application/json' \ |
| 151 | -H 'cache-control: no-cache' \ |
| 152 | -d '{ |
| 153 | "topicName": "unauthenticated.CPE_AUTHENTICATION", |
| 154 | "topicDescription": "", |
| 155 | "partitionCount": "", |
| 156 | "replicationCount": "3" |
| 157 | }' |
| 158 | |
| 159 | curl -X POST \ |
| 160 | http://mr.api.simpledemo.openecomp.org:30227/topics/create \ |
| 161 | -H 'Accept: application/json' \ |
| 162 | -H 'Content-Type: application/json' \ |
| 163 | -H 'cache-control: no-cache' \ |
| 164 | -d '{ |
| 165 | "topicName": "unauthenticated.PNF_READY", |
| 166 | "topicDescription": "", |
| 167 | "partitionCount": "", |
| 168 | "replicationCount": "3" |
| 169 | }' |
| 170 | |
| 171 | curl -X POST \ |
| 172 | http://mr.api.simpledemo.openecomp.org:30227/topics/create \ |
| 173 | -H 'Accept: application/json' \ |
| 174 | -H 'Content-Type: application/json' \ |
| 175 | -H 'cache-control: no-cache' \ |
| 176 | -d '{ |
| 177 | "topicName": "unauthenticated.PNF_UPDATE", |
| 178 | "topicDescription": "", |
| 179 | "partitionCount": "", |
| 180 | "replicationCount": "3" |
| 181 | }' |
| 182 | |
| 183 | DCAE: BBS Event Processor (BBS-ep) |
| 184 | ================================== |
| 185 | |
| 186 | Installation instructions: `BBS-ep <https://wiki.onap.org/pages/viewpage.action?pageId=60891185>`_ |
| 187 | |
| 188 | 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: |
| 189 | |
| 190 | :: |
| 191 | |
| 192 | "application.clVersion": "1.0.0" |
| 193 | |
| 194 | DCAE: RESTCONF Collector |
| 195 | ======================== |
| 196 | |
| 197 | Installation instructions: `RESTCONF Collector <https://wiki.onap.org/pages/viewpage.action?pageId=60891182>`_ |
| 198 | |
| 199 | DCAE: VES mapper |
| 200 | ================ |
| 201 | |
| 202 | Installation instructions: `VES Mapper <https://wiki.onap.org/pages/viewpage.action?pageId=60891188>`_ |
| 203 | |
| 204 | DCAE: VES collector |
| 205 | =================== |
| 206 | |
| 207 | Configure mapping VES event domain to DMaaP topic: ves-statechange --> unauthenticated.CPE_AUTHENTICATION |
| 208 | |
| 209 | Access Consul UI: http://<consul_server_ui>:30270/ui/#/dc1/services |
| 210 | |
| 211 | Modify dcae-ves-collector configuration by adding a new VES domain to DMaaP topic mapping |
| 212 | |
| 213 | :: |
| 214 | |
| 215 | "ves-statechange": {"type": "message_router", "dmaap_info": {"topic_url": "http://message-router:3904/events/unauthenticated.CPE_AUTHENTICATION"}} |
| 216 | |
| 217 | SDNC: BBS DGs (Directed Graphs) |
| 218 | =============================== |
| 219 | |
| 220 | Make sure that BBS DGs in SDNC DGBuilder are in Active state |
| 221 | |
| 222 | http://dguser:test123@{{sdnc-dgbuilder_Node-IP}}:30203/# |
| 223 | |
| 224 | :: |
| 225 | |
| 226 | bbs-access-connectivity-network-topology-operation-create-huawei |
| 227 | bbs-access-connectivity-network-topology-operation-delete-huawei |
| 228 | bbs-internet-profile-network-topology-operation-change-huawei |
| 229 | bbs-internet-profile-network-topology-operation-common-huawei |
| 230 | bbs-internet-profile-network-topology-operation-create-huawei |
| 231 | bbs-internet-profile-network-topology-operation-delete-huawei |
| 232 | validate-bbs-network-input-parameters |
| 233 | |
| 234 | Policy: BBS APEX policy |
| 235 | ======================= |
| 236 | |
| 237 | Inside APEX container, |
| 238 | |
| 239 | 1) Edit DCAEConsumer URL in `examples/config/ONAPBBS/NomadicONTPolicyModel_config.json` |
| 240 | |
| 241 | 2) Edit AAI and SDNC URLs in `examples/config/ONAPBBS/config.txt` |
| 242 | |
| 243 | :: |
| 244 | |
| 245 | AAI_URL=aai:8443 |
| 246 | AAI_USERNAME=AAI |
| 247 | AAI_PASSWORD=AAI |
| 248 | SDNC_URL=sdnc:8282 |
| 249 | SDNC_USERNAME=admin |
| 250 | SDNC_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U |
| 251 | SVC_NOTIFICATION_URL=http://c1.vm1.mso.simpledemo.openecomp.org:8080 |
| 252 | |
| 253 | 3) Launch APEX BBS policy as a background process |
| 254 | |
| 255 | :: |
| 256 | |
| 257 | nohup /opt/app/policy/apex-pdp/bin/apexApps.sh engine -c examples/config/ONAPBBS/NomadicONTPolicyModel_config.json & |
| 258 | |
| 259 | Edge Services: vBNG+AAA+DHCP, Edge SDN M&C |
| 260 | ========================================== |
| 261 | |
| 262 | Installation and setup instructions: `Swisscom Edge SDN M&C and virtual BNG <https://wiki.onap.org/pages/viewpage.action?pageId=63996962>`_ |
| 263 | |
| 264 | References |
| 265 | ========== |
| 266 | |
| 267 | Please refer to the following wiki page for additional set up and configuration |
| 268 | instructions: |
| 269 | |
| 270 | - `BBS Documentation <https://wiki.onap.org/display/DW/BBS+Documentation>`_ |
| 271 | |
| 272 | Known Issues |
| 273 | ------------ |
| 274 | |
| 275 | - PNF registration timeout is limited to 60s due HTTP timeout in inter-BPMN workflow calls (`SO-1938 <https://jira.onap.org/browse/SO-1938>`_) |
| 276 | |
| 277 | - E2E Service deletion workflow does not delete the PNF resource in AAI (`SO-1994 <https://jira.onap.org/browse/SO-1994>`_) |
| 278 | |
| 279 | - Under certain circumstances, multiple attachment points (logical links) are associated to a single PNF (`DCAEGEN2-1611 <https://jira.onap.org/browse/DCAEGEN2-1611>`_) |
| 280 | |
Pérez Caparrós David, INI-INO-ECO-HCT | d30ccf8 | 2019-06-18 23:05:16 +0200 | [diff] [blame] | 281 | |
| 282 | .. |image1| image:: files/bbs/BBS_arch_overview.png |
| 283 | :width: 6.5in |
| 284 | .. |image2| image:: files/bbs/BBS_system_view.png |
| 285 | :width: 6.5in |