Versions Compared

Key

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

...

Homing Specification Guide

Updated: 10 October 201727 Mar 2018

This document describes the Homing Template format, used by the Homing service. It is a work in progress and subject to frequent revision.

...

Homing templates are defined in YAML and follow the structure outlined below.

homing_template_version: 20172018-1002-1001
parameters:
  PARAMETER_DICT
locations:
  LOCATION_DICT
demands:
  DEMAND_DICT
constraints:
  CONSTRAINT_DICT
reservations:
  RESERVATION_DICT
optimization:
  OPTIMIZATION
  • homing_template_version: This key with value 20172016-1011-10 01 (or a later date) indicates that the YAML document is a Homing template of the specified version.
  • parameters: This section allows for specifying input parameters that have to be provided when instantiating the homing template. Typically, this section is used for providing runtime parameters (like SLA thresholds), which in turn is used in the existing homing policies. The section is optional and can be omitted when no input is required.
  • locations: This section contains the declaration of geographic locations. This section is optional and can be omitted when no input is required.
  • demands: This section contains the declaration of demands. This section with at least one demand should be defined in any Homing template, or the template would not really do anything when being instantiated.
  • constraints: This section contains the declaration of constraints. The section is optional and can be omitted when no input is required.
  • reservations: This section contains the declaration of required reservations. This section is optional and can be omitted when reservations are not required.
  • optimization: This section allows the declaration of an optimization. This section is optional and can be omitted when no input is required.

...

The value of homing_template_version tells HAS not only the format of the template but also features that will be validated and supported. Only one value is supported: 2017-10-10 in The following values are supported: "2016-11-01" or "2018-02-01" in the initial release of HAS.

homing_template_version: 20172018-1002-1001

Parameters

The parameters section allows for specifying input parameters that have to be provided when instantiating the template. Such parameters are typically used for providing runtime inputs (like SLA thresholds), which in turn is used in the existing homing policies. This also helps build reusable homing constraints where these parameters can be embedded design time, and it corresponding values can be supplied during runtime.

...