Overview
The Network Discovery microservice allows clients to initiate audits of specified network resource instances. For each request received, the Network Discovery microservice collects information from the network (via other microservices) and returns it to the client.
Use in POMBA
The initial use case for the microservice is to provide support for the Network Discovery Context Builder, which was introduced as part of the POMBA project.
Configuration
Application Properties
Warning |
---|
|
In current Network Discovery microservice development (Dublin), southbound REST API sends OpenStack API requests instead of AAI Enricher API requests. |
Code Block |
---|
language | bash |
---|
title | Application Properties |
---|
collapse | true |
---|
|
spring.jersey.type=filter
spring.mvc.urls=swagger,docs,prometheus,auditevents,info,heapdump,autoconfig,beans,loggers,dump,env,trace,health,configprops,mappings,metrics,webjars
server.contextPath=/network-discovery
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
#This property is used to set the Tomcat connector attributes.developers can define multiple attributes separated by comma
#tomcat.connector.attributes=allowTrace-true
#The max number of active threads in this pool
server.tomcat.max-threads=200
#The minimum number of threads always kept alive
server.tomcat.min-Spare-Threads=25
#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads
server.tomcat.max-idle-time=60000
#Servlet context parameters
server.context_parameters.p-name=value #context parameter with p-name as key and value as value.
#Enable HTTPS
server.port=8443
server.ssl.key-store=config/auth/client-cert-onap.p12
server.ssl.key-store-password=password(OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10)
server.ssl.keyStoreType=JKS
server.ssl.keyAlias=tomcat
server.ssl.client-auth=want
server.ssl.enabled=true
server.ssl.enabled-protocols=TLSv1.1,TLSv1.2
# Basic Authentication
basicAuth.username=admin
basicAuth.password=OBF:1u2a1toa1w8v1tok1u30
openstack.identity.url = http://10.69.36.11:5000/v3/auth/tokens
openstack.identity.user = ralph
openstack.identity.password = OBF:1w951ugg1vun1uha1w8l
openstack.types = vserver, l3-network
openstack.type.vserver.url = http://10.69.36.11:8774/v2.1/servers/{0}
openstack.type.l3-network.url = http://10.69.36.11:9696/v2.0/networks/{0}
openstack.api.microversion = 2.42 |
Interfaces/API
URI example
Code Block |
---|
title | Network Discovery Micro Service URI example |
---|
|
https://10.69.102.6:30299/network-discovery/v1/network/resource?requestId=88001&resourceType=vserver&resourceId=645a12dc-09b5-45cb-8ab1-a0ce41b7200a |
Response example
Code Block |
---|
language | xml |
---|
title | Network Discovery Micro Service response |
---|
collapse | true |
---|
|
{
"requestId": "88001",
"code": 200,
"message": "OK",
"ackFinalIndicator": true,
"resources": [
{
"id": "645a12dc-09b5-45cb-8ab1-a0ce41b7200a",
"name": null,
"type": "vserver",
"dataQuality": {
"status": "ok",
"errorText": null
},
"attributeList": [
{
"name": "id",
"value": "645a12dc-09b5-45cb-8ab1-a0ce41b7200a",
"dataQuality": {
"status": "ok",
"errorText": null
}
},
{
"name": "name",
"value": "norm-d2-k8s",
"dataQuality": {
"status": "ok",
"errorText": null
}
},
{
"name": "inMaintenance",
"value": "false",
"dataQuality": {
"status": "ok",
"errorText": null
}
},
{
"name": "imageId",
"value": "87e000f6-9a81-4841-b446-5d6751c42c48",
"dataQuality": {
"status": "ok",
"errorText": null
}
},
{
"name": "status",
"value": "ACTIVE",
"dataQuality": {
"status": "ok",
"errorText": null
}
},
{
"name": "vmState",
"value": "active",
"dataQuality": {
"status": "ok",
"errorText": null
}
},
{
"name": "tenantId",
"value": "1130b349e19c4827bf91a29d51256af1",
"dataQuality": {
"status": "ok",
"errorText": null
}
},
{
"name": "hostId",
"value": "28ae48d6cb907e3d019535563716cfb7ec1f2cecc951439330ed9759",
"dataQuality": {
"status": "ok",
"errorText": null
}
},
{
"name": "hostStatus",
"value": "UNKNOWN",
"dataQuality": {
"status": "ok",
"errorText": null
}
}
]
}
]
}