Versions Compared

Key

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

...

Gliffy
size1200
namevCPEPoliciesAndInformationSources
pagePin18


Homing Workflow

...


SO - HAS API (R) - before retrieving homing policies

Code Block
languagetext
titleSO - HAS API (R)
collapsetrue
requestInfo:

...


  callbackUrl: https://so:5000/callback
  numSolutions: 1
  optimizer:
  - placement
  requestId: yyy-yyy-yyyy
  sourceId: so
  timeout: 600
  transactionId: xxx-xxx-xxxx
  requestType: new
placementInfo:
  orderInfo:
    requestParameters:
      customerLatitude: 32.897480
      customerLongitude: -97.040443
      customerName: some_company
  demandInfo:
    placementDemands:
    - resourceName: vGMuxInfra
      resourceId: some_resource_id
      tenantId: some_tenant_id
      resourceModelInfo:
        modelId: vGMux_model_id
        modelName: ''
        modelType: allotted
        modelVersion: '2.0'
      existingPlacement:
        serviceInstanceId: 87257b49-9602-4ca1-9817-094e52bc873b
      excludedCandidates:
      - candidateType: service
        candidates:
        - serviceInstanceId: 1ac71fb8-ad43-4e16-9459-c3f372b8236d

...


      requiredCandidates:
      - candidateType: service 

...


        candidates:
        - serviceInstanceId: 7e6c3e57-62cd-44f6-aa88-d0896998f7ec

...


    - resourceName: vG
      tenantId: some_tenant_id
      resourceId: 71d563e8-e714-4393-8f99-cc480144a05e
      resourceModelInfo:
        modelId: vG_model_id
        modelName: ''
        modelType: dedicated
        modelVersion: '2.0'
      existingPlacement:
        serviceInstanceId: 21d5f3e8-e714-4383-8f99-cc480144505a
      excludedCandidates:
      - candidateType: service
        candidates:
        - serviceInstanceId: 1ac71fb8-ad43-4e16-9459-c3f372b8236d

...


      requiredCandidates:
      - candidateType: cloud
        candidates:
        - cloud-region-id: TXAUS219

...



  otherInfo:
    serviceInstanceId: d61b2543-5914-4b8f-8e81-81e38575b8ec
  serviceModelInfo:
    serviceName: Residential vCPE
    service_id: vcpe_service_id
    serviceType: service
    serviceVersion: '1.0'


HAS Homing Specification (R') - after retrieving and translating homing policies

Code Block
languagejs
titlevCPE Homing Template (JSON)
collapsetrue
{
  "homing_template_version": "2017-10-10",
  "parameters": {
    "service_name": "Residential vCPE",
    "service_id": "vcpe_service_id",
    "customer_lat": 32.89748,
    "customer_long": -97.040443,
    "REQUIRED_MEM": 4,
    "REQUIRED_DISK": 100,
    "pnf_id": "some_pnf_id"
  },
  "locations": {
    "customer_loc": {
      "latitude": {
        "get_param": "customer_lat"
      },
      "longitude": {
        "get_param": "customer_long"
      }
    },
  },
  "brg_locdemands": {
 
    "pnf_host_namevGMuxInfra": [
      {
        "getinventory_paramprovider": "pnf_idaai",
      }  "inventory_type": "service",
 }   },
  "demands": {
    "vGMuxInfra": [
      {
        "inventory_provider": "aai",
        "inventory_type": "service",         "attributes": {
          "equipment_type": "vG_Mux",
          "customer_id": "some_company"
        },
        "excluded_candidates": [
          {
            "candidate_id": "1ac71fb8-ad43-4e16-9459-c3f372b8236d"
          }
        ],
        "existing_placement": [
          {
            "candidate_id": "21d5f3e8-e714-4383-8f99-cc480144505a"
          }
        ]
      }
    ],
    "vG": [
      {
        "inventory_provider": "aai",
        "inventory_type": "cloud"
      }
    ]
  },
  "constraints": [
    {
      "constraint_vgmux_customer": {
        "type": "distance_to_location",
 
      "demands": [

         "vGMuxInfra"
        ],
 
      "properties": {

         "distance": "< 100 km",
 
        "location": "customer_loc"
 
      }

     },
    },
    {
      "colocation": {

       "type": "zone",
        "demands": [
          "vGMuxInfra",
 
        "vG"

       ],
        "properties": {
 
        "qualifier": "same",
          "category": "region"
        }
      }
    },
    {
 
    "hpa_constraint": {
 
      "type": "hpa",
 
      "demands": [

         "vG"
        ],
        "properties": {
 
        "evaluate": [

           {
 
            "labelflavorLabel": "flavor_label_1",
              "featuresflavorProperties": [
                {
 
                "hpa-feature": "basicCapabilities",
                  "hpa-version": "v1",
                  "architecture": "generic",

                 "hpa-feature-attributes": [
                    {
                      "hpa-attribute-key": "numVirtualCpu",
 
                    "hpa-attribute-value": "4",

                     "operator": "="
                    },
 
                  {

                     "hpa-attribute-key": "virtualMemSize",
 
                    "hpa-attribute-value": "4",
 
                    "operator": "=",

                     "unit": "GB"
                  }
 }
                  ]
                },
                {
 
                "hpa-feature": "numa",
 
                "hpa-version": "v1",
 
                "architecture": "generic",

                 "hpa-feature-attributes": [
                    {
                      "hpa-attribute-key": "numaNodes",
 
                    "hpa-attribute-value": "2",

                     "operator": "="
                    },
 
                  {
                      "hpa-attribute-key": "numaCpu-0",
                      "hpa-attribute-value": "2",
                      "operator": "="
 
                  },
                    {
                      "hpa-attribute-key": "numaCpu-1",
 
                    "hpa-attribute-value": "4",
 
                    "operator": "="

                   },
 
                  {
 
                    "hpa-attribute-key": "numaMem-0",
 
                    "hpa-attribute-value": "2",

                     "operator": "=",
                      "unit": "GB"
                    },
 
                  {

                     "hpa-attribute-key": "numaMem-1",
 
                    "hpa-attribute-value": "4",
 
                    "operator": "=",
                      "unit": "GB"
                    }
                  ]
 
              },
                {
                  "hpa-feature": "cpuPinning",

                 "hpa-version": "v1",
                  "architecture": "generic",
                  "hpa-feature-attributes": [
 
                  {

                     "hpa-attribute-key": "logicalCpuThreadPinningPolicy",
                      "hpa-attribute-value": "prefer",
 
                    "operator": "="

                   },
 
                  {
 
                    "hpa-attribute-key": "logicalCpuPinningPolicy",

                     "hpa-attribute-value": "dedicated",
                      ""operator": "="
                    }
                  ]
                }
 
            ]
 
          },
 
          {

             "labelflavorLabel": "flavor_label_2",
              "featuresflavorProperties": [

               {
                  "hpa-feature": "basicCapabilities",
 
                "hpa-version": "v1",
                  "architecture": "generic",
                  "hpa-feature-attributes": [
                    {
 
                    "hpa-attribute-key": "numVirtualCpu",
                      "hpa-attribute-value": "8",
                      "operator": "="
 
                  },
 
                  {

                     "hpa-attribute-key": "virtualMemSize",
 
                    "hpa-attribute-value": "16",
 
                    "operator": "=",
 
                    "unit": "GB"

                   }
                  ]
                },
 
              {

                 "hpa-feature": "numa",
 
                "hpa-version": "v1",
 
                "architecture": "generic",
                  "hpa-feature-attributes": [
                    {
                      "hpa-attribute-key": "numaNodes",
 
                    "hpa-attribute-value": "2",
                      "operator": "="
                    },

                   {
                      "hpa-attribute-key": "numaCpu-0",
                      "hpa-attribute-value": "2",
 
                    "operator": "="

                   },
                    {
 
                    "hpa-attribute-key": "numaCpu-1",

                     "hpa-attribute-value": "4",
 
                    "operator": "="
 
                  },

                   {
                      ""hpa-attribute-key": "numaMem-0",
                      "hpa-attribute-value": "2",
                      "operator": "=",
                      "unit": "GB"
 
                  },
 
                  {
 
                    "hpa-attribute-key": "numaMem-1",

                     "hpa-attribute-value": "4",
                      "operator": "=",
                      "unit": "GB"
 
                  }

                 ]
                },
 
              {
                  "hpa-feature": "memoryPageSize",
                  "hpa-version": "v1",
                  "architecture": "generic",
 
                "hpa-feature-attributes": [
                    {
                      "hpa-attribute-key": "memoryPageSize",
 
                    "hpa-attribute-value": "2",
 
                    "operator": "=",

                     "unit": "GB"
 
                  }
 
                ]
 
              }

             ]
            }
          ]
       
}       }
    },
    {
      "cloud_min_guarantee"check_cloud_capacity": {
        "type": "attributevim_fit",
        "demands": [
 
        "vG"

       ],
 
      "properties": {
 
        "evaluatecontroller": {
 "multicloud",
        "request": {
          "cpu_min_guaranteevCPU": true10,
            "mem_min_guarantee"Memory": true{
            }"quantity": {
         }     "get_param": "REQUIRED_MEM"
}     },     {  },
    "check_cloud_capacity": null,       "typeunit": "vim_fit",GB"
          },
"demands": [         "vGStorage": {
     ],       "propertiesquantity": {
        "vim-controller": "multicloud",           "request": {"get_param": "REQUIRED_DISK"
           "vCPU": 10},
            "memunit": {"GB"
            "quantity": {}
        }
      "get_param": "REQUIRED_MEM"}
    }
  },
  "optimization": {
 },   "minimize": {
        "unitsum": "GB"[
        {
 },
          "diskdistance_between": {[
            "quantitycustomer_loc":,
{               "get_param": "REQUIRED_DISK"vGMuxInfra"
          ]
 },             "unit": "GB"
          }},
        }
    {
 }     }   ],   "optimizationdistance_between": {[
    "minimize": {       "sumcustomer_loc":,
[         {   "vG"
       "distance_between": [  ]
        }
 "customer_loc",     ]
    }
  "vGMuxInfra"}
}



Code Block
languagetext
titlevCPE Homing Template (YAML)
collapsetrue
---
homing_template_version: '2017-10-10'
parameters:
  service_name: Residential vCPE
  service_id: vcpe_service_id
  customer_lat: 32.89748
  customer_long: -97.040443
  REQUIRED_MEM: 4
  REQUIRED_DISK: 100
locations:
  customer_loc:
    latitude:
      get_param: customer_lat
    longitude:
      get_param: customer_long
demands:
  vGMuxInfra:
  - inventory_provider: aai
    inventory_type: service
    attributes:
      equipment_type: vG_Mux
      customer_id: some_company
    excluded_candidates:
    - candidate_id: 1ac71fb8-ad43-4e16-9459-c3f372b8236d
    existing_placement:
]    - candidate_id: 21d5f3e8-e714-4383-8f99-cc480144505a
  vG:
},  - inventory_provider: aai
    {inventory_type: cloud
constraints:
  constraint_vgmux_customer:
    type: "distance_between": [
  _to_location
    demands:
    - vGMuxInfra
    properties:
      distance: "< 100 km"
      location: customer_loc",
  colocation:
    type: zone
    demands:
    "vG"- vGMuxInfra
    - vG
   ] properties:
      qualifier: }same
      ]category: region
  hpa_constraint:
}   } }type: hpa
 
Code Block
languagetext
titlevCPE Homing Template (YAML)
collapsetrue
--- homing_template_version: '2017-10-10'
parameters demands:
  service_name: Residential vCPE- vG
 service_id: vcpe_service_id   customer_lat: 32.89748properties:
  customer_long: -97.040443   REQUIRED_MEMevaluate:
4   REQUIRED_DISK: 100  - pnf_idflavorLabel: someflavor_pnflabel_id1
locations:   customer_loc:     latitudeflavorProperties:
      get_param: customer_lat  - hpa-feature: basicCapabilities
      longitude:    hpa-version: v1
 get_param: customer_long   brg_loc:     pnf_host_namearchitecture: generic
     get_param: pnf_id demands:   vGMuxInfra:hpa-feature-attributes:
    - inventory_provider: aai     inventory_type: service- hpa-attribute-key: numVirtualCpu
     attributes:       equipment_type: vG_Muxhpa-attribute-value: '4'
      customer_id: some_company     excluded_candidatesoperator: "="
   -  candidate_id: 1ac71fb8-ad43-4e16-9459-c3f372b8236d     existing_placement- hpa-attribute-key: virtualMemSize
   -  candidate_id: 21d5f3e8-e714-4383-8f99-cc480144505a   vG:   - inventory_providerhpa-attribute-value: aai'4'
    inventory_type: cloud
constraints: - constraint_vgmux_customer:       typeoperator: distance_to_location"="
     demands:     - vGMuxInfra unit: GB
  properties:      - distancehpa-feature: "<numa
100 km"       location: customer_loc hpa-version: colocation:v1
    type: zone     demandsarchitecture: generic
    - vGMuxInfra     hpa-feature-attributes:
  vG     properties:   - hpa-attribute-key: numaNodes
 qualifier: same       category: region - hpa_constraint-attribute-value: '2'
   type: hpa     demands:     - vGoperator: "="
    properties:      - evaluatehpa-attribute-key: numaCpu-0
     - label: flavor_label_1     hpa-attribute-value: '2'
  features:         - hpa-featureoperator: basicCapabilities"="
          - hpa-attribute-versionkey: numaCpu-1
 v1           architecturehpa-attribute-value: generic'4'
            hpa-feature-attributesoperator: "="
          - hpa-attribute-key: numVirtualCpunumaMem-0
            hpa-attribute-value: '42'
            operator: "="
            unit: GB
          - hpa-attribute-key: virtualMemSizenumaMem-1
            hpa-attribute-value: '4'
            operator: "="
            unit: GB
        - hpa-feature: numacpuPinning
          hpa-version: v1
          architecture: generic
          hpa-feature-attributes:
          - hpa-attribute-key: numaNodeslogicalCpuThreadPinningPolicy
            hpa-attribute-value: '2'prefer
            operator: "="
          - hpa-attribute-key: numaCpu-0logicalCpuPinningPolicy
            hpa-attribute-value: '2'dedicated
            operator: "="
      - flavorLabel: flavor_label_2
        flavorProperties:
        - hpa-attribute-keyfeature: numaCpu-1
 basicCapabilities
          hpa-attribute-valueversion: '4'v1
            operatorarchitecture: "="generic
          - hpa-attributefeature-keyattributes:
numaMem-0          -   hpa-attribute-valuekey: '2'numVirtualCpu
            operatorhpa-attribute-value: "="'8'
            unit: GBoperator: "="
          - hpa-attribute-key: numaMem-1virtualMemSize
            hpa-attribute-value: '416'
            operator: "="
            unit: GB
        - hpa-feature: cpuPinningnuma
          hpa-version: v1
          architecture: generic
          hpa-feature-attributes:
          - hpa-attribute-key: logicalCpuThreadPinningPolicynumaNodes
            hpa-attribute-value: prefer'2'
            operator: "="
          - hpa-attribute-key: logicalCpuPinningPolicynumaCpu-0
            hpa-attribute-value: dedicated'2'
            operator: "="
      - label: flavor_label_2  -    hpa-attribute-key: numaCpu-1
  features:         - hpa-attribute-featurevalue: basicCapabilities'4'
          hpa-version: v1 operator: "="
        architecture: generic           - hpa-featureattribute-attributeskey: numaMem-0
           - hpa-attribute-keyvalue: numVirtualCpu'2'
            hpa-attribute-valueoperator: '8'"="
            operatorunit: "="GB
          - hpa-attribute-key: virtualMemSizenumaMem-1
            hpa-attribute-value: '164'
            operator: "="
            unit: GB
        - hpa-feature: numamemoryPageSize
          hpa-version: v1
          architecture: generic
          hpa-feature-attributes:
          - hpa-attribute-key: numaNodesmemoryPageSize
            hpa-attribute-value: '2'
            operator: "="
            - hpa-attribute-key: numaCpu-0
  unit: GB
  check_cloud_capacity: 
    type: vim_fit
    demands:
    hpa-attribute-value: '2'- vG
    properties:
      controller: multicloud
     operator request:
 "="       vCPU: 10
    - hpa-attribute-key: numaCpu-1  Memory:
          hpa-attribute-value: '4'quantity:
            operator: "="get_param: REQUIRED_MEM
          unit: GB
 - hpa-attribute-key: numaMem-0     Storage:
       hpa-attribute-value: '2'  quantity:
          operator: "="
  get_param: REQUIRED_DISK
          unit: GB
optimization:
  minimize:
    sum:
    - hpa-attribute-keydistance_between:
numaMem-1      - customer_loc
      hpa-attribute-value: '4'- vGMuxInfra
    - distance_between:
      - customer_loc
 operator: "="    - vG




HAS Homing Response

State - Done

Code Block
languagejs
titlevCPE homing response (JSON)
collapsetrue
{
  unit"plans": GB[
    {
   - hpa-feature: memoryPageSize "status": "done",
      "id":  hpa-version: v1"plan_id",
      "name": "Plan Name 1",
  architecture: generic   "links": [
      hpa-feature-attributes:  [
        - hpa-attribute-key: memoryPageSize {
            hpa-attribute-value: '2'"href": "http://conductor:8091/v1/plans/plan_id",
            operator"rel": "=self"
          }
 unit:  GB - cloud_min_guarantee:   ]
 type: attribute    ],
demands:     - vG"recommendations": [
   properties:     {
 evaluate:         cpu_min_guarantee"vG": true{
         mem_min_guarantee: true - check_cloud_capacity:"inventory_provider": "aai",
      type: vim_fit     demands:"candidate": {
        - vG     properties"candidate_id": "DLLSTX1A",
      controller: multicloud       request"cloud_owner": "CloudOwner1",
         vCPU: 10    "inventory_type": "cloud",
   Memory:           quantity"location_id": "DLLSTX1A",
           get_param: REQUIRED_MEM  "location_type": "openstack-cloud"
       unit: GB    },
    Storage:        "attributes": {
 quantity:             get_param"flavors": REQUIRED_DISK{
           unit: GB optimization:   minimize"flavor_label_1": "vim_flavor_X",
   sum:     - distance_between:       - customer_loc"flavor_label_2": "vim_flavor_Y"
      - vGMuxInfra     - distance_between: },
     - customer_loc       - vG

HAS Homing Response

Code Block
languagejs
titlevCPE homing response (JSON)
collapsetrue
{
  "plans": [ "cloud_owner": "CloudOwner1",
       {       "statusphysical-location-id": "solvedDLLSTX1A",
              "cloud_version": "3.0",
			  "vim-id": "planCloudOwner1_idDLLSTX1A",
        "name": "Plan Name 1", }
     "links": [    }
    [    },
      {  {
          "hrefvGMuxInfra": "http://conductor:8091/v1/plans/plan_id",{
            "attributes": {
              "relhost_id": "selfvgmux_host_name",
          }       "cloud_owner": "CloudOwner1",
 ]       ],       "recommendationsphysical-location-id": ["DLLSTX1A",
        {           "vG": {"service_instance_id": "21d5f3e8-e714-4383-8f99-cc480144505a",
              "inventorycloud_providerversion": "aai3.0",
			  "vim-id": "CloudOwner1_DLLSTX1A"
           "candidate": {
  },
            "candidateinventory_idprovider": "DLLSTX1Aaai",
              "cloudservice_resource_ownerid": "CloudOwner112345",
              "inventory_typecandidate": "cloud",{
              "locationis_idrehome": "DLLSTX1Afalse",
              "location_typeid": "openstack-cloud"
  DLLSTX1A",
         },             "attributes"inventory_type": {
              "flavors": {"service",
                "flavorcandidate_label_1id": "vim_flavor_X",
 "21d5f3e8-e714-4383-8f99-cc480144505a",
              "flavorhost_label_2id": "vimvgmux_flavorhost_Yname",
              }"cloud_owner": "CloudOwner1",
              "cloudlocation_ownertype": "CloudOwner1",openstack-cloud"
            }
     "physical-location-id": "DLLSTX1A",    }
        }
 "cloud_version": "3.0"    ]
    }
  ]
}


State - Error 

Code Block
languagejs
titleHAS Error Response
collapsetrue
{
  "plans": [
    {
 }         }"status": "error",
      "message": "Some {error message",
         "vGMuxInfraname": {"Plan     Name 1",
       "attributeslinks": [
 {       [
       "host_id": "vgmux_host_name",  {
            "cloud_ownerhref": "CloudOwner1http://conductor:8091/v1/plans/plan_id",
             "rel": "physical-location-id": "DLLSTX1A",self"
          }
     "service_instance_id": "21d5f3e8-e714-4383-8f99-cc480144505a",  ]
      ],
      "cloud_versionid": "3.0plan_id"
    }
  ]
}


 },
         

State - Template 

Code Block
languagejs
titleHAS Plan in Template State
collapsetrue
{
  "status": "template",
  "name": "Plan Name 1",
  "inventory_providerlinks": "aai", [
    [
      {
        "service_resource_idhref": "12345http://conductor:8091/v1/plans/plan_id",
        "rel": "self"
  "candidate": {   }
    ]
   ],
  "is_rehomeid": "falseplan_id",
}


State - Solving

Code Block
languagejs
titleHAS Plan in Solving state
collapsetrue
{
          "location_id"plans": "DLLSTX1A",[
      {
       "inventory_typestatus": "servicesolving",
      "name": "Plan Name 1",
      "candidate_idlinks": "21d5f3e8-e714-4383-8f99-cc480144505a",[
        [
       "host_id": "vgmux_host_name",  {
            "cloud_ownerhref": "CloudOwner1http://conductor:8091/v1/plans/plan_id",
              "location_typerel": "openstack-cloudself"

           }
        ]
 }     ],
   }       ]"id": "plan_id"
    }
  ]
}