Table of Contents | ||
---|---|---|
|
...
ONAP services need to be registered to MSB to leverage the service discovery/routing/LB capabilities of MSB. The below table is the information MSB need for service registration.
See also the complementary set official reference list of externally exposed ports for OOM at OOM NodePort List - until most of the ports are generated dynamically
Attribute | Description | Required |
---|---|---|
Service Name | An unique name of the service, it should be constant so the service consumer can access the service. Service name recommendation:
| Yes |
Service Type | api or ui | Yes |
Version | Service version. Only the major version is used in the URI. RESTful API Design Specification for ONAPSpecification#Versioning | Yes |
URL | The actual URL of the service to be registered | Yes |
Customized Path | The customized publish path of this service. If this parameter is specified when registering the service, the service will be published to api gateway under this path. Otherwise, the service will be published to api gateway using a fixed format: api/{serviceName} /{version}. The customized publish path should only be used for back-compatible. | No |
Published URL | If "Customized Path" attribute is not specified,The published URL is the fixed format api/{serviceName} /{version} . If "Customized Path" attribute is specified,The published URL is the same as the "Customized Path". | Yes |
Visual Range | Visibility of the service. External(can be accessed by external systems):0 Internal(can only be accessed by ONAP microservices):1 | Yes |
LB Method | Load balancing method used when MSB routes the service requests. Currently, Round robin and IP hash are supported. | Yes |
Port | The service endpoint port. | Yes |
Enable SSL | True if the registered service is based on https. False if the registered service is based on http. Default is False. | No |
...
The collected service endpoint information will be added to OOM deployment blueprint, which is kubernetes configuration file in Amsterdam release.
OOM deploy MSB as the first component
OOM deploy Registrator, which watches the kubernetes POD events
OOM deploy other ONAP components,like AAI, Poliy, SO,VFC, APPC, etc.
Registrator get notified with the POD event, then get the service information form POD environment variables and service instance(POD) IP from kubernetes
Registrator registers the service endpoint info to MSB
MSB use these service info to route service requests
Backwards compatible
While trying to provide consistent RESTful APIs to ONAP developers and users, some projects may also want to support their current API version until an appropriate time to deprecate it. In case of that, two service endpoints can be defined for a service, one for the consistent, standard way and one for backwards compatible.
The customized publish path of this service attribute can be used to support the current API. If this parameter is specified when registering the service, the service will be published to api gateway under the specified customer path other than the the fixed format: api/{serviceName} /{version}.
for example, A&AI defines two services for its Cloud Infrastructure API, the "aai-cloudInfrastructure" is published under /api/aai-cloudInfrastructure/v1/ which is the consistent, standard API URL, and the "aai-cloudInfrastructure-deprecated" is published under /cloud-infrastructure/ which is the same as its current API URL.
ONAP Services
Linked from http://onap.readthedocs.io/en/latest/guides/onap-developer/settingup/fullonap.html#onap-components
MSB
...
Holmes
...
...
aai-cloudInfrastructure
...
Service information to be registered to MSB can be added as an annotation "msb.onap.org/service-info" to K8s service spec YAML.
Example:
Code Block |
---|
apiVersion: v1
kind: Service
metadata:
name: {{ .Values.service.portName }}
namespace: {{ include "common.namespace" . }}
labels:
app: {{ include "common.name" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ include "common.release" . }}
heritage: {{ .Release.Service }}
annotations:
msb.onap.org/service-info: '[
{
"serviceName": "multicloud",
"version": "v0",
"url": "/api/multicloud/v0",
"protocol": "REST",
"port": "{{ .Values.service.externalPort }}",
"enable_ssl": {{ .Values.config.ssl_enabled }},
"visualRange": "1"
},
{
"serviceName": "multicloud",
"version": "v1",
"url": "/api/multicloud/v1",
"protocol": "REST",
"port": "{{ .Values.service.externalPort }}",
"enable_ssl": {{ .Values.config.ssl_enabled }},
"visualRange": "1"
}
]'
spec:
ports:
{{if eq .Values.service.type "NodePort" -}}
- port: {{ .Values.service.externalPort }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
name: {{ .Values.service.portName }}
{{- else -}}
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}
name: {{ .Values.service.portName }}
{{- end}}
selector:
app: {{ include "common.name" . }}
release: {{ include "common.release" . }}
type: {{ .Values.service.type }} |
Backwards compatible
While trying to provide consistent RESTful APIs to ONAP developers and users, some projects may also want to support their current API version until an appropriate time to deprecate it. In case of that, two service endpoints can be defined for a service, one for the consistent, standard way and one for backwards compatible.
The customized publish path of this service attribute can be used to support the current API. If this parameter is specified when registering the service, the service will be published to api gateway under the specified customer path other than the the fixed format: api/{serviceName} /{version}.
for example, A&AI defines two services for its Cloud Infrastructure API, the "aai-cloudInfrastructure" is published under /api/aai-cloudInfrastructure/v1/ which is the consistent, standard API URL, and the "aai-cloudInfrastructure-deprecated" is published under /cloud-infrastructure/ which is the same as its current API URL.
ONAP Services
Linked from http://onap.readthedocs.io/en/latest/guides/onap-developer/settingup/fullonap.html#onap-components
MSB
Service Name | Description | Service Type | Version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|---|---|---|---|---|---|---|---|---|---|
microservices | Register/unregister/update/query microservice | api | 1 | / | N/A | /api/microservices/v1/services/ | Internal | Round robin | 8086 | False |
Holmes
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|---|---|---|---|---|---|---|---|---|---|
holmes-rule-mgmt | The rule management module of Holmes | api | 1 | /api/holmes-rule-mgmt/v1/ | N/A | /api/holmes-rule-mgmt/v1/ | Internal | Round robin | 9101 | False |
holmes-engine-mgmt | The engine management module of Holmes | api | 1 | /api/holmes-engine-mgmt/v1/ | N/A | /api/holmes-engine-mgmt/v1/ | Internal | Round robin | 9102 | False |
holmes-dmaap-dsa | The data source adapter module of Holmes | api | 1 | /api/holmes-dmaap-dsa/v1/ | N/A | /api/holmes-dmaap-dsa/v1/ | Internal | Round robin | 9103 | False |
Policy
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|---|---|---|---|---|---|---|---|---|---|
policy-pdp | APIs helps to make queries against Policy Engine | api | 1 | /pdp | N/A | /api/policy/pdp/v1 | Internal | Round robin | 8081 |
A&AI
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
aai-cloudInfrastructure | Cloud Infrastructure API. | api | 11 | /aai/v11/cloud-infrastructure | N/A | /api/aai-cloudInfrastructure/v11/ | Internal | Round robin | 8443 | True | ||||||||||||||
aai-cloudInfrastructure-deprecated | For back compatible. | api | 11 | /aai/v11/cloud-infrastructure | /aai/v11/cloud-infrastructure | /aai/v11/cloud-infrastructure/ | Internal | Round robin | 8443 | True | ||||||||||||||
aai-business | Business API. | api | 11 | /aai/v11/business | N/A | /api/aai-business/v11/ | Internal | Round robin | 8443 | True | ||||||||||||||
External System API | api | 11 | /aai/v11/external-system | /aai/v11/external-system | /api/aai-external-system/v11/ | Internal | Round robin | 8443 | True | |||||||||||||||
aai-business-deprecated | For back compatible. | api | 11 | /aai/v11/business | /aai/v11/business | /aai/v11/business/ | Internal | Round robin | 8443 | True | ||||||||||||||
aai-search | Search API. | api | 11 | /aai/v11/search | N/A | /api/aai-search/v11/ | Internal | Round robin | 8443 | True | ||||||||||||||
aai-search-deprecated | For back compatible. | api | 11 | /aai/v11/search | /aai/v11/search | /aai/v11/search/ | Internal | Round robin | 8443 | True | ||||||||||||||
aai-actions | Actions API. | api | 11 | /aai/v11/actions | N/A | /api/aai-actions/v11/ | Internal | Round robin | 8443 | True | ||||||||||||||
aai-actions-deprecated | For back compatible. | api | 11 | /aai/v11/actions | /aai/v11/actions | /aai/v11/actions/ | Internal | Round robin | 8443 | True | ||||||||||||||
aai-service-design-and-creation | Service design and creation API | api | 11 | /aai/v11/service-design-and-creation | N/A | /api/aai-service-design-and-creation/v11/ | Internal | Round robin | 8443 | True | ||||||||||||||
aai-service-design-and-creation-deprecated | For back compatible. | api | 11 | /aai/v11/service-design-and-creation | /aai/v11/service-design-and-creation | /aai/v11/service-design-and-creation/ | Internal | Round robin | 8443 | True | ||||||||||||||
aai-network | Network API. | api | 11 | /aai/v11/network | N/A | /api/aai-network/v11/ | Internal | Round robin | 8443 | True | ||||||||||||||
aai-network-deprecated | For back compatible. | api | 11 | /aai/v11/network | /aai/v11/network | /aai/v11/network/ | Internal | Round robin | 8443 | True | ||||||||||||||
aai-search-service | API for the A&AI search database | api | 11 | /aai/v11/services/search-data-service | N/A | /api/aai-search-service/v11/ | Internal | Round robin | 9509 | |||||||||||||||
aai-ui | User Interface for AAI | ui | 11 | /aai/v11/services/aai/webapp/ | N/A | iui/aai-ui/ | Internal | Round Robin | 9517 | |||||||||||||||
aai-babel | TOSCA model translator for Model Loader service | api | 11 | /aai/v11/services/cloud-infrastructurebabel-service/v1/app/generateArtifacts | N/A | /api/aai-cloudInfrastructurebabel/v11/ | Internal | Round robinRobin | 8443 | True9516 | ||||||||||||||
aai-cloudInfrastructureesr-deprecatedFor back compatible.server | ESR server end | api | 111 | /api/aai/v11/cloud-infrastructure | /aai/v11/cloud-infrastructure | /aai/v11/cloud-infrastructure-esr-server/v1/ | N/A | /api/aai-esr-server/v1/ | Internal | Round robin | 84439518 | True | ||||||||||||
aai-esr-business | Business API. | api | 11 | /aai/v11/businessgui | ESR portal | ui | 1 | /esr-gui | N/A | /api/aai-business/v11/ | Internal | Round robin | 8443 | True | External System API | api | 11 | /aai/v11/external-system | /aai/v11/external-system | /api/aai-external-system/v11/ | Internal | Round robin | 8443 | True |
aai-business-deprecated | For back compatible. | api | 11 | /aai/v11/business | /aai/v11/business | /aai/v11/business/ | Internal | Round robin | 8443 | True | ||||||||||||||
aai-search | Search API. | api | 11 | /aai/v11/searchiui/aai-esr-gui | Internal | Round robin | 9519 | |||||||||||||||||
hbase | Database | database | 2181 8080 8085 9090 16000 16010 9095 16201 16301 | |||||||||||||||||||||
elasticsearch | Search and Analytics Engine | 9200 9300 |
SDC/Catalog
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|---|---|---|---|---|---|---|---|---|---|
VNF-SDK
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|---|---|---|---|---|---|---|---|---|---|
vnfsdk/refrepo | VNF Repository Portal and Backend | ui | 1 | /openoui/vnfmarket | N/A | / |
aai-search-deprecated
aai-actions-deprecated
openoui/vnfmarket | External | 8702 | False |
DCAE(Gen2)
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|---|---|---|---|---|---|---|---|---|---|
Consul UI | DACE Consul | UI | /ui | 8500 | ||||||
Cloudify Manager UI | Cloudify Manager UI | UI | /#/deployments | 80 | ||||||
CDAP UI | CDAP Cluster UI | UI | /cdap/ns/cdap_tca_hi_lo | 11011 | ||||||
VES collector | VES data entry point API | API | /eventListener/v1 | External | 8080 |
CLAMP
Not applicable in Amsterdam Release(No port exposed!)
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|---|---|---|---|---|---|---|---|---|---|
SO
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
so-serviceInstances | Service Instance Orchestration | api | 5 | /ecomp/mso/infra/serviceInstances/v5 | N/A | /api/aaiso-networkserviceInstances/v11v5/ | Internal | Round robinRobin8443 | 8080 | TrueFalse | ||||||
aaiso-networkserviceInstances-deprecated | For back compatible. | api | 115 | /aai/v11/network | /aai/v11/network | /aai/v11/networkecomp/mso/infra/serviceInstances/v5 | /ecomp/mso/infra/serviceInstances/v5 | /ecomp/mso/infra/serviceInstances/v5/ | Internal | Round robinRobin | 84438080 | TrueFalse | aai-search-service | API for the A&AI search database | api | 11 | /aai/v11/services/search-data-service
VF-C
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|---|---|---|---|---|---|---|---|---|---|
nslcm | NFVO LCM Component. | api | 1 | / | N/A | /api/ |
nslcm/v1/ | Internal | Round |
Robin |
8403 |
ztevnfmdriver | ZTE VNFM Driver Component. | api | 1 | / | N/A |
/api/ztevnfmdriver/v1/ | Internal | Round Robin |
8410 |
ztesdncdriver | ZTE SDNC Driver Component. | api |
1 | / | N/A | /api/ |
ztesdncdriver/ |
v1/ | Internal | Round Robin |
8411 | |||
resmgr | NFVO Resource Manager Component. | api | 1 |
/ |
N/A | /api/ |
resmgr/v1/ | Internal | Round |
Robin |
8480 | ||||
gvnfmdriver | GVNFM Driver Component | api | 1 | / |
N/A | / |
api/gvnfmdriver/v1/ | Internal | Round |
SDC/Catalog
...
VNF-SDK
...
vnfsdk/refrepo
...
DCAE(Gen2)
...
Consul UI
...
/eventListener/v1
...
CLAMP
Not applicable in Amsterdam Release(No port exposed!)
...
SO
so-serviceInstances
Robin | 8484 | |||||||||
huaweivnfmdriver | HUAWEI VNFM Driver Component. | api | 1 | / | N/A | /api/huaweivnfmdriver/v1/ | Internal | Round Robin | 8482 | |
nokiavnfmdriver | Nokia VNFM Driver Componet | api | 1 | / | N/A | /api/nokiavnfmdriver/v1/ | Intelnal | Round Robin | 8486 | |
jujuvnfmdriver | JUJU VNFM Driver Component. | api | 1 | / | N/A | /api/jujuvnfmdriver/v1/ | Internal | Round Robin | 8483 | |
vnflcm | VNF Lifecycle Management | api | 1 | / | N/A | /api/vnflcm/v1/ | Internal | Round Robin | 8801 | |
vnfres | VNF Virtual Resource Management | api | 1 | / | N/A | /api/vnfres/v1/ | Internal | Round Robin | 8802 | |
vnfmgr | VNF Init Configuration and Management | api | 1 | / | N/A | /api/vnfmgr/v1/ | Internal | Round Robin | 8803 | |
activiti | VNF Execution Engine | api | 1 | / | /activiti-rest/ | /activiti-rest/ | Internal | Round Robin | 8804 | |
workflow | Workflow Management | api | 1 | / | /mgr | /api/workflow/v1/ | internal | Round Robin | 8805 | |
catalog | NFVO Catalog Component. | api | 1 | / | N/A | /api/catalog/v1/ | internal | Round Robin | 8806 | |
emsdriver | EMS driver Component | api | 1 | / | N/A | /api/ |
emsdriver/ |
v1/ |
internal | Round Robin |
8206 |
...
APP-C
For APPC, please refer to the APPC documentation on Readthedocs
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|---|---|---|---|---|---|---|---|---|---|
SDN-C
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|
sdnc | Restconf APIs provided by SDN-C (Note: SDNC-C APIs follow the Restconf url construct style) | api | 1 | / |
/ |
/ |
internal | Round Robin |
8181 |
sdnc-portal | Admin portal for SDNC | ui | 1 | / | iui/sdnc-portal/ | external|internal | Round Robin | 8443 |
AAF
Not applicable in Amsterdam Release
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|---|---|---|---|---|---|---|---|---|---|
Authz Service | Authentication & Authorization service API | api | 1 | / |
/ |
/ |
internal | Round Robin | 8101 |
false |
DMaaP
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|---|---|---|---|---|---|---|---|---|---|
message-router | api | v1 | / | N/A | /api/ |
message-router/v1/ |
internal | Round Robin |
3904 | ||||||||||
data-router | ||||||||||
bus-controller |
Multi VIM
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|---|---|---|---|---|---|---|---|---|---|
multicloud | api | v0 | / | N/A | /api/ |
multicloud/ |
v0/ | Internal | Round Robin |
Round
Robin
APP-C
For APPC, please refer to the APPC documentation on Readthedocs
...
SDN-C
...
sdnc
...
Restconf APIs provided by SDN-C
(Note: SDNC-C APIs follow the Restconf url construct style)
...
AAF
Not applicable in Amsterdam Release
...
Authz Service
...
DMaaP
...
message-router
...
Multi VIM
...
multicloud
...
OFP
Not applicable in Amsterdam Release
...
OOM
aai
9001 |
OFP
Not applicable in Amsterdam Release
Service Name | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|---|---|---|---|---|---|---|---|---|---|
OOM
Convinient way to retrieve all the port information, formatted as follow:
port-name | internal port | external port
Code Block |
---|
kubectl get svc --all-namespaces -o go-template='{{range .items}}{{range.spec.ports}}{{if .nodePort}}{{.name}} | {{.port}} | {{.nodePort}}{{"\n"}}{{end}}{{end}}{{end}}' |
Component Name | Namespace | Container | Internal Port | External Port | Logging Filebeat Container | Description | Service Type | version | URL | Customized Path | Published URL | Visual Range | LB Method | Enable SSL |
AAF | onap-aaf | aaf-authz-service | 8101 | 30299 | ||||||||||
AAI | onap-aai | model-loader-service | 8080 | 30210 | ||||||||||
8443 | 30229 | |||||||||||||
aai-service | 8080 | 30232 | ||||||||||||
8443 | 30233 | |||||||||||||
APPC | onap-appc | dgbuilder | 3000 | 30228 | ||||||||||
sdnhost | 8282 | 30230 | ||||||||||||
1830 | 30231 | |||||||||||||
CLAMP | 30295 | |||||||||||||
CLI | 30260 | |||||||||||||
CONSUL | onap-consul | consul-server | 8500 | 30270 | ||||||||||
8301 | 30271 | |||||||||||||
DCAE | 30236 | |||||||||||||
30237 | ||||||||||||||
30238 | ||||||||||||||
30239 | ||||||||||||||
30240 | ||||||||||||||
30245 | ||||||||||||||
LOG | onap-log | kibana | 5601 | 30253 | ||||||||||
elasticsearch | 9200 | 30254 | ||||||||||||
MR | onap-message-router | dmaap | 3905 | 30226 | ||||||||||
3904 | 30227 | |||||||||||||
MOCK | 30288 | |||||||||||||
MSB | onap-msb | msb-iag | 80 | 30080 | ||||||||||
msb-discovery | 10081 | 30081 | ||||||||||||
msb-eag | 80 | 30082 | ||||||||||||
msb-consul | 8500 | 30500 | ||||||||||||
MSO | onap-mso | mso | 9990 | 30222 | ||||||||||
8080 | 30223 | |||||||||||||
3905 | 30224 | |||||||||||||
3904 | 30225 | |||||||||||||
8787 | 30250 | |||||||||||||
mariadb | 3306 | 30252 | ||||||||||||
Multicloud | 30291 | |||||||||||||
30292 | ||||||||||||||
30293 | ||||||||||||||
30294 | ||||||||||||||
POLICY | onap-policy | brmsgw | 9989 | 30216 | ||||||||||
drools | 6969 | 30217 | ||||||||||||
pap | 9091 | 30218 | ||||||||||||
8443 | 30219 | |||||||||||||
pdp | 8081 | 30220 | ||||||||||||
PORTAL | onap-portal | vnc-portal | 6080 | 30211 | ||||||||||
5900 | 30212 | |||||||||||||
portalapps | 8006 | 30213 | ||||||||||||
8010 | 30214 | |||||||||||||
8989 | 30215 | |||||||||||||
ROBOT | onap-robot | robot | 88 | 30209 | ||||||||||
SDC | onap-sdc | sdc-be | 8443 | 30204 | ||||||||||
8080 | 30205 | |||||||||||||
sdc-fe | 8181 | 30206 | ||||||||||||
9443 | 30207 | |||||||||||||
SDNC | onap-sdnc | sdnc-portal | 8843 | 30201 | ||||||||||
sdnhost | 8282 | 30202 | ||||||||||||
8201 | 30208 | |||||||||||||
sdnc-dgbuilder | 3000 | 30203 | ||||||||||||
UUI | 30298 | |||||||||||||
VFC | 30296 | |||||||||||||
30403 | ||||||||||||||
30410 | ||||||||||||||
30411 | ||||||||||||||
30480 | ||||||||||||||
30482 | ||||||||||||||
30483 | ||||||||||||||
30484 | ||||||||||||||
30801 | ||||||||||||||
30802 | ||||||||||||||
30803 | ||||||||||||||
30804 | ||||||||||||||
30806 | ||||||||||||||
VID | onap-vid | vid-server | 8080 | 30200 | ||||||||||
VNFSDK | 30297 |
Portal Platform
Service Name | Description | Service Type | version | URL | Cstomized Path | Published URL | Visual Range | LB Method | Port | Enable SSL |
---|---|---|---|---|---|---|---|---|---|---|
portal | RESTful service provided by Portal Platform | api | 2 | / | N/A | /api/portal/v2/ | Internal | Round robin | 8989 |
Usecase UI
...