...
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", } } }, "demands": { "vGMuxInfra": [ { "inventory_provider": "aai", "inventory_type": "service""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"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", "cpu_min_guarantee"request": true,{ "mem_min_guarantee"vCPU": true10, }"Memory": { } }"quantity": { }, { "checkget_cloud_capacityparam": null, "REQUIRED_MEM" "type": "vim_fit" }, "demands "unit": ["GB" "vG" }, ], "propertiesStorage": { "vim-controller "quantity": "multicloud",{ "request": { "vCPU"get_param": 10,"REQUIRED_DISK" "mem": { }, "quantityunit": { "GB" } "get_param": "REQUIRED_MEM" } } } }, "optimization": { "minimize": { "unitsum": "GB"[ },{ "diskdistance_between": {[ "quantity": {customer_loc", "get_param": "REQUIRED_DISK""vGMuxInfra" },] }, "unit": "GB" { } }"distance_between": [ } } ]"customer_loc", "optimization": { "minimize": { "sumvG": [ { ] "distance_between": [} ] "customer_loc",} } } |
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: "vGMuxInfra"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: { "distance_between": [- candidate_id: 21d5f3e8-e714-4383-8f99-cc480144505a vG: - inventory_provider: aai inventory_type: cloud constraints: constraint_vgmux_customer: "customer_loc",type: distance_to_location demands: - vGMuxInfra "vG"properties: distance: "< 100 km" ] location: customer_loc }colocation: type: ]zone }demands: } } | ||||||
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 - vGMuxInfra - vG properties: qualifier: same category: region hpa_constraint: type: hpa demands: - get_param: customer_lat vG properties: longitudeevaluate: get_param- flavorLabel: customerflavor_label_long1 brg_loc: pnf_host_nameflavorProperties: get_param: pnf_id demands: - hpa-feature: basicCapabilities vGMuxInfra: - inventory_provider: aai inventory_typehpa-version: servicev1 attributes: equipment_typearchitecture: vG_Muxgeneric customer_id: some_company hpa-feature-attributes: excluded_candidates: - candidate_id: 1ac71fb8-ad43 hpa-4e16-9459-c3f372b8236d attribute-key: numVirtualCpu existing_placement: - candidate_id: 21d5f3e8hpa-e714-4383-8f99-cc480144505a vG: - inventory_provider: aai attribute-value: '4' inventory_type: cloud constraints: - constraint_vgmux_customer: typeoperator: distance_to_location "=" demands: - vGMuxInfrahpa-attribute-key: virtualMemSize properties: distance: "< 100 km" hpa-attribute-value: '4' location: customer_loc - colocation: typeoperator: zone"=" demands: - vGMuxInfra unit: -GB vG properties: - hpa-feature: numa qualifier: same category: region - hpa_constraint-version: v1 type: hpa demandsarchitecture: generic - vG propertieshpa-feature-attributes: evaluate: - - label: flavor_label_1 hpa-attribute-key: numaNodes features: hpa-attribute-value: '2' - hpa-featureoperator: basicCapabilities"=" - hpa-versionattribute-key: v1numaCpu-0 architecturehpa-attribute-value: generic'2' hpa-feature-attributes:operator: "=" - hpa-attribute-key: numVirtualCpunumaCpu-1 hpa-attribute-value: '4' operator: "=" - hpa-attribute-key: virtualMemSizenumaMem-0 hpa-attribute-value: '42' operator: "=" unit: GB - hpa-featureattribute-key: numanumaMem-1 hpa-versionattribute-value: v1'4' architecture operator: generic"=" hpa-feature-attributes: unit: GB - hpa-attribute-keyfeature: numaNodescpuPinning hpa-attribute-valueversion: '2'v1 architecture: operator: "="generic hpa-feature-attributes: - hpa-attribute-key: numaCpu-0logicalCpuThreadPinningPolicy hpa-attribute-value: '2'prefer operator: "=" - hpa-attribute-key: numaCpu-1logicalCpuPinningPolicy hpa-attribute-value: '4'dedicated operator: "=" - flavorLabel: flavor_label_2 flavorProperties: - hpa-attribute-keyfeature: numaMem-0basicCapabilities hpa-attribute-valueversion: '2'v1 operatorarchitecture: "="generic unit: GBhpa-feature-attributes: - hpa-attribute-key: numaMem-1numVirtualCpu hpa-attribute-value: '48' operator: "=" unit- hpa-attribute-key: GBvirtualMemSize - hpa-attribute-feature: cpuPinning value: '16' hpa-versionoperator: v1"=" architecture unit: genericGB - hpa-feature-attributes: numa - hpa-attribute-keyversion: logicalCpuThreadPinningPolicyv1 hpa-attribute-valuearchitecture: prefergeneric operator: "="hpa-feature-attributes: - hpa-attribute-key: logicalCpuPinningPolicynumaNodes hpa-attribute-value: dedicated'2' operator: "=" - label: flavor_label_2 features: - hpa-feature: basicCapabilities" - hpa-versionattribute-key: v1numaCpu-0 architecturehpa-attribute-value: generic'2' hpa-feature-attributes: operator: "=" - hpa-attribute-key: numVirtualCpunumaCpu-1 hpa-attribute-value: '84' operator: "=" - hpa-attribute-key: virtualMemSizenumaMem-0 hpa-attribute-value: '162' operator: "=" unit: GB - hpa-attribute-featurekey: numanumaMem-1 hpa-attribute-versionvalue: v1'4' architecture operator: generic"=" unit: GB - hpa-feature-attributes: memoryPageSize - hpa-attribute-keyversion: numaNodesv1 hpa-attribute-valuearchitecture: '2'generic operator: "="hpa-feature-attributes: - hpa-attribute-key: numaCpu-0memoryPageSize hpa-attribute-value: '2' operator: "=" - hpa-attribute-key: numaCpu-1 unit: GB check_cloud_capacity: type: vim_fit demands: hpa-attribute-value: '4' - vG properties: controller: multicloud operatorrequest: "=" vCPU: 10 - hpa-attribute-key: numaMem-0 Memory: hpa-attribute-value: '2'quantity: operatorget_param: "="REQUIRED_MEM unit: GB - hpa-attribute-key: numaMem-1Storage: hpa-attribute-value: '4'quantity: operatorget_param: "="REQUIRED_DISK unit: GB optimization: minimize: sum: - hpa-feature: memoryPageSizedistance_between: hpa-version: v1 - customer_loc - vGMuxInfra - architecturedistance_between: generic - customer_loc hpa-feature-attributes: - vG |
HAS Homing Response
State - Done
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "plans": [ - hpa-attribute-key: memoryPageSize { "status": "done", hpa-attribute-value: '2' "id": "plan_id", "name": "Plan Name 1", operator: "=links": [ [ unit: GB - cloud_min_guarantee: type: attribute{ demands: - vG properties:"href": "http://conductor:8091/v1/plans/plan_id", evaluate: cpu_min_guarantee"rel": true"self" mem_min_guarantee: true - check_cloud_capacity: } type: vim_fit demands:] - vG], properties"recommendations": [ controller: multicloud{ request: "vG": { vCPU: 10 Memory: "inventory_provider": "aai", quantity"candidate": { get"candidate_paramid": REQUIRED_MEM "DLLSTX1A", unit "cloud_owner": GB"CloudOwner1", Storage: "inventory_type": "cloud", quantity: get_param: REQUIRED_DISK"location_id": "DLLSTX1A", unit: GB optimization: minimize: sum: "location_type": "openstack-cloud" - distance_between: - customer_loc}, - vGMuxInfra - distance_between: "attributes": { - customer_loc - vG |
HAS Homing Response
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "plansflavors": [{ { "status": "solved", "idflavor_label_1": "planvim_flavor_idX", "name": "Plan Name 1", "linksflavor_label_2": ["vim_flavor_Y" [ }, { "cloud_owner": "CloudOwner1", "hrefphysical-location-id": "http://conductor:8091/v1/plans/plan_idDLLSTX1A", "cloud_version": "3.0", "relvim-id": "selfCloudOwner1_DLLSTX1A" } ] } ] }, "recommendations": [ { "vGMuxInfra": { "vGattributes": { "inventoryhost_providerid": "aaivgmux_host_name", "candidatecloud_owner": {"CloudOwner1", "candidate_physical-location-id": "DLLSTX1A", "cloud_owner": "CloudOwner1"service_instance_id": "21d5f3e8-e714-4383-8f99-cc480144505a", "inventorycloud_typeversion": "cloud3.0", "vim-id": "CloudOwner1_DLLSTX1A" "location_id": "DLLSTX1A" }, "locationinventory_typeprovider": "openstack-cloudaai", }"service_resource_id": "12345", "attributescandidate": { "flavorsis_rehome": {"false", "flavorlocation_label_1id": "vim_flavor_XDLLSTX1A", "flavorinventory_label_2type": "vim_flavor_Yservice", }"candidate_id": "21d5f3e8-e714-4383-8f99-cc480144505a", "cloudhost_ownerid": "CloudOwner1vgmux_host_name", "physical-location-idcloud_owner": "DLLSTX1ACloudOwner1", "cloudlocation_versiontype": "3.0openstack-cloud" } } }, {] "vGMuxInfra": { "attributes":} ] } |
State - Error
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "plans": [ { "status": "error", "host_idmessage": "vgmux_host_nameSome error message", "name": "Plan Name 1", "cloud_ownerlinks": "CloudOwner1",[ [ "physical-location-id": "DLLSTX1A", { "service_instance_idhref": "21d5f3e8-e714-4383-8f99-cc480144505ahttp://conductor:8091/v1/plans/plan_id", "cloud_versionrel": "3.0self" } },] ], "inventory_providerid": "aaiplan_id", } ] } |
State - Template
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "status": "template", "service_resource_idname": "12345Plan Name 1", "links": [ [ { "candidatehref": { "http://conductor:8091/v1/plans/plan_id", "is_rehome"rel": "falseself", } ] ], "location_id": "plan_id" } |
State - Solving
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{DLLSTX1A", "plans": [ { "inventory_typestatus": "servicesolving", "name": "Plan Name 1", "candidate_id"links": "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" } ] } |