Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Accordingly, the data structure 'directives' will also be added inside OOF HAS response. Since currently the pcie_directives can be get from either Policy or AAI,  HAS still need to process the pcie_directives.

...

titleSample directive data in AAI

hpa-feature=”sriovNICNetwork”,

architecture=”{hw_arch}",

version=”v1”,

...

Hpa-attribute-key

...

Hpa-attribute-value

...

pciVendorId

...

2345

...

pciDeviceId

...

'id' and 'type' will help VF-C to filter one VDU(VNFC in HEAT accordingly), and attributes inside will be used to pass down values of SRIOV NIC information. 

...

Code Block
languagejs
themeDJango
titleHAS Homing response (JSON)
linenumberstrue
collapsetrue
# 
# Example one: Only one vnfc/vdu inside such VNF, with requirements on basic capability and sriovNICNetwork.
#
{
  "plans": [
    {
      "status": "done",
      "id": "plan_id",
      "name": "Plan Name 1",
      "links": [
        [
          {
            "href": "http://conductor:8091/v1/plans/plan_id",
            "rel": "self"
          }
        ]
      ],
      "recommendations": [
        {
          "vFW": {
            "inventory_provider": "aai",
            "candidate": {
              "candidate_id": "DLLSTX1A",
              "cloud_owner": "CloudOwner1",
              "inventory_type": "cloud",
              "location_id": "DLLSTX1A",
              "location_type": "openstack-cloud"
            },
            "attributes": {
              "directives": [
                {
                  "id": "<vdu.Name>",
                  "type": "<vnfc/vdu>tocsa.nodes.nfv.Vdu.Compute>",
                  "directives": [
                    {
                      "type": "flavor_directives",
                      "attributes": [
                        {
                          "attribute_name": "oof_returned_flavor_label_for_firewall",
                          "attribute_value": "vim_flavor_X"
                        }
                      ]
                    },
                    {
                      "type": "sriovNICNetwork_directive",
                      "attributes": [
                        {
                          "attribute_name": "oof_returned_vnic_type_for_firewall_protected",
                          "attribute_value": "direct"
                        },
                        {
                          "attribute_name": "oof_returned_provider_network_for_firewall_protected",
                          "attribute_value": "physnet1"
                        }
                      ]
                    },
                    {
                      "type": "sriovNICNetwork_directive",
                      "attributes": [
                        {
                          "attribute_name": "oof_returned_vnic_type_for_firewall_unprotected",
                          "attribute_value": "direct"
                        },
                        {
                          "attribute_name": "oof_returned_provider_network_for_firewall_unprotected",
                          "attribute_value": "physnet2"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            "cloud_owner": "CloudOwner1",
            "physical-location-id": "DLLSTX1A",
            "cloud_version": "3.0",
            "vim-id": "CloudOwner1_DLLSTX1A"
          }
        }
      ]
    }
  ]
}





# 
# Example two: Two vnfc/vdu inside such VNF. One with requirements on basic capability and sriovNICNetwork and the other one with requirements on basic capabilities, cpu pinning and huge pages.
#

{
  "plans": [
    {
      "status": "done",
      "id": "plan_id",
      "name": "Plan Name 2",
      "links": [
        [
          {
            "href": "http://conductor:8091/v1/plans/plan_id",
            "rel": "self"
          }
        ]
      ],
      "recommendations": [
        {
          "vFW": {
            "inventory_provider": "aai",
            "candidate": {
              "candidate_id": "DLLSTX1A",
              "cloud_owner": "CloudOwner1",
              "inventory_type": "cloud",
              "location_id": "DLLSTX1A",
              "location_type": "openstack-cloud"
            },
            "attributes": {
              "directives": [
                {
                  "id": "<vdu.Name>",
                  "type": "<vnfc/vdu>tocsa.nodes.nfv.Vdu.Compute>",
                  "directives": [
                    {
                      "type": "flavor_directives",
                      "attributes": [
                        {
                          "attribute_name": "oof_returned_flavor_label_for_firewall",
                          "attribute_value": "vim_flavor_X"
                        }
                      ]
                    },
                    {
                      "type": "sriovNICNetwork_directive",
                      "attributes": [
                        {
                          "attribute_name": "oof_returned_vnic_type_for_firewall_protected",
                          "attribute_value": "direct"
                        },
                        {
                          "attribute_name": "oof_returned_provider_network_for_firewall_protected",
                          "attribute_value": "physnet1"
                        }
                      ]
                    },
                    {
                      "type": "sriovNICNetwork_directive",
                      "attributes": [
                        {
                          "attribute_name": "oof_returned_vnic_type_for_firewall_unprotected",
                          "attribute_value": "direct"
                        },
                        {
                          "attribute_name": "oof_returned_provider_network_for_firewall_unprotected",
                          "attribute_value": "physnet2"
                        }
                      ]
                    }
                  ]
                },
                {
                  "id": "<vdu.Name>",
                  "type": "<vnfc/vdu>tocsa.nodes.nfv.Vdu.Compute>",
                  "directives": [
                    {
                      "type": "flavor_directives",
                      "attributes": [
                        {
                          "attribute_name": "oof_returned_flavor_label_for_generator",
                          "attribute_value": "vim_flavor_Y"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            "cloud_owner": "CloudOwner1",
            "physical-location-id": "DLLSTX1A",
            "cloud_version": "3.0",
            "vim-id": "CloudOwner1_DLLSTX1A"
          }
        }
      ]
    }
  ]
}


...

Code Block
languagejs
themeDJango
titleOOF Asynchronous Homing response (JSON)
linenumberstrue
collapsetrue
#
# Example one: Only one vnfc/vdu inside such VNF, with requirements on basic capability and sriovNICNetwork.
#
{
  "requestId": "xxxx",
  "transactionId": " xxxx ",
  "statusMessage": " xxxx ",
  "requestStatus": "completed",
  "solutions": {
    "placementSolutions": [
      [
        {
          "resourceModuleName": " vFW ",
          "serviceResourceId": " xxxx ",
          "solution": {
            "identifierType": "serviceInstanceId",
            "identifiers": [
              " xxxx "
            ],
            "cloudOwner": "CloudOwner1 "
          },
          "assignmentInfo": [
            { "key": "isRehome",
              "value": "false"
            },
            { "key": "locationId",
              "value": "DLLSTX1A"
            },
            { "key": "locationType",
              "value": "openstack-cloud"
            },
            { "key": "vimId",
              "value": "CloudOwner1_DLLSTX1A"
            },
            { "key": "physicalLocationId",
              "value": "DLLSTX1223"
            },
            { "key": "oofDirectives",
              "value": {
                "directives": [
                  {
                    "id": "<vdu.name>",
                    "type": "vnfc/vdutocsa.nodes.nfv.Vdu.Compute",
                    "directives": [
                      {
                        "type": "flavor_directive",
                        "attributes": [
                          {
                            "attribute_name": "oof_returned_flavor_label_for_firewall",
                            "attribute_value": "<flavor_name>"
                          }
                        ]
                      },
                      {
                        "type": "sriovNICNetwork_directive",
                        "attributes": [
                          {
                            "attribute_name": "oof_returned_vnic_type_for_firewall_protected",
                            "attribute_value": "direct"
                          },
                          {
                            "attribute_name": "oof_returned_provider_network_for_firewall_protected",
                            "attribute_value": "physnet1"
                          }
                        ]
                      },
                      {
                        "type": "sriovNICNetwork_directive",
                        "attributes": [
                          {
                            "attribute_name": "oof_returned_vnic_type_for_firewall_unprotected",
                            "attribute_value": "direct"
                          },
                          {
                            "attribute_name": "oof_returned_provider_network_for_firewall_unprotected",
                            "attribute_value": "physnet2"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "id": "<ID of VNF>",
                    "type": "vnf",
                    "directives": [
                      { "type": " ",
                        "attributes": [
                          {
                            "attribute_name": " ",
                            "attribute_value": " "
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            }
          ]
        }
      ]
    ],
    "licenseSoutions": [
      {
        "resourceModuleName": "string",
        "serviceResourceId": "string",
        "entitlementPoolUUID": [
          "string"
        ],
        "licenseKeyGroupUUID": [
          "string"
        ],
        "entitlementPoolInvariantUUID": [
          "string"
        ],
        "licenseKeyGroupInvariantUUID": [
          "string"
        ]
      }
    ]
  }
}


#
# Example two: Two vnfc/vdu inside such VNF. One with requirements on basic capability and sriovNICNetwork and the other one with requirements on basic capabilities, cpu pinning and huge pages.
#
{
  "requestId": "xxxx",
  "transactionId": " xxxx ",
  "statusMessage": " xxxx ",
  "requestStatus": "completed",
  "solutions": {
    "placementSolutions": [
      [
        {
          "resourceModuleName": " vFW ",
          "serviceResourceId": " xxxx ",
          "solution": {
            "identifierType": "serviceInstanceId",
            "identifiers": [
              " xxxx "
            ],
            "cloudOwner": "CloudOwner1 "
          },
          "assignmentInfo": [
            { "key": "isRehome",
              "value": "false"
            },
            { "key": "locationId",
              "value": "DLLSTX1A"
            },
            { "key": "locationType",
              "value": "openstack-cloud"
            },
            { "key": "vimId",
              "value": "CloudOwner1_DLLSTX1A"
            },
            { "key": "physicalLocationId",
              "value": "DLLSTX1223"
            },
            { "key": "oofDirectives",
              "value": {
                "directives": [
                  {
                    "id": "<vdu.name>",
                    "type": "vnfc/vdu",
                    "directives": [
                      { "type": "flavor_directive",
                        "attributes": [
                          {
                            "attribute_name": "oof_returned_flavor_label_for_firewall",
                            "attribute_value": "<flavor_name>"
                          }
                        ]
                      },
                      { "type": "sriovNICNetwork_directive",
                        "attributes": [
                          {
                            "attribute_name": "oof_returned_vnic_type_for_firewall_protected",
                            "attribute_value": "direct"
                          },
                          {
                            "attribute_name": "oof_returned_provider_network_for_firewall_protected",
                            "attribute_value": "physnet1"
                          }
                        ]
                      },
                      { "type": "sriovNICNetwork_directive",
                        "attributes": [
                          {
                            "attribute_name": "oof_returned_vnic_type_for_firewall_unprotected",
                            "attribute_value": "direct"
                          },
                          {
                            "attribute_name": "oof_returned_provider_network_for_firewall_unprotected",
                            "attribute_value": "physnet2"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "id": "<vdu.name>",
                    "type": "vnfc/vdu",
                    "directives": [
                      { "type": "flavor_directive",
                        "attributes": [
                          {
                            "attribute_name": "oof_returned_flavor_label_for_generator",
                            "attribute_value": "<flavor_name>"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "id": "<ID of VNF>",
                    "type": "vnf",
                    "directives": [
                      { "type": " ",
                        "attributes": [
                          {
                            "attribute_name": " ",
                            "attribute_value": " "
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            }
          ]
        }
      ]
    ],
    "licenseSoutions": [
      {
        "resourceModuleName": "string",
        "serviceResourceId": "string",
        "entitlementPoolUUID": [
          "string"
        ],
        "licenseKeyGroupUUID": [
          "string"
        ],
        "entitlementPoolInvariantUUID": [
          "string"
        ],
        "licenseKeyGroupInvariantUUID": [
          "string"
        ]
      }
    ]
  }
}