Commit 4d447307 authored by Spiros Koulouzis's avatar Spiros Koulouzis

define basic policies

parent d8292d16
tosca_definitions_version: tosca_simple_yaml_1_1
policy_types:
tosca.policies.root:
description: From 'http://docs.oasis-open.org/tosca/TOSCA/v1.0/os/TOSCA-v1.0-os.html#_Toc356403653': Non-functional behavior or quality-of-services are defined in TOSCA by means of policies. A Policy can express such diverse things like monitoring behavior, payment conditions, scalability, or continuous availability.
A Node Template can be associated with a set of Policies collectively expressing the non-functional behavior or quality-of-services that each instance of the Node Template will expose. Each Policy specifies the actual properties of the non-functional behavior, like the concrete payment information (payment period, currency, amount etc) about the individual instances of the Node Template.
Policy Templates provide actual values of properties of the types defined by Policy Types. For example, a Policy Template for monthly payments for US customers will set the “payment period” property to “monthly” and the “currency” property to “US$”, leaving the “amount” property open. The “amount” property will be set when the corresponding Policy Template is used for a Policy within a Node Template. Thus, a Policy Template defines the invariant properties of a Policy, while the Policy sets the variant properties resulting from the actual usage of a Policy Template in a Node Template.
tosca.policies.Requirement.Network.connection:
description: Connection Requirement
derived_from: tosca.policies.Root
properties:
ip:
type: string
description: IP and Netmask (e.g. 10.0.0.1/8) that should be reachable from the container.
tosca.policies.Requirement.Location:
description: Location Requirement
derived_from: tosca.policies.Root
properties:
desired_lat:
type: double
description: desired latitude coordinates of container
desired_lon:
type: double
description: desired longitude coordinates of container
min_distance:
type: double
description: the minimum accepted distance from the desired location
tosca.policies.Requirement.Network.Bandwidth:
description: Bandwidth Requirement
derived_from: tosca.policies.Root
properties:
download_speed:
type: integer
description: max download speed in bit/s
upload_speed:
type: integer
description: max upload speed bit/s
target:
type: string
description: target host or IP to download or upload data
tosca.policies.Container.Scale:
description: spawn new container instance when a specified metric is grater or less than a threshold
derived_from: tosca.policies.Root
properties:
threshold:
type: double
description: threshold to spawn new container
condition:
type: string
description: grater (gt) or less (lt) than the set threshold
metric_name:
type: string
description: the metric to monitor
node_name:
type: string
description: the container to scale (should be type tosca.nodes.Container)
tosca.policies.VM.Scale:
description: spawn new container instance when a specified metric is grater or less than a threshold
derived_from: tosca.policies.Root
properties:
threshold:
type: double
description: threshold to spawn new container
condition:
type: string
description: grater (gt) or less (lt) than the set threshold
metric_name:
type: string
description: the metric to monitor
node_name:
type: string
description: the container to scale (should be type tosca.nodes.VM)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment