Virtualized Network Function Fault Management Interface (VNF FM) v1¶
Virtualized Network Function Fault Management Interface (VNF FM)¶
This interface manages the VNF fault management operations of VNF instances.
This interface allows the NFVO to invoke VNF fault management operations of VNF instances towards the VNFM. The detail of this interface is described in SOL002 v3.3.1 clause 7. The parameters of some specific standards need reference SOL013 v3.4.1 clause 5.
The GET method gets all alarms, Allow users to filter out alarms based on query parameter in the request.
If the API consumer intends to query all alarms, it sends a GET request to the “Alarms” resource. The VNFM returns a “200 OK” response to the API consumer, and includes zero or more data structures of type “Alarm” in the payload body.
An attribute selector allows the API consumer to choose which attributes it wants to be contained in the response. all_fields, fields, exclude_fields and exclude_default can be set as query parameters.
Attribute-based filtering expression. The following attribute names shall be supported by the Tacker in the attribute-based filtering expression: id, managedObjectId, rootCauseFaultyResource/faultyResourceType, eventType, perceivedSeverity, probableCause.
Response Codes¶
Success¶
Code |
Reason |
---|---|
200 - OK |
Request was successful. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
406 - Not Acceptable |
Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request. |
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
body |
string |
Identifier of this Alarm information element. |
managedObjectId |
body |
string |
Identifier of the affected VNF instance. |
vnfcInstanceIds (Optional) |
body |
array |
Identifiers of the affected VNFC instances. |
rootCauseFaultyResource (Optional) |
body |
object |
The virtualised resources that are causing the VNF fault. Shall be present if the alarm affects virtualised resources. |
faultyResource |
body |
object |
Information that identifies the faulty resource instance and its managing entity. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNFrelated resource management in direct mode is applicable. The applicable “VimConnectionInfo” structure, which is referenced by vimConnectionId, can be obtained from the “vimConnectionInfo” attribute of the “VnfInstance” structure. |
resourceProviderId (Optional) |
body |
string |
Identifier of the entity responsible for the management of the resource. This attribute shall only be supported and present when VNF-related resource management in indirect mode is applicable. The identification scheme is outside the scope of the present document. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. |
faultyResourceType |
body |
object |
Type of the faulty resource. COMPUTE: Virtual compute resource, STORAGE: Virtual storage resource, NETWORK: Virtual network resource. |
alarmRaisedTime |
body |
string |
Time stamp indicating when the alarm is raised by the managed object. |
alarmChangedTime (Optional) |
body |
string |
Time stamp indicating when the alarm was last changed. It shall be present if the alarm has been updated. |
alarmClearedTime (Optional) |
body |
string |
Time stamp indicating when the alarm was cleared. It shall be present if the alarm has been cleared. |
alarmAcknowledgedTime (Optional) |
body |
string |
Time stamp indicating when the alarm was acknowledged. It shall be present if the alarm has been acknowledged. |
ackState |
body |
string |
Acknowledgement state of the alarm. Permitted values: UNACKNOWLEDGED, ACKNOWLEDGED. |
perceivedSeverity |
body |
object |
Perceived severity of the managed object failure. CRITICAL,MAJOR,MINOR, WARNING,INDETERMINATE,CLEARED. |
eventTime |
body |
string |
Time stamp indicating when the fault was observed. |
eventType |
body |
object |
Type of event. |
faultType (Optional) |
body |
string |
Additional information to clarify the type of the fault. |
probableCause |
body |
string |
Information about the probable cause of the fault. |
isRootCause |
body |
bool |
Attribute indicating if this fault is the root of other correlated alarms. If true, then the alarms listed in the attribute “correlatedAlarmIds” are caused by this fault. |
correlatedAlarmIds (Optional) |
body |
array |
List of identifiers of other alarms correlated to this fault. |
faultDetails (Optional) |
body |
array |
Provides additional information about the fault. |
_links |
body |
object |
Links for this resource. |
self |
body |
object |
URI of this resource. |
objectInstance (Optional) |
body |
object |
Link to the resource representing the VNF instance to which the notified alarm is correlated. Shall be present if the VNF instance information is accessible as a resource. |
Response Example¶
[
{
"id": "78a39661-60a8-4824-b989-88c1b0c3534a",
"managedObjectId": "c61314d0-f583-4ab3-a457-46426bce02d3",
"rootCauseFaultyResource": {
"faultyResource": {
"vimConnectionId": "vim1",
"resourceId": "4e6ccbe1-38ec-4b1b-a278-64de09ba01b3",
"vimLevelResourceType": "OS::Nova::Server"
},
"faultyResourceType": "COMPUTE"
},
"alarmRaisedTime": "2021-09-06T10:21:03Z",
"alarmChangedTime": "2021-09-06T10:21:03Z",
"alarmClearedTime": "2021-09-06T10:21:03Z",
"alarmAcknowledgedTime": "2021-09-06T10:21:03Z",
"ackState": "UNACKNOWLEDGED",
"perceivedSeverity": "WARNING",
"eventTime": "2021-09-06T10:21:03Z",
"eventType": "EQUIPMENT_ALARM",
"faultType": "Fault Type",
"probableCause": "The server cannot be connected.",
"isRootCause": false,
"correlatedAlarmIds": [
"c88b624e-e997-4b17-b674-10ca2bab62e0",
"c16d41fd-12e2-49a6-bb17-72faf702353f"
],
"faultDetails": [
"Fault",
"Details"
],
"_links": {
"self": {
"href": "/vnffm/v1/alarms/78a39661-60a8-4824-b989-88c1b0c3534a"
},
"objectInstance": {
"href": "/vnflcm/v1/vnf_instances/0e5f3086-4e79-47ed-a694-54c29155fa26"
}
}
}
]
The GET method gets the alarm specified in the Tacker.
If the API consumer intends to read a particular alarm, it sends a GET request to the “Individual alarm” resource, addressed by the appropriate alarm identifier in its resource URI. The VNFM returns a “200 OK” response to the API consumer, and includes the data structure of type “Alarm” in the payload body. In case of failure, appropriate error information is provided in the response.
Response Codes¶
Success¶
Code |
Reason |
---|---|
200 - OK |
Request was successful. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
404 - Not Found |
The requested resource could not be found. |
406 - Not Acceptable |
Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
alarmId |
path |
string |
Identifier of this Alarm information element. |
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
body |
string |
Identifier of this Alarm information element. |
managedObjectId |
body |
string |
Identifier of the affected VNF instance. |
vnfcInstanceIds (Optional) |
body |
array |
Identifiers of the affected VNFC instances. |
rootCauseFaultyResource (Optional) |
body |
object |
The virtualised resources that are causing the VNF fault. Shall be present if the alarm affects virtualised resources. |
faultyResource |
body |
object |
Information that identifies the faulty resource instance and its managing entity. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNFrelated resource management in direct mode is applicable. The applicable “VimConnectionInfo” structure, which is referenced by vimConnectionId, can be obtained from the “vimConnectionInfo” attribute of the “VnfInstance” structure. |
resourceProviderId (Optional) |
body |
string |
Identifier of the entity responsible for the management of the resource. This attribute shall only be supported and present when VNF-related resource management in indirect mode is applicable. The identification scheme is outside the scope of the present document. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. |
faultyResourceType |
body |
object |
Type of the faulty resource. COMPUTE: Virtual compute resource, STORAGE: Virtual storage resource, NETWORK: Virtual network resource. |
alarmRaisedTime |
body |
string |
Time stamp indicating when the alarm is raised by the managed object. |
alarmChangedTime (Optional) |
body |
string |
Time stamp indicating when the alarm was last changed. It shall be present if the alarm has been updated. |
alarmClearedTime (Optional) |
body |
string |
Time stamp indicating when the alarm was cleared. It shall be present if the alarm has been cleared. |
alarmAcknowledgedTime (Optional) |
body |
string |
Time stamp indicating when the alarm was acknowledged. It shall be present if the alarm has been acknowledged. |
ackState |
body |
string |
Acknowledgement state of the alarm. Permitted values: UNACKNOWLEDGED, ACKNOWLEDGED. |
perceivedSeverity |
body |
object |
Perceived severity of the managed object failure. CRITICAL,MAJOR,MINOR, WARNING,INDETERMINATE,CLEARED. |
eventTime |
body |
string |
Time stamp indicating when the fault was observed. |
eventType |
body |
object |
Type of event. |
faultType (Optional) |
body |
string |
Additional information to clarify the type of the fault. |
probableCause |
body |
string |
Information about the probable cause of the fault. |
isRootCause |
body |
bool |
Attribute indicating if this fault is the root of other correlated alarms. If true, then the alarms listed in the attribute “correlatedAlarmIds” are caused by this fault. |
correlatedAlarmIds (Optional) |
body |
array |
List of identifiers of other alarms correlated to this fault. |
faultDetails (Optional) |
body |
array |
Provides additional information about the fault. |
_links |
body |
object |
Links for this resource. |
self |
body |
object |
URI of this resource. |
objectInstance (Optional) |
body |
object |
Link to the resource representing the VNF instance to which the notified alarm is correlated. Shall be present if the VNF instance information is accessible as a resource. |
Response Example¶
{
"id": "78a39661-60a8-4824-b989-88c1b0c3534a",
"managedObjectId": "c61314d0-f583-4ab3-a457-46426bce02d3",
"rootCauseFaultyResource": {
"faultyResource": {
"vimConnectionId": "vim1",
"resourceId": "4e6ccbe1-38ec-4b1b-a278-64de09ba01b3",
"vimLevelResourceType": "OS::Nova::Server"
},
"faultyResourceType": "COMPUTE"
},
"alarmRaisedTime": "2021-09-06T10:21:03Z",
"alarmChangedTime": "2021-09-06T10:21:03Z",
"alarmClearedTime": "2021-09-06T10:21:03Z",
"alarmAcknowledgedTime": "2021-09-06T10:21:03Z",
"ackState": "UNACKNOWLEDGED",
"perceivedSeverity": "WARNING",
"eventTime": "2021-09-06T10:21:03Z",
"eventType": "EQUIPMENT_ALARM",
"faultType": "Fault Type",
"probableCause": "The server cannot be connected.",
"isRootCause": false,
"correlatedAlarmIds": [
"c88b624e-e997-4b17-b674-10ca2bab62e0",
"c16d41fd-12e2-49a6-bb17-72faf702353f"
],
"faultDetails": [
"Fault",
"Details"
],
"_links": {
"self": {
"href": "/vnffm/v1/alarms/78a39661-60a8-4824-b989-88c1b0c3534a"
},
"objectInstance": {
"href": "/vnflcm/v1/vnf_instances/0e5f3086-4e79-47ed-a694-54c29155fa26"
}
}
}
The PATCH method modifies the confirmation status of the alarm specified in the Tacker.
The API consumer sends a PATCH request to the individual alarm. The VNFM returns a “200 OK” response to the API consumer, and includes a data structure of type “AlarmModifications” in the payload body. In case of failure, appropriate error information is provided in the response.
Response Codes¶
Success¶
Code |
Reason |
---|---|
200 - OK |
Request was successful. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
404 - Not Found |
The requested resource could not be found. |
406 - Not Acceptable |
Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request. |
409 - Conflict |
This operation conflicted with another operation on this resource. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
alarmId |
path |
string |
Identifier of this Alarm information element. |
ackState |
body |
string |
Acknowledgement state of the alarm. Permitted values: UNACKNOWLEDGED, ACKNOWLEDGED. |
Request Example¶
{
"ackState": "ACKNOWLEDGED"
}
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
ackState |
body |
string |
Acknowledgement state of the alarm. Permitted values: UNACKNOWLEDGED, ACKNOWLEDGED. |
Response Example¶
{
"ackState": "ACKNOWLEDGED"
}
The POST method creates a new VNF FM-Subscription.
As the result of successfully executing this method, a new VNF FM-Subscription shall have been created, and return detailed FM subscription data. In case of failure, including an invalid notification endpoint, appropriate error information is provided in the response.
Response Codes¶
Success¶
Code |
Reason |
---|---|
201 - Created |
Resource was created and is ready to use. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
406 - Not Acceptable |
Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request. |
422 - Unprocessable Entity |
The content type of the payload body is supported and the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema). |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
filter (Optional) |
body |
object |
Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter. |
vnfInstanceSubscriptionFilter (Optional) |
body |
object |
Filter criteria to select VNF instances about which to notify. |
vnfdIds (Optional) |
body |
array |
If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. |
vnfProductsFromProviders (Optional) |
body |
array |
If present, match VNF instances that belong to VNF products from certain providers. |
vnfProvider |
body |
string |
If present, match VNF instances that belong to VNF products from certain providers. |
vnfProducts (Optional) |
body |
array |
If present, match VNF instances that belong to VNF products from certain providers. |
vnfProductName |
body |
string |
Name of the VNF product to match. |
versions (Optional) |
body |
array |
If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider. |
vnfSoftwareVersion |
body |
object |
Software version to match. |
vnfdVersions (Optional) |
body |
array |
Software version to match. |
vnfInstanceIds (Optional) |
body |
array |
If present, match VNF instances with an instance identifier listed in this attribute. |
vnfInstanceNames (Optional) |
body |
array |
If present, match VNF instances with a VNF Instance Name listed in this attribute. |
notificationTypes (Optional) |
body |
array |
Match particular notification types. Permitted values: AlarmNotification, AlarmClearedNotification, AlarmListRebuiltNotification. |
faultyResourceTypes (Optional) |
body |
array |
Match VNF alarms with a faulty resource type. COMPUTE, STORAGE, NETWORK. |
perceivedSeverities (Optional) |
body |
array |
Match VNF alarms with a perceived severity. CRITICAL,MAJOR,MINOR,WARNING, INDETERMINATE,CLEARED. |
eventTypes (Optional) |
body |
array |
Match VNF alarms with an event type. COMMUNICATIONS_ALARM, PROCESSING_ERROR_ALARM, ENVIRONMENTAL_ALARM, QOS_ALARM, EQUIPMENT_ALARM. |
probableCauses (Optional) |
body |
array |
Match VNF alarms with a probable cause listed in this attribute. |
callbackUri |
body |
string |
The URI of the endpoint to send the notification to. |
authentication (Optional) |
body |
string |
Authentication parameters to configure the use of Authorization when sending notifications corresponding to this subscription. |
authType |
body |
array |
Defines the types of Authentication/Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: BASIC: In every HTTP request to the notification endpoint, use HTTP Basic authentication with the client credentials. OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the notification endpoint, use an OAuth 2.0 token, obtained using the client credentials grant type after authenticating using client identifier and client password towards the token endpoint. OAUTH2_CLIENT_CERT: In every HTTP request to the notification endpoint, use an OAuth 2.0 token, obtained using the client credentials grant type after mutually authenticating using client identifier and X.509 certificates towards the token endpoint. TLS_CERT is not supported. |
paramsBasic (Optional) |
body |
object |
Parameters for authentication/authorization using BASIC. Shall be present if authType is “BASIC” and the contained information has not been provisioned out of band. Shall be absent otherwise. |
userName (Optional) |
body |
string |
Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band. |
password (Optional) |
body |
string |
Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band. |
paramsOauth2ClientCredentials (Optional) |
body |
object |
Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is “OAUTH2_CLIENT_CREDENTIALS” and the contained information has not been provisioned out of band. Shall be absent otherwise. |
clientId (Optional) |
body |
string |
Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. |
clientPassword (Optional) |
body |
string |
Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. |
tokenEndpoint (Optional) |
body |
string |
The token endpoint from which the access token can be obtained. Shall be present if it has not been provisioned out of band. |
paramsOauth2ClientCert (Optional) |
body |
object |
Parameters for authentication/authorization using OAUTH2_CLIENT_CERT. Shall be present if authType is “OAUTH2_CLIENT_CERT” and the contained information has not been provisioned out of band. Shall be absent otherwise. |
clientId |
body |
string |
Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. |
certificateRef |
body |
object |
Fingerprint of the client certificate. The hash function shall use SHA256 or higher. Shall be present if it has not been provisioned out of band. |
type |
body |
string |
The type of fingerprint. Permitted values: x5t#S256: The SHA-256 thumbprint of the X.509 certificate as defined in section 4.1.8 of IETF RFC 7515. |
value |
body |
string |
The fingerprint value as defined by the type. Shall be present if it has not been provisioned out of band. |
tokenEndpoint |
body |
string |
The token endpoint from which the access token can be obtained. Shall be present if it has not been provisioned out of band. |
Request Example¶
{
"filter": {
"vnfInstanceSubscriptionFilter": {
"vnfdIds": [
"dummy-vnfdId-1"
],
"vnfProductsFromProviders": [
{
"vnfProvider": "Company",
"vnfProducts": [
{
"vnfProductName": "Sample VNF",
"versions": [
{
"vnfSoftwareVersion": "1.0",
"vnfdVersions": ["1.0", "2.0"]
}
]
}
]
}
],
"vnfInstanceIds": [
"b0314420-0c9e-40e0-975e-4bf23b07d0c1"
],
"vnfInstanceNames": [
"test"
]
},
"notificationTypes": [
"AlarmNotification",
"AlarmClearedNotification"
],
"faultyResourceTypes": [
"COMPUTE"
],
"perceivedSeverities": [
"WARNING"
],
"eventTypes": [
"PROCESSING_ERROR_ALARM"
],
"probableCauses": [
"Process Terminated"
]
},
"callbackUri": "/nfvo/notify/alarm",
"authentication": {
"authType": [
"BASIC"
],
"paramsBasic": {
"password": "ubuntu",
"userName": "ubuntu"
}
}
}
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
body |
string |
Identifier of this subscription. |
filter (Optional) |
body |
object |
Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter. |
vnfInstanceSubscriptionFilter (Optional) |
body |
object |
Filter criteria to select VNF instances about which to notify. |
vnfdIds (Optional) |
body |
array |
If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. |
vnfProductsFromProviders (Optional) |
body |
array |
If present, match VNF instances that belong to VNF products from certain providers. |
vnfProvider |
body |
string |
If present, match VNF instances that belong to VNF products from certain providers. |
vnfProducts (Optional) |
body |
array |
If present, match VNF instances that belong to VNF products from certain providers. |
vnfProductName |
body |
string |
Name of the VNF product to match. |
versions (Optional) |
body |
array |
If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider. |
vnfSoftwareVersion |
body |
object |
Software version to match. |
vnfdVersions (Optional) |
body |
array |
Software version to match. |
vnfInstanceIds (Optional) |
body |
array |
If present, match VNF instances with an instance identifier listed in this attribute. |
vnfInstanceNames (Optional) |
body |
array |
If present, match VNF instances with a VNF Instance Name listed in this attribute. |
notificationTypes (Optional) |
body |
array |
Match particular notification types. Permitted values: AlarmNotification, AlarmClearedNotification, AlarmListRebuiltNotification. |
faultyResourceTypes (Optional) |
body |
array |
Match VNF alarms with a faulty resource type. COMPUTE, STORAGE, NETWORK. |
perceivedSeverities (Optional) |
body |
array |
Match VNF alarms with a perceived severity. CRITICAL,MAJOR,MINOR,WARNING, INDETERMINATE,CLEARED. |
eventTypes (Optional) |
body |
array |
Match VNF alarms with an event type. COMMUNICATIONS_ALARM, PROCESSING_ERROR_ALARM, ENVIRONMENTAL_ALARM, QOS_ALARM, EQUIPMENT_ALARM. |
probableCauses (Optional) |
body |
array |
Match VNF alarms with a probable cause listed in this attribute. |
callbackUri |
body |
string |
The URI of the endpoint to send the notification to. |
_links |
body |
object |
Links for this resource. |
self |
body |
object |
URI of this resource. |
Response Example¶
{
"id": "78a39661-60a8-4824-b989-88c1b0c3534a",
"filter": {
"vnfInstanceSubscriptionFilter": {
"vnfdIds": [
"dummy-vnfdId-1"
],
"vnfProductsFromProviders": [
{
"vnfProvider": "dummy-vnfProvider-1",
"vnfProducts": [
{
"vnfProductName": "dummy-vnfProductName-1-1",
"versions": [
{
"vnfSoftwareVersion": "1.0",
"vnfdVersions": ["1.0", "2.0"]
}
]
}
]
}
],
"vnfInstanceIds": [
"dummy-vnfInstanceId-1"
],
"vnfInstanceNames": [
"dummy-vnfInstanceName-1"
]
},
"notificationTypes": [
"AlarmNotification",
"AlarmClearedNotification"
],
"faultyResourceTypes": [
"COMPUTE"
],
"perceivedSeverities": [
"WARNING"
],
"eventTypes": [
"EQUIPMENT_ALARM"
],
"probableCauses": [
"The server cannot be connected."
]
},
"callbackUri": "/nfvo/notify/alarm",
"_links": {
"self": {
"href": "/vnffm/v1/subscriptions/78a39661-60a8-4824-b989-88c1b0c3534a"
}
}
}
The GET method allows users to filter out subscriptions based on query parameter in the request.
If desired, e.g. to recover from an error situation, the API consumer can query information about its subscriptions by sending a GET request to the “Subscriptions” resource. In that case, the VNFM returns a “200 OK” response that contains the list of representations of all existing subscriptions that were created by the API consumer, and includes zero or more data structures of type “FmSubscription” in the payload body.
An attribute selector allows the API consumer to choose which attributes it wants to be contained in the response. all_fields, fields, exclude_fields and exclude_default can be set as query parameters.
Attribute-based filtering expression. The following attribute names shall be supported by the Tacker in the attribute-based filtering expression. All attribute names that appear in the FmSubscription and in data types referenced from it shall be supported by the VNFM in the filter expression. For example, below URI query parameter will match alarms with perceivedSeverity=WARNING
Response Codes¶
Success¶
Code |
Reason |
---|---|
200 - OK |
Request was successful. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
404 - Not Found |
The requested resource could not be found. |
406 - Not Acceptable |
Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request. |
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
body |
string |
Identifier of this subscription. |
filter (Optional) |
body |
object |
Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter. |
vnfInstanceSubscriptionFilter (Optional) |
body |
object |
Filter criteria to select VNF instances about which to notify. |
vnfdIds (Optional) |
body |
array |
If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. |
vnfProductsFromProviders (Optional) |
body |
array |
If present, match VNF instances that belong to VNF products from certain providers. |
vnfProvider |
body |
string |
If present, match VNF instances that belong to VNF products from certain providers. |
vnfProducts (Optional) |
body |
array |
If present, match VNF instances that belong to VNF products from certain providers. |
vnfProductName |
body |
string |
Name of the VNF product to match. |
versions (Optional) |
body |
array |
If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider. |
vnfSoftwareVersion |
body |
object |
Software version to match. |
vnfdVersions (Optional) |
body |
array |
Software version to match. |
vnfInstanceIds (Optional) |
body |
array |
If present, match VNF instances with an instance identifier listed in this attribute. |
vnfInstanceNames (Optional) |
body |
array |
If present, match VNF instances with a VNF Instance Name listed in this attribute. |
notificationTypes (Optional) |
body |
array |
Match particular notification types. Permitted values: AlarmNotification, AlarmClearedNotification, AlarmListRebuiltNotification. |
faultyResourceTypes (Optional) |
body |
array |
Match VNF alarms with a faulty resource type. COMPUTE, STORAGE, NETWORK. |
perceivedSeverities (Optional) |
body |
array |
Match VNF alarms with a perceived severity. CRITICAL,MAJOR,MINOR,WARNING, INDETERMINATE,CLEARED. |
eventTypes (Optional) |
body |
array |
Match VNF alarms with an event type. COMMUNICATIONS_ALARM, PROCESSING_ERROR_ALARM, ENVIRONMENTAL_ALARM, QOS_ALARM, EQUIPMENT_ALARM. |
probableCauses (Optional) |
body |
array |
Match VNF alarms with a probable cause listed in this attribute. |
callbackUri |
body |
string |
The URI of the endpoint to send the notification to. |
_links |
body |
object |
Links for this resource. |
self |
body |
object |
URI of this resource. |
Response Example¶
[
{
"id": "78a39661-60a8-4824-b989-88c1b0c3534a",
"filter": {
"vnfInstanceSubscriptionFilter": {
"vnfdIds": [
"dummy-vnfdId-1"
],
"vnfProductsFromProviders": [
{
"vnfProvider": "dummy-vnfProvider-1",
"vnfProducts": [
{
"vnfProductName": "dummy-vnfProductName-1-1",
"versions": [
{
"vnfSoftwareVersion": "1.0",
"vnfdVersions": ["1.0", "2.0"]
}
]
}
]
}
],
"vnfInstanceIds": [
"dummy-vnfInstanceId-1"
],
"vnfInstanceNames": [
"dummy-vnfInstanceName-1"
]
},
"notificationTypes": [
"AlarmNotification",
"AlarmClearedNotification"
],
"faultyResourceTypes": [
"COMPUTE"
],
"perceivedSeverities": [
"WARNING"
],
"eventTypes": [
"EQUIPMENT_ALARM"
],
"probableCauses": [
"The server cannot be connected."
]
},
"callbackUri": "/nfvo/notify/alarm",
"_links": {
"self": {
"href": "/vnffm/v1/subscriptions/78a39661-60a8-4824-b989-88c1b0c3534a"
}
}
}
]
The GET method gets the subscription in the Tacker.
If desired, e.g. to recover from an error situation, the API consumer can read information about a particular subscription by sending a GET request to the resource representing that individual subscription. In that case, the VNFM returns a “200 OK” response that contains a representation of that individual subscription.
Response Codes¶
Success¶
Code |
Reason |
---|---|
200 - OK |
Request was successful. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
404 - Not Found |
The requested resource could not be found. |
406 - Not Acceptable |
Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
subscriptionId |
path |
string |
Identifier of this subscription. |
Response Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
body |
string |
Identifier of this subscription. |
filter (Optional) |
body |
object |
Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter. |
vnfInstanceSubscriptionFilter (Optional) |
body |
object |
Filter criteria to select VNF instances about which to notify. |
vnfdIds (Optional) |
body |
array |
If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. |
vnfProductsFromProviders (Optional) |
body |
array |
If present, match VNF instances that belong to VNF products from certain providers. |
vnfProvider |
body |
string |
If present, match VNF instances that belong to VNF products from certain providers. |
vnfProducts (Optional) |
body |
array |
If present, match VNF instances that belong to VNF products from certain providers. |
vnfProductName |
body |
string |
Name of the VNF product to match. |
versions (Optional) |
body |
array |
If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider. |
vnfSoftwareVersion |
body |
object |
Software version to match. |
vnfdVersions (Optional) |
body |
array |
Software version to match. |
vnfInstanceIds (Optional) |
body |
array |
If present, match VNF instances with an instance identifier listed in this attribute. |
vnfInstanceNames (Optional) |
body |
array |
If present, match VNF instances with a VNF Instance Name listed in this attribute. |
notificationTypes (Optional) |
body |
array |
Match particular notification types. Permitted values: AlarmNotification, AlarmClearedNotification, AlarmListRebuiltNotification. |
faultyResourceTypes (Optional) |
body |
array |
Match VNF alarms with a faulty resource type. COMPUTE, STORAGE, NETWORK. |
perceivedSeverities (Optional) |
body |
array |
Match VNF alarms with a perceived severity. CRITICAL,MAJOR,MINOR,WARNING, INDETERMINATE,CLEARED. |
eventTypes (Optional) |
body |
array |
Match VNF alarms with an event type. COMMUNICATIONS_ALARM, PROCESSING_ERROR_ALARM, ENVIRONMENTAL_ALARM, QOS_ALARM, EQUIPMENT_ALARM. |
probableCauses (Optional) |
body |
array |
Match VNF alarms with a probable cause listed in this attribute. |
callbackUri |
body |
string |
The URI of the endpoint to send the notification to. |
_links |
body |
object |
Links for this resource. |
self |
body |
object |
URI of this resource. |
Request Example¶
{
"id": "78a39661-60a8-4824-b989-88c1b0c3534a",
"filter": {
"vnfInstanceSubscriptionFilter": {
"vnfdIds": [
"dummy-vnfdId-1"
],
"vnfProductsFromProviders": [
{
"vnfProvider": "dummy-vnfProvider-1",
"vnfProducts": [
{
"vnfProductName": "dummy-vnfProductName-1-1",
"versions": [
{
"vnfSoftwareVersion": "1.0",
"vnfdVersions": ["1.0", "2.0"]
}
]
}
]
}
],
"vnfInstanceIds": [
"dummy-vnfInstanceId-1"
],
"vnfInstanceNames": [
"dummy-vnfInstanceName-1"
]
},
"notificationTypes": [
"AlarmNotification",
"AlarmClearedNotification"
],
"faultyResourceTypes": [
"COMPUTE"
],
"perceivedSeverities": [
"WARNING"
],
"eventTypes": [
"EQUIPMENT_ALARM"
],
"probableCauses": [
"The server cannot be connected."
]
},
"callbackUri": "/nfvo/notify/alarm",
"_links": {
"self": {
"href": "/vnffm/v1/subscriptions/78a39661-60a8-4824-b989-88c1b0c3534a"
}
}
}
The DELETE method deletes the subscription in the Tacker
When the API consumer does not need the subscription anymore, it terminates the subscription by sending a DELETE request to the resource that represents the individual subscription. The VNFM acknowledges the successful termination of the subscription by returning a “204 No Content” response.
Response Codes¶
Success¶
Code |
Reason |
---|---|
204 - No Content |
The server has fulfilled the request by deleting the resource. |
Error¶
Code |
Reason |
---|---|
400 - Bad Request |
Some content in the request was invalid. |
401 - Unauthorized |
User must authenticate before making a request. |
404 - Not Found |
The requested resource could not be found. |
406 - Not Acceptable |
Not Acceptable, the requested resource is only capable of generating content not acceptable according to the ‘Accept’ headers sent in the request. |
409 - Conflict |
This operation conflicted with another operation on this resource. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
subscriptionId |
path |
string |
Identifier of this subscription. |
Virtualized Network Function Fault Management Notification Interface¶
This interface is notification about VNF fault management.
This interface is a notification sent to the endpoint configured as the callbackUri when an event occurs that matches the filter criteria that is part of the subscription, or when a VNF fault management subscription is created. The detail of this interface is described in SOL002 v3.3.1 clause 7.
The POST method delivers a notification about information of a VNF alarm from Tacker to the API consumer.
When an error or warning occurs on a VNF configured for monitoring with a VNF fault management subscription, Tacker sends this notification to the endpoint configured in the callbackUri of the “Create a subscription (v1)” API.
Response Codes¶
Tacker expects a “204 No Content” response from the endpoint of the API consumer. If any other response code is returned, it will be treated as an error.
Success¶
Code |
Reason |
---|---|
204 - No Content |
The notification has been delivered successfully. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
body |
string |
Identifier of this notification. |
notificationType |
body |
string |
Discriminator for the different notification types. Set to “AlarmNotification” for this notification type. |
subscriptionId |
body |
string |
Identifier of the subscription that this notification relates to. |
timeStamp |
body |
string |
Date-time of the generation of the notification. |
alarm |
body |
object |
Information about an alarm including AlarmId, affected VNF identifier, and FaultDetails. |
id |
body |
string |
Identifier of this Alarm information element. |
managedObjectId |
body |
string |
Identifier of the affected VNF instance. |
vnfcInstanceIds (Optional) |
body |
array |
Identifiers of the affected VNFC instances. |
rootCauseFaultyResource (Optional) |
body |
object |
The virtualised resources that are causing the VNF fault. Shall be present if the alarm affects virtualised resources. |
faultyResource |
body |
object |
Information that identifies the faulty resource instance and its managing entity. |
vimConnectionId (Optional) |
body |
string |
Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNFrelated resource management in direct mode is applicable. |
resourceProviderId (Optional) |
body |
string |
Identifier of the entity responsible for the management of the resource. This attribute shall only be supported and present when VNF-related resource management in indirect mode is applicable. The identification scheme is outside the scope of the present document. |
resourceId |
body |
string |
Identifier of the resource in the scope of the VIM or the resource provider. |
vimLevelResourceType (Optional) |
body |
string |
Type of the resource in the scope of the VIM or the resource provider. |
faultyResourceType |
body |
object |
Type of the faulty resource. COMPUTE: Virtual compute resource, STORAGE: Virtual storage resource, NETWORK: Virtual network resource. |
alarmRaisedTime |
body |
string |
Time stamp indicating when the alarm is raised by the managed object. |
alarmChangedTime (Optional) |
body |
string |
Time stamp indicating when the alarm was last changed. It shall be present if the alarm has been updated. |
alarmClearedTime (Optional) |
body |
string |
Time stamp indicating when the alarm was cleared. It shall be present if the alarm has been cleared. |
alarmAcknowledgedTime (Optional) |
body |
string |
Time stamp indicating when the alarm was acknowledged. It shall be present if the alarm has been acknowledged. |
ackState |
body |
string |
Acknowledgement state of the alarm. Permitted values: UNACKNOWLEDGED, ACKNOWLEDGED. |
perceivedSeverity |
body |
object |
Perceived severity of the managed object failure. |
eventTime |
body |
string |
Time stamp indicating when the fault was observed. |
eventType |
body |
object |
Type of event. |
faultType (Optional) |
body |
string |
Additional information to clarify the type of the fault. |
probableCause |
body |
string |
Information about the probable cause of the fault. |
isRootCause |
body |
bool |
Attribute indicating if this fault is the root of other correlated alarms. If true, then the alarms listed in the attribute “correlatedAlarmIds” are caused by this fault. |
correlatedAlarmIds (Optional) |
body |
array |
List of identifiers of other alarms correlated to this fault. |
faultDetails (Optional) |
body |
array |
Provides additional information about the fault. |
_links |
body |
object |
Links for this resource. |
self |
body |
object |
URI of this resource. |
objectInstance (Optional) |
body |
object |
Link to the resource representing the VNF instance to which the notified alarm is correlated. Shall be present if the VNF instance information is accessible as a resource. |
_links |
body |
object |
Links to resources related to this notification. |
subscription |
body |
object |
Link to the related subscription. |
Request Example¶
{
"id": "0ab777dc-b3a0-42d6-85c1-e5f80711b988",
"notificationType": "AlarmNotification",
"subscriptionId": "0155c914-8573-463c-a97a-aef5a3ca9c72",
"timeStamp": "2023-12-08T13:16:30Z",
"alarm": {
"id": "de8e74e8-1845-40dd-892c-cb7a67c26f9f",
"managedObjectId": "c21fd71b-2866-45f6-89d0-70c458a5c32e",
"vnfcInstanceIds": ["VDU1-curry-probe-test001-798d577c96-5624p"],
"alarmRaisedTime": "2023-12-08T13:16:30+00:00",
"ackState": "UNACKNOWLEDGED",
"perceivedSeverity": "CRITICAL",
"eventTime": "2023-12-08T13:16:00Z",
"eventType": "PROCESSING_ERROR_ALARM",
"faultType": "fault_type",
"probableCause": "Process Terminated",
"isRootCause": false,
"faultDetails": [
"fingerprint: 5ee739bb8840a190",
"detail: fault_details"
],
"_links": {
"self": {
"href": "http://127.0.0.1:9890/vnffm/v1/alarms/de8e74e8-1845-40dd-892c-cb7a67c26f9f"
},
"objectInstance":{
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/c21fd71b-2866-45f6-89d0-70c458a5c32e"
}
}
},
"_links": {
"subscription": {
"href": "http://127.0.0.1:9890/vnffm/v1/subscriptions/0155c914-8573-463c-a97a-aef5a3ca9c72"
}
}
}
The POST method delivers a notification about information of the clearance of a VNF alarm from Tacker to the API consumer.
When an Error or Warning of a VNF that is set to be monitored with a VNF fault management subscription is resolved, Tacker sends this notification to the endpoint configured in the callbackUri of the “Create a subscription (v1)” API.
Response Codes¶
Tacker expects a “204 No Content” response from the endpoint of the API consumer. If any other response code is returned, it will be treated as an error.
Success¶
Code |
Reason |
---|---|
204 - No Content |
The notification has been delivered successfully. |
Request Parameters¶
Name |
In |
Type |
Description |
---|---|---|---|
id |
body |
string |
Identifier of this notification. |
notificationType |
body |
string |
Discriminator for the different notification types. Set to “AlarmClearedNotification” for this notification type. |
subscriptionId |
body |
string |
Identifier of the subscription that this notification relates to. |
timeStamp |
body |
string |
Date-time of the generation of the notification. |
alarmId |
body |
string |
Alarm identifier. |
alarmClearedTime |
body |
string |
The time stamp indicating when the alarm was cleared. |
_links |
body |
object |
Links to resources related to this notification. |
subscription |
body |
object |
Link to the related subscription. |
alarm |
body |
object |
Link to the resource that represents the related alarm. |
Request Example¶
{
"id": "0ab777dc-b3a0-42d6-85c1-e5f80711b988",
"notificationType": "AlarmClearedNotification",
"subscriptionId": "0155c914-8573-463c-a97a-aef5a3ca9c72",
"timeStamp": "2023-12-08T13:16:30Z",
"alarmId": "de8e74e8-1845-40dd-892c-cb7a67c26f9f",
"alarmClearedTime": "2023-12-08T13:16:30Z",
"_links": {
"subscription": {
"href": "http://127.0.0.1:9890/vnffm/v1/subscriptions/0155c914-8573-463c-a97a-aef5a3ca9c72"
},
"alarm": {
"href": "http://127.0.0.1:9890/vnffm/v1/alarms/de8e74e8-1845-40dd-892c-cb7a67c26f9f"
}
}
}
The GET method test the notification endpoint.
When a VNF fault management subscription is created using the “Create a subscription (v1)” API, Tacker sends this notification to the endpoint configured with callbackUri to confirm communication.
Response Codes¶
Tacker expects a “204 No Content” response from the endpoint of the API consumer. If any other response code is returned, it will be treated as an error.
Success¶
Code |
Reason |
---|---|
204 - No Content |
The notification has been delivered successfully. |