...
Gliffy 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": "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 | ||||||
---|---|---|---|---|---|---|
| ||||||
--- 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 | ||||||
| ||||||
--- 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 | ||||||
---|---|---|---|---|---|---|
| ||||||
{ 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 | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "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 | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "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 | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "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 | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "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" } ] } |