SLA Descriptors - sonata-nfv/tng-sla-mgmt GitHub Wiki
Overview
A SLA Template Descriptor, refers to the core SLA Template document that incorporates metrics, as specific objectives or quality attributes, parameters as well as expressions (i.e. rules) between parameters. The proposed YAML Schema , based on ISO/IEC DIS 19086-2, aims to specify the main “building blocks” of a SLA template and also present an expression (i.e. function) that allows a Service Provider to specify any metric included in a template (e.g. availability, response time, etc.)
Therefore, the main SLA Templates building block of the reference model are the following:
- root block with general descriptions
- sla_template block with details regarding the SLA Template and its objectives
Sections of the SLA Template Descriptor
Following, we discuss the various sections of a policy descriptor. The general descriptor section contains some of the mandatory fields that have to be present in each and every sla template descriptor.
General Descriptor Section
At the root block, we first have the mandatory fields, that describe and identify the sla template descriptor in a unique way.
- schema (optional) provides a link to the schema that is used to describe the sla template and can be used to validate the sla template descriptor file. This is related to the original JSON schema specification.
- name is the name of the sla template.
- vendor is the vendor of the sla template.
- version is the version of the sla template.
The general descriptor block also contains some optional components as outlined below.
- author (optional) describes the author of the sla template descriptor.
- description (optional) provides an arbitrary description of the sla template.
SLA Template Section
An SLA template descriptor has to include an sla_template block. The following three fields are mandatory:
- template_name - is the name of the SLA Template.
- offer_date - is the creation date of the template.
- expiration_date - is the expiration date of the template.
- provider_name - the network operator that provides the specific template (e.g. Telefonica)
- template_initiator - the initiator of the template (on behalf of the provider)
NS Section
An SLA template descriptor has to include at least one ns block as child of sla_template block. The ns block include the following:
- ns_uuid the uuid of the corresponding NS
- ns_name the name of the corresponding NS
- ns_vendor the vendor of the corresponding NS
- ns_version the version of the corresponding NS
- ns_description the description of the corresponding NS
Guarantee Terms Section
An SLA template descriptor has to include an array of guarantee terms for the corresponding NS (as a child of the ns block). The guaranteeTerms array include the following:
- guaranteeID the identifier of the guarantee term
- guarantee_name the name of the guarantee term
- guarantee_definition ta definition for the guarantee term
- guarantee_threshold the value of the guarantee term
- guarantee_operator the operator of the guarantee term expression
- guarantee_unit the unit of the guarantee term
- *guarantee_period
- target_slo that is an object describing in detail the guarantee term (monitoring period, expression etc.)
Licensing Section
An SLA template descriptor include an object which define the type of license for the Network Service described in th template. The Licensing object include the following:
- service_licence_type - the type of the license (Trial | Public | Private)
- service_licence_instances - the allowed NS instances per user and per license
- service_licence_period - - The license period.
- service_licence_expiration_date - the license expiration date
SLA Template Example - A Silver SLA Template
---
descriptor_schema: https://raw.githubusercontent.com/sonata-nfv/tng-schema/master/sla-template-descriptor/sla-template-schema.yml
name: silver-template-example
vendor: UPRC
version: '2.0'
sla_template:
template_name: Silver
offer_date: '2018-11-14T11:35:10Z'
expiration_date: '2019-11-14T11:35:10Z'
provider_name: Telefonica
template_initiator: Evgenia Kapassa
service:
ns_uuid: 0e69ccfd-d9ba-4439-99b8-cd4f2a059457
ns_name: ns-squid-haproxy
ns_vendor: eu.5gtango
ns_version: '0.2'
guaranteeTerms:
- guaranteeID: g
guarantee_name: Availability
guarantee_threshold: '98'
guarantee_operator: greater
guarantee_unit: "%"
guarantee_period: Daily
guarantee_definition: ''
target_slo:
- target_kpi: Downtime
target_value: 1728s
target_operator: less
target_duration: 10s
target_period: 24h
target_service_level: Downtime less 1728s
licenses:
service_based:
service_licence_type: Trial
allowed_service_instances: '10'
service_licence_period: 30 days
service_licence_expiration_date: '2018-12-14T11:35:10Z'