Developer Guide
***************
-Technical information about NBI (dependancies, configuration, running & testing) could be found here: :doc:`NBI_R1_Developer_Guide <../NBI_R1_Developer_Guide>`
+Technical information about NBI (dependancies, configuration, running & testing) could be found here: :doc:`NBI_R1_Developer_Guide <NBI_R1_Developer_Guide>`
-API Flow illustration (with example messages) is described in this document: :download:`nbicallflow.pdf <pdf/nbicallflow.pdf>`
+API Flow illustration (with example messages) is described in this document: :download:`nbicallflow.pdf <../offeredapis/pdf/nbicallflow.pdf>`
This file also list configurations of all the REST interface maid from NBI to other ONAP component such as SDC, AA&I and SO.
+**************
Default values
-==============
-
-**SERVER**
-
-server.contextPath=/nbi/api/v1
-server.port = 8080
-
-**LOGGING**
-
-logging.level.=INFO
-
-**ONAP**
-
-onap.lcpCloudRegionId=RegionOne
-onap.tenantId=6e97a2bd51d74f6db5671d8dc1517d82
-onap.cloudOwner=CloudOwner
-
-**NBI**
-
-nbi.url=http://localhost:8080/nbi/api/v1
-nbi.callForVNF=false
-
-**SDC**
-
-sdc.host=http://10.0.3.1:8080
-sdc.header.ecompInstanceId=demo
-sdc.header.authorization=Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=
-
-**AAI**
-
-aai.host=https://10.0.1.1:8443
-aai.header.authorization=Basic QUFJOkFBSQ==
-aai.api.id=AAI
-
-**SO**
-
-so.host=http://10.0.5.1:8080
-so.header.authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==
-so.api.id=SO
-
-**MONGO**
-
-spring.data.mongodb.host=localhost
-spring.data.mongodb.port=27017
-spring.data.mongodb.database=ServiceOrderDB
-
-**MYSQL**
-
-spring.datasource.url=jdbc:mariadb://localhost:3306/nbi
-spring.datasource.username=root
-spring.datasource.password=secret
-spring.datasource.testWhileIdle=true
-spring.datasource.validationQuery=SELECT 1
-spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
-spring.jpa.show-sql=false
-spring.jpa.hibernate.ddl-auto=update
-spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.ImprovedNamingStrategy
-
-
+**************
+
+::
+
+ # SERVER
+ server.contextPath=/nbi/api/v1
+ server.port = 8080
+
+ # LOGGING
+ logging.level.=INFO
+
+ # ONAP
+ onap.lcpCloudRegionId=RegionOne
+ onap.tenantId=6e97a2bd51d74f6db5671d8dc1517d82
+ onap.cloudOwner=CloudOwner
+
+ # NBI
+ nbi.url=http://localhost:8080/nbi/api/v1
+ nbi.callForVNF=false
+
+ # SDC
+ sdc.host=http://10.0.3.1:8080
+ sdc.header.ecompInstanceId=demo
+ sdc.header.authorization=Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=
+
+ # AAI
+ aai.host=https://10.0.1.1:8443
+ aai.header.authorization=Basic QUFJOkFBSQ==
+ aai.api.id=AAI
+
+ # SO
+ so.host=http://10.0.5.1:8080
+ so.header.authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==
+ so.api.id=SO
+
+ # MONGO
+ spring.data.mongodb.host=localhost
+ spring.data.mongodb.port=27017
+ spring.data.mongodb.database=ServiceOrderDB
+
+ # MYSQL
+ spring.datasource.url=jdbc:mariadb://localhost:3306/nbi
+ spring.datasource.username=root
+ spring.datasource.password=secret
+ spring.datasource.testWhileIdle=true
+ spring.datasource.validationQuery=SELECT 1
+ spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
+ spring.jpa.show-sql=false
+ spring.jpa.hibernate.ddl-auto=update
+ spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.ImprovedNamingStrategy
+
+**************
Changing values
-===============
+**************
To adapt application parameters to your context, you need to set up some environment attributes. For example :
this API is used to provide Service Catalog information
Information are retrieved in SDC (and in Tosca "service template" file) - Only GET operation is provided - this API DID NOT UPDATE SDC
- SDC_ROOT_URL = "/sdc/v1/catalog/services/";
- SDC_GET_PATH = "/metadata";
- SDC_TOSCA_PATH = "/toscaModel";
+ SDC_ROOT_URL = "/sdc/v1/catalog/services/"
+
+ SDC_GET_PATH = "/metadata"
+
+ SDC_TOSCA_PATH = "/toscaModel"
+
***************
AAI API
this API is used to provide Service Inventory information
This API retrieves service(s) in the AAI inventory. Only following attributes will be retrieve in service inventory: id, name and type (no state or startDate available )
- AAI_GET_TENANTS_PATH = "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/$onap.cloudOwner/$onap.lcpCloudRegionId/tenants";
- AAI_GET_CUSTOMER_PATH = "/aai/v11/business/customers/customer/";
- AAI_GET_SERVICES_FOR_CUSTOMER_PATH =
- "/aai/v11/business/customers/customer/$customerId/service-subscriptions";
- AAI_PUT_SERVICE_FOR_CUSTOMER_PATH =
- "/aai/v11/business/customers/customer/$customerId/service-subscriptions/service-subscription/";
- AAI_GET_SERVICE_FOR_CUSTOMER_PATH =
- "/aai/v11/business/customers/customer/$customerId/service-subscriptions/service-subscription/$serviceSpecName/service-instances/service-instance/$serviceId";
- AAI_GET_SERVICE_INSTANCES_PATH =
- "/aai/v11/business/customers/customer/$customerId/service-subscriptions/service-subscription/$serviceSpecName/service-instances/";
+ AAI_GET_TENANTS_PATH = "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/$onap.cloudOwner/$onap.lcpCloudRegionId/tenants"
+
+ AAI_GET_CUSTOMER_PATH = "/aai/v11/business/customers/customer/"
+
+ AAI_GET_SERVICES_FOR_CUSTOMER_PATH = "/aai/v11/business/customers/customer/$customerId/service-subscriptions"
+
+ AAI_PUT_SERVICE_FOR_CUSTOMER_PATH = "/aai/v11/business/customers/customer/$customerId/service-subscriptions/service-subscription/
+
+ AAI_GET_SERVICE_FOR_CUSTOMER_PATH = "/aai/v11/business/customers/customer/$customerId/service-subscriptions/service-subscription/$serviceSpecName/service-instances/service-instance/$serviceId"
+
+ AAI_GET_SERVICE_INSTANCES_PATH = "/aai/v11/business/customers/customer/$customerId/service-subscriptions/service-subscription/$serviceSpecName/service-instances/"
+
***************
this API is used to perform Service Order and thus instantiate a service
- MSO_CREATE_SERVICE_INSTANCE_PATH = "/ecomp/mso/infra/serviceInstance/v4";
- MSO_GET_REQUEST_STATUS_PATH = "/ecomp/mso/infra/orchestrationRequests/v4/";
- MSO_DELETE_REQUEST_STATUS_PATH = "/ecomp/mso/infra/serviceInstances/";
+ MSO_CREATE_SERVICE_INSTANCE_PATH = "/ecomp/mso/infra/serviceInstance/v4"
+
+ MSO_GET_REQUEST_STATUS_PATH = "/ecomp/mso/infra/orchestrationRequests/v4/"
+
+ MSO_DELETE_REQUEST_STATUS_PATH = "/ecomp/mso/infra/serviceInstances/"
+
Delivery
========
+NBI Dockers Containers Structure
+================================
+
+Below is a diagram of the ExternalAPI/NBI project docker containers and the connections between them.
+
+.. blockdiag::
+
+
+ blockdiag delivery {
+ node_width = 170;
+ orientation = portrait;
+ MongoDB[shape = flowchart.database]
+ MariaDB[shape = flowchart.database]
+ NBI -> MongoDB, MariaDB;
+ group bi_group {
+ color = yellow;
+ label = "Business Layer"
+ NBI;
+ }
+ group data_storage_group {
+ color = orange;
+ label = "Data Storage Layer"
+ MongoDB; MariaDB;
+ }
+ }