You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 3
Next »
Configuration
Configuration of the SDN-C Context Builder is done via config/application.properties (TODO: to be updated when SDNC Context Builder can be installed by OOM)
# SDNC REST Client Configuration
sdnc.serviceName=<IP address for connecting to SDNC>
sdnc.servicePort=<Port for connecting to SDNC>
sdnc.httpProtocol=http
sdnc.user=<username for connecting to SDNC>
sdnc.password=<obfuscated password for connecting to SDNC>
sdnc.connectionTimeout=5000
sdnc.readTimeout=1000
sdnc.genericResourcePath=/restconf/config/GENERIC-RESOURCE-API:services/service/{0}
# HTTP Basic Authorization credentials for Rest Service API
sdncCtxBuilder.userId=<username for basic authorization>
sdncCtxBuilder.password=<password for basic authorization>
Interfaces/API
The SDN-C Context builder supports the use of the GENERIC-RESPONSE-API and VNF-API on the SDN-C
URI example using GENERIC-RESPONSE-API
http://10.147.113.136:8080/sdnccontextbuilder/v1/service/context?serviceInstanceId=68352304-7bba-4609-8551-0d0b819376c3
JSON response example
{
"service": {
"name": "vcpe_svc_vcpesvc_rescust_0822a_201808262153",
"invariantUUID": "3a4e6986-5c5e-434e-b0be-8d718107fa83",
"uuid": "7d518257-49bd-40ac-8d17-017a726ec12a",
"dataQuality": {
"status": "ok"
},
"attributeList": []
},
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"vfList": [
{
"name": "zRegionOne06",
"type": "vcpesvc_rescust_0822a/vcpevsp_vgw_0822a 0",
"invariantUUID": "71370375-e1b4-4ad2-9832-1b7877428c81",
"uuid": "7dd31559-9fc6-4b0d-bbe3-7ba641bf8a9b",
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"vfModuleList": [
{
"name": "zRegionOne06_base_vcpe_vgw_0",
"invariantUUID": "7e91451d-e320-4755-a1a8-fcf140b86779",
"uuid": "1908874e-cfae-4ee1-93b9-f4ba46b460ff",
"maxInstances": 0,
"minInstances": 0,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"vmList": [
{
"name": "zRegionOne06001",
"nfNamingCode": "vgw",
"dataQuality": {
"status": "ok"
},
"attributeList": []
}
],
"networkList": []
}
],
"vnfcList": []
}
]
}
URI example using VNF-API
http://10.147.113.136:8080/sdnccontextbuilder/v1/service/context?serviceInstanceId=7d518257-49bd-40ac-8d17-017a726ec12a
JSON response example
{
"service": {
"name": "vFW service instance",
"uuid": "7d518257-49bd-40ac-8d17-017a726ec12a",
"dataQuality": {
"status": "ok"
},
"attributeList": []
},
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"vfList": [
{
"name": "zdyh3bsflb0001v_01",
"type": "vShaken_DNS_ns592n/vSHAKEN_IST_09042018 0",
"invariantUUID": "null",
"uuid": "null",
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"vfModuleList": [
{
"uuid": "2c3f8902-f278-4ee3-93cf-9d2364cbafca",
"maxInstances": 1,
"minInstances": 0,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"vmList": [],
"networkList": []
}
],
"vnfcList": [
{
"name": "dyh3bsflb0001vm001",
"invariantUUID": "null",
"uuid": "null",
"type": "alb",
"dataQuality": {
"status": "ok"
},
"attributeList": []
},
{
"name": "dyh3bsflb0001vm002",
"invariantUUID": "null",
"uuid": "null",
"type": "alb",
"dataQuality": {
"status": "ok"
},
"attributeList": []
}
]
}
]
}
API Configuration
Configuration of the API (currently only GENERIC-RESOURCE-API and VNF-API) is done through the following configuration files.
config/dynamic/conf/api-handlers.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="vnfApiHandler" class="org.onap.pomba.contextbuilder.sdnc.handlers.VnfApiHandler" >
</bean>
<bean id="genericResourceApiHandler" class="org.onap.pomba.contextbuilder.sdnc.handlers.GenericResourceApiHandler" >
</bean>
</beans>
config/dynamic/routes/sdnc-api.route
<route xmlns="http://camel.apache.org/schema/spring" trace="true" id="apiMapperRoute">
<from uri="direct:startRoutingProcess" />
<choice>
<when>
<simple>${in.body.apiName} == 'VNF-API'</simple>
<log message="Processing ${in.body.apiName} by Camel Routing Context"/>
<to uri="bean:vnfApiHandler?method=process"/>
</when>
<when>
<simple>${in.body.apiName} == 'GENERIC-RESOURCE-API'</simple>
<log message="Processing ${in.body.apiName} by Camel Routing Context"/>
<to uri="bean:genericResourceApiHandler?method=process"/>
</when>
</choice>
</route>
config/rules/api-mapping-rules.drl
/*
* ============LICENSE_START===================================================
* Copyright (c) 2018 Amdocs
* ============================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============LICENSE_END=====================================================
*/
package org.onap.pomba.contextbuilder.sdnc.rules;
import org.onap.pomba.contextbuilder.sdnc.model.ServiceEntity;
rule "ApiMapping-1"
no-loop true
lock-on-active true
when
$s : ServiceEntity( serviceType not contains "vFW" )
then
$s.setApiName("GENERIC-RESOURCE-API");
end
rule "ApiMapping-2"
no-loop true
lock-on-active true
when
$s : ServiceEntity( serviceType contains "vFW" )
then
$s.setApiName("VNF-API");
end
Error Code
Error Code | Description | Resolution |
---|
400 | missing AppId from the header | Provide AppId in the header and re-send the request |
401 | missing basic auth from the header | Provide basic authorization in the header and re-send the request |
|
|
|