ETSI MANO Northbound API Overview
The ETSI MANO API (ETSI API) is another programmatic interface to ESC that uses the REST architecture. The ETSI MANO adheres to the standards defined by the European Telecommunications Standards Institute (ETSI), specifically around Management and Orchestration (MANO). The API accepts and returns HTTP messages that contain JavaScript Object Notation (JSON). The API contains its own datamodel designed around the ETSI MANO specifications that abstract away from the ESC core datamodel.
Specification |
Version Support |
Description |
---|---|---|
SOL001 |
v0.10.0 |
Format and structure for the VNF Descriptor |
SOL003 |
v2.4.1 |
Defines all interactions over the Or-Vnfm reference point |
The initial implementation of ETSI standard supports ETSI MANO API over Or-Vnfm reference point, which is the interface between ESC and NFVO. The Or-Vnfm reference point details the interactions to onboard ETSI compliant VNF packages, manage resources, and VNF lifecycle management (LCM) operations.
Note |
The terminology used in the ETSI-specific sections of the user guide align to the ETSI MANO standards defined in the ETSI documentation. For more information, see the ETSI website. |
For more information on Or-Vnfm reference point, see the ETSI Group Specification document on the ETSI website. The figure below represents the NFV MANO architecture with the Or-Vnfm reference point.
Production Properties
You can access the properties file in the following location:
/opt/cisco/esc/esc_database/etsi-production.properties
The following table describes the parameters that can be used to control the behaviour of ESC acting as a VNFM within the ETSI NFV MANO stack.
Property Name |
Description |
Type |
Default Value |
---|---|---|---|
server.host |
The host IP address on which the ETSI service is located. This is a mandatory property if the server has multiple IP addresses, or if the deployment is configured for High Availability (it should then be set to the VIP). |
String |
|
server.host.preferInet6 |
Where there are multiple IP address types assigned to the server, use the IPv6 address over any IPv4 address. |
Boolean |
false |
server.port |
The port used to communicate over HTTP. |
Integer |
8250 |
server.port.https |
The port used to communicate over HTTPS. |
Integer |
8251 |
certificate.validation |
Determine whether to validate a host in any certificate presented when using HTTPS. Allows for looser validation, especially useful in testing. |
Boolean |
true |
notification.maxThreads |
The maximum number of threads utilised for the notification service. |
Integer |
3 |
notification.subscription.test |
Upon creating a new subscription, determine whether to test |
Boolean |
true |
notification.links.httpScheme |
The HTTP scheme used for communicating with the NFVO for notifications. Valid values: http, https. |
Enum |
https |
notification.retry.maxAttempt |
The number of retries for the notification retry mechanism. |
Integer |
5 |
notification.retry.backOff.delay |
The interval for the notification retry mechanism. |
Integer |
1000 |
security.user.name |
Mandatory. This is the REST API username. It is set by sudo |
String |
|
nfvo.apiRoot |
Mandatory. The apiRoot for the NFVO. |
String |
localhost:8280 |
nfvo.httpScheme |
The HTTP scheme used for communicating with the NFVO. Valid values: |
Enum |
http |
nfvo.isPackageNotificationSupported |
Determine if the VNFM will attempt to subscribe to package notifications. |
Boolean |
false |
nfvo.callback.httpScheme |
The HTTP scheme used for communicating with the NFVO when polling for responses. Valid values: |
Enum |
https |
nfvo.username |
The username for NFVO credentials. |
String |
|
nfvo.password |
The password for NFVO credentials, required in plain text. |
String |
|
retryTemplate.expotential.retryPolicy.maxAttempt |
The number of retries for the exponential retry mechanism. |
Integer |
1000 |
retryTemplate.expotential.backOffPolicy.interval.initial |
The starting interval for the exponential retry mechanism. |
Integer |
1000 |
retry.simple.maxAttempt |
The number of retries for the simple retry mechanism. |
Integer |
50 |
retry.simple.backOff.delay |
The interval for the simple retry mechanism. |
Integer |
1000 |