...
Gliffy Diagram size 1200 name vCPEPoliciesAndInformationSources pagePin 18
Homing Workflow
...
SO - HAS API (R) - before retrieving homing policies
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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 | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "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": } }, "demands": { "vGMuxInfra": [ "service", { "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" } ] } ] } ] } } }, { "check_cloud_min_guaranteecapacity": { "type": "attributevim_fit", "demands": [ "vG" ], "properties": { "evaluatecontroller": {"multicloud", "request": { "cpu_min_guarantee "vCPU": true10, "mem_min_guarantee"Memory": true{ } "quantity": { } } },"get_param": "REQUIRED_MEM" { "check_cloud_capacity": null }, "typeunit": "vim_fitGB", "demands": [ }, "vGStorage": { ], "propertiesquantity": { "vim-controller "get_param": "multicloudREQUIRED_DISK", "request": { }, "vCPUunit": 10,"GB" "mem": { } } "quantity": {} } }, "optimization": { "get_paramminimize": "REQUIRED_MEM"{ "sum": [ }, { "unitdistance_between": "GB"[ }"customer_loc", "disk": { vGMuxInfra" ] "quantity": { }, { "getdistance_parambetween": "REQUIRED_DISK"[ }"customer_loc", "unitvG": "GB" }] } }] } ], "optimization": { "minimize": { "sum": [ { "distance_between": [ "customer_loc", "vGMuxInfra"} } |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
--- 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: "distance_between": [ - inventory_provider: aai "customer_loc",inventory_type: service attributes: equipment_type: "vG"_Mux customer_id: some_company ]excluded_candidates: - }candidate_id: 1ac71fb8-ad43-4e16-9459-c3f372b8236d existing_placement: ] - } } } | ||||||
Code Block | ||||||
| ||||||
--- 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_loccandidate_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: latitudetype: zone get_paramdemands: customer_lat - longitude:vGMuxInfra - vG get_param: customer_long brg_locproperties: pnf_host_name:qualifier: same get_param: pnf_id demandscategory: region hpa_constraint: vGMuxInfra type: hpa - inventory_providerdemands: aai inventory_type: service- vG attributesproperties: equipment_type: vG_Mux evaluate: - customer_idflavorLabel: someflavor_label_company1 excluded_candidates: - candidate_id: 1ac71fb8-ad43-4e16-9459-c3f372b8236dflavorProperties: existing_placement: - candidate_id: 21d5f3e8-e714-4383-8f99-cc480144505ahpa-feature: basicCapabilities vG: - inventory_provider: aai inventory_typehpa-version: cloud constraints:v1 - constraint_vgmux_customer: type: distance_to_location demandsarchitecture: - vGMuxInfra generic properties: distancehpa-feature-attributes: "< 100 km" location: customer_loc - colocation:hpa-attribute-key: numVirtualCpu type: zone demands: hpa-attribute-value: vGMuxInfra'4' - vG properties: operator: "=" qualifier: same category: region - hpa_constraint:-attribute-key: virtualMemSize type: hpa demands: hpa-attribute-value: vG'4' properties: evaluate: operator: "=" - label: flavor_label_1 unit: features:GB - hpa-feature: basicCapabilitiesnuma hpa-version: v1 architecture: generic hpa-feature-attributes: - hpa-attribute-key: numVirtualCpunumaNodes hpa-attribute-value: '42' operator: "=" - hpa-attribute-key: virtualMemSizenumaCpu-0 hpa-attribute-value: '42' operator: "=" unit: GB - hpa-featureattribute-key: numanumaCpu-1 hpa-versionattribute-value: v1'4' architectureoperator: generic"=" - hpa-featureattribute-attributeskey: numaMem-0 - hpa-attribute-keyvalue: numaNodes'2' hpa-attribute-valueoperator: '2'"=" operatorunit: "="GB - hpa-attribute-key: numaCpunumaMem-01 hpa-attribute-value: '24' operator: "=" unit: GB - hpa-attribute-keyfeature: numaCpu-1cpuPinning hpa-attribute-valueversion: '4'v1 operatorarchitecture: "="generic - hpa-attributefeature-keyattributes: numaMem-0 - hpa-attribute-valuekey: '2'logicalCpuThreadPinningPolicy operatorhpa-attribute-value: "="prefer unitoperator: GB"=" - hpa-attribute-key: numaMem-1logicalCpuPinningPolicy hpa-attribute-value: '4'dedicated operator: "=" - flavorLabel: flavor_label_2 unitflavorProperties: GB - hpa-feature: cpuPinningbasicCapabilities hpa-version: v1 architecture: generic hpa-feature-attributes: - hpa-attribute-key: logicalCpuThreadPinningPolicynumVirtualCpu hpa-attribute-value: prefer'8' operator: "=" - hpa-attribute-key: logicalCpuPinningPolicyvirtualMemSize hpa-attribute-value: dedicated'16' operator: "=" - label: flavor_label_2 featuresunit: GB - hpa-feature: basicCapabilitiesnuma hpa-version: v1 architecture: generic hpa-feature-attributes: - hpa-attribute-key: numVirtualCpu numaNodes hpa-attribute-value: '2' operator: "=" - hpa-attribute-key: numaCpu-0 hpa-attribute-value: '82' operator: "=" - hpa-attribute-key: virtualMemSizenumaCpu-1 hpa-attribute-value: '164' operator: "=" unit: GB - hpa-attribute-featurekey: numanumaMem-0 hpa-attribute-versionvalue: v1'2' architecture operator: generic"=" hpa-feature-attributes: unit: GB - hpa-attribute-key: numaNodesnumaMem-1 hpa-attribute-value: '24' operator: "=" - hpa-attribute-key: numaCpu-0 hpa-attribute-value: '2' unit: GB - operatorhpa-feature: "="memoryPageSize - hpa-attribute-keyversion: numaCpu-1v1 hpa-attribute-valuearchitecture: '4'generic operator: "="hpa-feature-attributes: - hpa-attribute-key: numaMem-0memoryPageSize hpa-attribute-value: '2' operator: "=" unit: GB check_cloud_capacity: - hpa-attribute-key: numaMem-1type: vim_fit demands: hpa-attribute-value: '4' vG properties: controller: multicloud operator: "=" request: unitvCPU: GB10 - hpa-feature: memoryPageSizeMemory: hpa-versionquantity: v1 architectureget_param: genericREQUIRED_MEM hpa-feature-attributes:unit: GB - hpa-attribute-key: memoryPageSizeStorage: hpa-attribute-value: '2'quantity: operatorget_param: "=" REQUIRED_DISK unit: GB - cloud_min_guaranteeoptimization: type: attribute demands: - vG minimize: propertiessum: - evaluatedistance_between: - cpu_min_guarantee: true customer_loc - vGMuxInfra mem_min_guarantee: true - checkdistance_cloud_capacitybetween: type:- vimcustomer_fitloc demands: - vG |
HAS Homing Response
State - Done
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ properties: "plans": [ controller: multicloud{ request:"status": "done", vCPU"id": 10"plan_id", Memory: "name": "Plan Name 1", quantity:"links": [ [ get_param: REQUIRED_MEM { unit: GB Storage:"href": "http://conductor:8091/v1/plans/plan_id", quantity: "rel": "self" } get_param: REQUIRED_DISK ] unit: GB optimization: ], minimize: sum"recommendations": [ - distance_between: { - customer_loc - vGMuxInfra"vG": { - distance_between: - customer_loc"inventory_provider": "aai", - vG |
HAS Homing Response
State - Done:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "planscandidate": [ { "status": "solved", "candidate_id": "plan_idDLLSTX1A", "name": "Plan Name 1", "linkscloud_owner": ["CloudOwner1", [ "inventory_type": "cloud", { "hreflocation_id": "http://conductor:8091/v1/plans/plan_idDLLSTX1A", "rellocation_type": "selfopenstack-cloud" } ]}, ], "recommendationsattributes": [ { { "vGflavors": { "inventoryflavor_label_provider1": "aaivim_flavor_X", "candidateflavor_label_2": {"vim_flavor_Y" "candidate_id": "DLLSTX1A"}, "cloud_owner": "CloudOwner1", "inventory_typephysical-location-id": "cloudDLLSTX1A", "location_cloud_version": "3.0", "vim-id": "CloudOwner1_DLLSTX1A", } "location_type": "openstack-cloud" } }, { "attributes "vGMuxInfra": { "flavorsattributes": { "flavorhost_label_1id": "vimvgmux_flavorhost_Xname", "flavorcloud_label_2owner": "vim_flavor_YCloudOwner1", }"physical-location-id": "DLLSTX1A", "cloudservice_instance_ownerid": "CloudOwner121d5f3e8-e714-4383-8f99-cc480144505a", "physical-location-idcloud_version": "DLLSTX1A3.0", "cloud_versionvim-id": "3.0CloudOwner1_DLLSTX1A" }, } "inventory_provider": "aai", }, {"service_resource_id": "12345", "vGMuxInfracandidate": { "attributesis_rehome": {"false", "hostlocation_id": "vgmux_host_nameDLLSTX1A", "cloudinventory_ownertype": "CloudOwner1service", "physical-location-candidate_id": "DLLSTX1A21d5f3e8-e714-4383-8f99-cc480144505a", "servicehost_instance_id": "21d5f3e8-e714-4383-8f99-cc480144505avgmux_host_name", "cloud_versionowner": "3.0CloudOwner1", }, "inventorylocation_providertype": "aaiopenstack-cloud", "service_resource_id": "12345", } } "candidate": {} ] } ] } |
State - Error
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "is_rehomeplans": "false", [ { "location_idstatus": "DLLSTX1Aerror", "message": "Some error message", "inventory_typename": "servicePlan 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" } ] } |
State -
...
Template
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "plans": [ { "status": "errortemplate", "message": "Some error message", "name": "Plan Name 1", "links": [ [ { "href": "http://conductor:8091/v1/plans/plan_id", "rel": "self" } ] ], "id": "plan_id" } ] } |
State -
...
Solving
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "plans": [ { "status": "templatesolving", "name": "Plan Name 1", "links": [ [ { "href": "http://conductor:8091/v1/plans/plan_id", "rel": "self" } ] ], "id": "plan_id" } ] } |