...
HAS Homing Specification (R') - after retrieving and translating homing policies
# Homing Specification Versionsample homing template for vCPE
homing_template_version: '2017-10-10
# Runtime order Parameters
'
parameters:
service_name: Residential vCPE
service_id: vcpe_service_id
customer_lat: 32.897480
customer_long: -97.040443
REQUIRED_MEM: 4
REQUIRED_DISK: 100
pnf_id: some_pnf_id
# List of geographical locations
locations:
customer_loc:
latitude: {get_param: customer_lat}
longitude: {get_param: customer_long}
brg_loc:
pnf_host_name: {get_param: pnf_id}
# List of VNFs (demands) to be homed
demands:
vGMuxInfra:
- inventory_provider: aai
inventory_type: service
attributes:
equipment_type: vG_Mux
customer_id: some_company
excluded_candidates:
orchestration-status: Activated
model-invariant-id: d4da47f8-df13-4c94-9ecf-5c417bf53e27
model-version-id: 80ca8d06- candidate_idd770-4803-9186-a0f8a3091fee
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: service
# distance between the customer and vGMuxInfra
- constraint_vgmux_customer:
type: distance_to_location
demands: [vGMuxInfra]
properties:
attributes: distance: < 100 km
equipment_type: vGlocation: customer_loc
# cloud region co-location constraint
- colocation:
type: zone
demands: [vGMuxInfra, vG]
modelId: vG_model_idproperties:
qualifier: same
category: region
# required HPA features, grouped by label.
# Each label corresponds to a flavor mapped by Conductor
- hpa_constraint:
type: hpa
demands: [vG]
properties:
evaluate:
- label: flavor_label_1
features:
- hpa-feature: basicCapabilities
hpa-version: v1
hpa-hw-arch: generic
hpa-feature-attributes:
- hpa-attr-key: numVirtualCpu
hpa-attr-value: "4"
operator: "="
- hpa-attr-key: virtualMemSize
hpa-attr-value: "4"
operator: "="
unit: "GB"
- hpa-feature: numa
hpa-version: v1
hpa-hw-arch: generic
hpa-feature-attributes:
- hpa-attr-key: numaNodes
hpa-attr-value: "2"
operator: "="
- hpa-attr-key: numaCpu-0
hpa-attr-value: [0, 1]
operator: "="
- hpa-attr-key: numaCpu-1
customer_id: some_company
hpa-attr-value: [2, 3, 4, 5]
excluded_candidates:
operator: "="
- hpa-attr-key: numaMem- candidate_id: 1ac71fb8-ad43-4e16-9459-c3f372b8236d
existing_placement:
0
hpa-attr-value: "2"
operator: "="
unit: "GB"
- hpa-attr-key: numaMem-1
hpa-attr-value: "4"
operator: "="
unit: "GB"
- candidate_id: 21d5f3e8-e714-4383-8f99-cc480144505a
- inventory_provider: aai
inventory_type: cloud
# List of homing policies (constraints)
constraints:
# distance constraint
- constraint_vgmux_customer:
type: distance_to_location - hpa-feature: cpuPinning
hpa-version: v1
hpa-hw-arch: generic
hpa-feature-attributes:
- hpa-attr-key: logicalCpuThreadPinningPolicy
hpa-attr-value: prefer
operator: "="
- hpa-attr-key: logicalCpuPinningPolicy
hpa-attr-value: dedicated
operator: "="
- label: flavor_label_2
features:
- hpa-feature: basicCapabilities
hpa-version: v1
hpa-hw-arch: generic
hpa-feature-attributes:
- hpa-attr-key: numVirtualCpu
hpa-attr-value: "8"
operator: "="
- hpa-attr-key: virtualMemSize
hpa-attr-value: "16"
operator: "="
unit: "GB"
- hpa-feature: numa
hpa-version: v1
demands: [vGMuxInfra] hpa-hw-arch: generic
hpa-feature-attributes:
properties: - hpa-attr-key: numaNodes
distance: < 100 km
hpa-attr-value: "2"
location operator: customer_loc
"="
# cloud region- co-location constraint
hpa-attr-key: numaCpu-0
hpa- colocation:
type: zoneattr-value: [0, 1]
operator: "="
- hpa-attr-key: numaCpu-1
demands hpa-attr-value: [vGMuxInfra2, 3, 4, vG]5]
operator: "="
- hpa-attr-key: numaMem-0
properties: hpa-attr-value: "2"
qualifier operator: same"="
category unit: region
"GB"
# platform capability constraint
- hpa-attr-key: numaMem-1
hpa- numa_cpu_pin_capabilities:
type: attribute
attr-value: "4"
operator: "="
unit: "GB"
- hpa-feature: memoryPageSize
demandshpa-version: [vG]v1
properties: hpa-hw-arch: generic
evaluate hpa-feature-attributes:
vcpu_pinning- hpa-attr-key: TruememoryPageSize
numa_topology: numa_spanning
hpa-attr-value: "2"
# cloud provider constraint operator: "="
unit: "GB"
# min guarantee constraints
- cloud_versionmin_capabilitiesguarantee:
type: attribute
demands: [vG]
properties:
evaluate:
cpu_min_guarantee: true
mem_min_guarantee: true
# check capacity
- check_cloud_capacity:
type: vim_fit
demands: [vGMuxInfravG]
properties:
vim-controller: multicloud
propertiesrequest:
vCPU: evaluate10
mem:
quantity: cloud_version: 1.11.84{get_param: REQUIRED_MEM}
unit: GB
disk:
cloud_provider: AWS quantity: {get_param: REQUIRED_DISK}
unit: GB
# Objectiveobjective function to minimize
optimization:
minimize:
sum:
- {distance_between: [
- customer_loc,
- vGMuxInfra]}
- {distance_between: [
- customer_loc,
- vG]}