You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

This clause describes the procedure for sending notifications related to VNF package management

1.VnfPackage Onboarding Notification

When the vnf package performs the Onboarding operation successfully, Etsicatalog will filter all Subscriptions records:

  • notificationTypes == “VnfPackageOnboardingNotification”

     &&

  • VnfPackage‘s vnfdId / vnfPkgId / vnfProductsFromProviders maching subscription.filters

If there is some matching subscription records,  Etsicatalog will post notifications requests.

1.1 Flow of VnfPackage Onboarding Notification

SOL003_Adapter SOL003_Adapter ETSICatalog ETSICatalog Post /Subscriptions(callbackUri=/URI-is-provided-by-the-clientfilters.notificationTypes=VnfPackageOnboardingNotification) test notification endpoint Get /URI-is-provided-by-the-client 204 No Content Creates a new subscription 201 Created alt Put /vnf_packages/(vnfPkgId)/package_content Put /vnf_packages/(vnfPkgId)/package_content/upload_from_uri 202 Accepted Uploading of VNF package content Filter Subscriptions alt[Filted by Subscriptions.filters] Post /URI-is-provided-by-the-client 204 No Content

1.2 Subscribe API example:

{
    "filters": {
        "notificationTypes": [
            "VnfPackageOnboardingNotification"
        ],
        #Only one of the three attributes "vnfProductsFromProviders", "vnfdId" and "vnfPkgId" can be selected
        "vnfdId": [
            "uuid_vnfdid"
        ]
    },
    "callbackUri": "http://www.vnf1.com/notification",    
    "authentication": {
        "authType": [
            "BASIC"
        ],
        "paramsBasic": {
            "userName": "username",
            "password": "userpwd"
        }
    }
}

1.3 Notification API example:

POST http://www.vnf1.com/notification

{
  "id":"notify_id",
  "notificationType":"VnfPackageOnboardingNotification",
  "timeStamp":"nowtime()",
  "vnfPkgId":"vnfPackage_uuid",
  "vnfdId":"vnfdId_uuid",
  "subscriptionId":"subscription_id",
  "_links":{
    "subscription":{
      "href":"http://subscriptionuri"
    },
    "vnfPackage":{
      "href":"http://vnfPackageuri"
    }
  }
}



2.VnfPackage Change Notification

When the vnf package performs the Deleting or Patching operation successfully, Etsicatalog will filter all Subscriptions records:

  • notificationTypes == “VnfPackageChangeNotification”

     &&

  • VnfPackage’s vnfdId / vnfPkgId / vnfProductsFromProviders maching subscription.filters

If there is some matching subscription records,  Etsicatalog will post notifications requests.

2.1 Flow of VnfPackage Change Notification

SOL003_Adapter SOL003_Adapter ETSICatalog ETSICatalog Post /Subscriptions(callbackUri=/URI-is-provided-by-the-clientfilters.notificationTypes=VnfPackageChangeNotification) test notification endpoint Get /URI-is-provided-by-the-client 204 No Content Creates a new subscription 201 Created alt Delete /vnf_packages/(vnfPkgId) Deletes the VNF package 200 OK Patch /vnf_packages/(vnfPkgId) Updates the information of the VNF package 204 No Content Filter Subscriptions alt[Filted by Subscriptions.filters] Post /URI-is-provided-by-the-client 204 No Content

2.2 Subscribe API example:

{
    "filters": {
        "notificationTypes": [
            "VnfPackageChangeNotification"
        ],
        #Only one of the three attributes "vnfProductsFromProviders", "vnfdId" and "vnfPkgId" can be selected
        "vnfdId": [
            "uuid_vnfdid"
        ]
    },
    "callbackUri": "http://www.vnf1.com/notification",
    "authentication": {
        "authType": [
            "BASIC"
        ],
        "paramsBasic": {
            "userName": "string",
            "password": "string"
        }
    }
}

2.3 Notification API example:

POST http://www.vnf1.com/notification

{
  "id":"notify_id",
  "notificationType":"VnfPackageChangeNotification",
  "timeStamp":"nowtime()",
  "vnfPkgId":"vnfPackage_uuid",
  "vnfdId":"vnfdId_uuid",
  "subscriptionId":"subscription_id",
  "changeType":"OP_STATE_CHANGE",
  "operationalState":"ENABLED",
  "_links":{
    "subscription":{
      "href":"http://subscriptionuri"
    },
    "vnfPackage":{
      "href":"http://vnfPackageuri"
    }
  }
}
  • No labels