This document describes the Homing Template Specifications for residential vCPE. It is a work in progress and subject to frequent revision.
vCPE Service Model:
Homing Policies and information sources relevant to the policies:
Homing Workflow:
SO - HAS API (R) - before retrieving homing policies
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
- 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
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
# Homing Specification Version
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
# List of geographical locations
locations:
customer_loc:
latitude: {get_param: customer_lat}
longitude: {get_param: customer_long}
# 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:
- candidate_id:
1ac71fb8-ad43-4e16-9459-c3f372b8236d
existing_placement:
- candidate_id: 21d5f3e8-e714-4383-8f99-cc480144505a
vG:
- inventory_provider: aai
inventory_type: service
attributes:
equipment_type: vG
modelId: vG_model_id
customer_id: some_company
excluded_candidates:
- candidate_id: 1ac71fb8-ad43-4e16-9459-c3f372b8236d
existing_placement:
- 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
demands: [vGMuxInfra]
properties:
distance: < 100 km
location: customer_loc
# cloud region co-location constraint
- colocation:
type: zone
demands: [vGMuxInfra, vG]
properties:
qualifier: same
category: region
# platform capability constraint
- numa_cpu_pin_capabilities:
type: attribute
demands: [vG]
properties:
evaluate:
vcpu_pinning: True
numa_topology: numa_spanning
# cloud provider constraint
- cloud_version_capabilities:
type: attribute
demands: [vGMuxInfra]
properties:
evaluate:
cloud_version: 1.11.84
cloud_provider: AWS
# Objective function to minimize
optimization:
minimize:
sum:
- {distance_between: [customer_loc, vGMuxInfra]}
- {distance_between: [customer_loc, vG]}