Skip to content

Commit

Permalink
Merge pull request #9 from mF2C/rosogon-patch-1
Browse files Browse the repository at this point in the history
Update SLA Management instructions
  • Loading branch information
Cristovao Cordeiro committed Apr 5, 2019
2 parents 545eeea + 0afdbae commit 2cff02b
Showing 1 changed file with 19 additions and 9 deletions.
28 changes: 19 additions & 9 deletions documentation/developer_guide/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -227,34 +227,44 @@ You also need to tell cau-client where the regional CAU and the leader agent CAU
Use of the SLA Management component
-----------------------------------

The SLA Management is a lightweight implementation of an SLA system, inspired by the WS-Agreement standard. It features (i) a REST interface to manage agreements, (ii) a background agreement assessment.
The SLA Management is a lightweight implementation of an SLA system, inspired by the WS-Agreement standard. It features (i) a REST interface to manage agreements, (ii) a background agreement assessment.

An agreement is represented by a simple JSON structure. An example is shown below:
To make use of the SLA Management on IT-1, you must install an agreement in the system. This agreement will be detected by the GUI when creating a service instance and will be associated to it.

An agreement is represented by a simple JSON structure. Below is the default agreement that you should install. This agreement will check that the service operations are executed in less than one second. Modify the constraint to allow different time threshold.

.. code-block:: bash
{
"name": "an-agreement-name",
"name": "*",
"details":{
"id": "2018-000234",
"type": "agreement",
"name": "an-agreement-name",
"name": "*",
"provider": { "id": "mf2c", "name": "mF2C Platform" },
"client": { "id": "a-client", "name": "A client" },
"creation": "2018-01-16T17:09:45Z",
"expiration": "2019-01-17T17:09:45Z",
"expiration": "2020-01-17T17:09:45Z",
"guarantees": [
{
"name": "TestGuarantee",
"constraint": "[execution_time] < 100"
"name": "*",
"constraint": "[execution_time] < 1000"
}
]
}
}
To install the agreement, type the following command, where $CIMI_URL is the URL of the CIMI server in the leader agent.
.. code-block:: bash
curl -X POST -d @agreement.json -H"Content-type:application/json" $CIMI_URL/api/agreement
Advance usage
~~~~~~~~~~~~~
The LifecycleManager is responsible, on a service instance creation, to generate an agreement and to start its assessment.
At the moment, the agreement generation is not available. For this reason, an agreement must be manually created on CIMI for each
service instance that needs to have an SLA.
At the moment, the agreement generation is not available. For this reason, you must install an agreement as explained above, which will be utilized when creating services using the GUI. If you plan to have different SLAs for the different services, an agreement must be manually created on CIMI for each service instance that needs to have an SLA. In this case, you must also modify the fields .name and .details.name of the agreement to match the name of an installed service. Install as many agreements as service kinds you want to observe.
Currently, the assessment only is able to evaluate execution_time metrics, which are retrieved from the service-operation-report
resource. The Distributed Execution Runtime (DER) stores instances of this resource when completing an operation. Any non-DER
Expand Down

0 comments on commit 2cff02b

Please sign in to comment.