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.

GET
/vnffm/v1/alarms

Get all alarms (v1)

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"
        }
    }
  }
]
GET
/vnffm/v1/alarms/{alarmId}

Get the individual alarm (v1)

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"
        }
    }
  }
PATCH
/vnffm/v1/alarms/{alarmId}

Modify the confirmation status (v1)

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"
}
POST
/vnffm/v1/subscriptions

Create a subscription (v1)

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"
        }
    }
}
GET
/vnffm/v1/subscriptions

Get all subscriptions (v1)

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"
        }
    }
}
]
GET
/vnffm/v1/subscriptions/{subscriptionId}

Get a subscription (v1)

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"
        }
    }
}
DELETE
/vnffm/v1/subscriptions/{subscriptionId}

Delete a subscription (v1)

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.

POST
< callbackUri (provided by API consumer) >

AlarmNotification

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"
        }
    }
}
POST
< callbackUri (provided by API consumer) >

AlarmClearedNotification

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"
        }
    }
}
GET
< callbackUri (provided by API consumer) >

Test the notification endpoint (VNF FM)

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.