Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

This document describes the Homing Template Specifications for residential vCPE. It is a work in progress and subject to frequent revision.


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]}
  • No labels