Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

...

Gliffy
size1200
namevCPEPoliciesAndInformationSources



Homing Workflow:



SO - HAS API (R) - before  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

...


  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
languagejs
titlevCPE Homing Template (JSON)
collapsetrue
{
  "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_loc": {
      "pnf_host_name": {
        "get_param": "pnf_id"
      }
    }
  },
  "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": [
            {
              "label": "flavor_label_1",
              "features": [
                {
                  "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": "="
                    }
                  ]
                }
              ]
            },
            {
              "label": "flavor_label_2",
              "features": [
                {
                  "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": {
        "type": "attribute",
        "demands": [
          "vG"
        ],
        "properties": {
          "evaluate": {
            "cpu_min_guarantee": true,
            "mem_min_guarantee": true
          }
        }
      }
    },
    {
      "check_cloud_capacity": null,
      "type": "vim_fit",
      "demands": [
        "vG"
      ],
      "properties": {
        "vim-controller": "multicloud",
        "request": {
          "vCPU": 10,
          "mem": {
            "quantity": {
              "get_param": "REQUIRED_MEM"
            },
            "unit": "GB"
          },
          "disk": {
            "quantity": {
              "get_param": "REQUIRED_DISK"
            },
            "unit": "GB"
          }
        }
      }
    }
  ],
  "optimization": {
    "minimize": {
      "sum": [
        {
          "distance_between": [
            "customer_loc",
            "vGMuxInfra"
          ]
        },
        {
          "distance_between": [
            "customer_loc",
            "vG"
          ]
        }
      ]
    }
  }
}


...