Provider SLA Manager


Component description

The "Provider SLA manager" -or briefly "P-SLAM"- is the Contrail component responsible for SLA negotiation and enforcement at Provider level. It is made of two main modules: a negotiation module that handles the required SLA negotiation steps with the F-SLAM (initiate negotiation, negotiation, create agreement), and an enforcement module that enforces the agreement terms once the SLA has been agreed. The Contrail P-SLAM is deployed as a set of OSGI modules inside a customized version of the SLA@SOI platform.

Resources used

  • Contrail-customized SLA@SOI platform
  • VEP
  • Provisioning Manager
  • Monitoring component
  • Network ports 8080, 3306, 5005, 5672, 7077, 4444

Configuration

The following prerequisites must be satisfied before proceeding with the configuration of the component:

  • A working SLA@SOI platform, in the version customized for Contrail, including all the required software dependencies. Note that the P-SLAM packages comes already with all the auxiliary software needed to work, including the customized version of SLA@SOI with a default configuration for P-SLAM (if for some reasons you want to do the installation by yourself, follow these SLA@SOI installation instructions).
  • A VEP instance up & running. For testing purposes, a mocked VEP running on localhost:4444 can be used.

AMQP bus configuration

Configure the AMQP bus parameters (username, password, host, virtualhost) in:
$SLASOI_HOME/contrail-slamanager/provisioning-adjustment/eventbus.properties
Example (here username=slasoi, password=slasoi, host=10.15.5.52, vistualhost=/slasoi):
amqp_username=slasoi
amqp_password=slasoi
amqp_virtualhost=/slasoi
amqp_host=10.15.5.52
amqp_port=5672
amqp_resource=ProvisioningEventReader
amqp_pubsubservice=10.15.5.52
amqp_service=10.15.5.52
xmpp_channel=contrail

VEP configuration

The POC module of the SLAM requires a VEP endpoint to compute the available resources to negotiate.
VEP connection parameters are provided in the following file:
$SLASOI_HOME/contrail-slamanager/planning-optimization/planning_optimization.properties
Note: in the default configuration, $SLASOI_HOME=/opt/contrail/sla-at-soi/osgi-config

The file must contain the following parameters:
vep-username = username
vep-address = ipaddress
vep-port = port
vep-base-path = basepath ( e.g. api/cimi/ )
trustStore= keystore location
trustStorePassword= keystore password

the previous parameters allow to configure respectively: username, ip address, port, base path on which the vep is located, keystore location and password. If no VEP installation is available, it is possible to use a mock version of VEP provided by the package vepMock. Since vepMock doesn't implement security (only http) you should comment the last two lines (#trustStore, #trustStorePassword) inside the configuration file.

Provisioning Manager Endpoint configuration

Configure the URI_base variable, containing the Provisioning Manager endpoint, in file:
$SLASOI_HOME/contrail-slamanager/provisioning-adjustment/provisioning_adjustment.properties

OVF configuration

Configure the ovf_repo_path variable, containing the system path where to find the OVFs, in file:
$SLASOI_HOME/contrail-slamanager/provisioning-adjustment/provisioning_adjustment.properties
Users can specifies only filename to reference an OVF file inside the SLA Template, the PSLAM will try to search it inside the ovf_repo_path configured.

Prerequisites for SLAM usage

The following prerequisites must be satisfied in order to use P-SLAM:

  • An SLA User created in SLA@SOI by using the (Contrail customized) createUser service
  • A VEP instance up & running. Only for testing purposes, you may want to run a mocked VEP.

Starting and stopping P-SLAM

To start P-SLAM, use the startup script provided in the customized SLA@SOI installation, by default in /opt/contrail/sla-at-soi/
./start.sh

The script starts the Equinox OSGI framework, containing the SLA@SOI bundles and P-SLAM ones, and the syntax converter (a SLA@SOI component). If started successfully, a message containing the P-SLAM endpoint, similar to this, will appear in the OSGI console:
17:16:24,007 INFO  [SpringOsgiExtenderThread-47   ] ail.provider.main.beans.SkeletonSLAMBean  -
        *** :: start :: SkeletonSLAMBean >>
                [ID]                  ='CONTRAIL-SLAMANAGER-1-1'
                [EPR]                 ='http://10.15.5.116:8080/services/contrailNegotiation?wsdl'
                [GroupID]             ='GLOBAL'
                [wsPrefix]            ='contrail'
                [Gslam-services]      ='org.slasoi.gslam.main.activator.impl.GenericSLAManagerUtilsImpl@1c2b949'
                SLATemplateRegistry   ='org.slasoi.gslam.templateregistry.SLATemplateRegistryImpl@116610b'
                SLARegistry           ='org.slasoi.gslam.slaregistry.impl.SLARegistryImpl@3d3ea9'
                ProtocolEngine        ='org.slasoi.gslam.protocolengine.ProtocolEngineServices@dcf88e'
                SyntaxConverters      ='
                                SLASOISyntaxConverter=org.slasoi.gslam.syntaxconverter.SyntaxConverter@1424fcc
                Authorization         ='org.slasoi.gslam.core.authorization.BasicAuthorization@84f45e'
                ServiceAdvertisement  ='org.slasoi.sa.pss4slam.ServiceAdvertisementBroker@1e76a9'
                MonitorManager        ='org.slasoi.gslam.monitoring.manager.impl.MonitoringManager@c76b7d'
                PlanningOptimization  ='org.ow2.contrail.provider.poc.impl.PlanningOptimizationImpl@61fdcb'
                ProvisioningAdjustment='org.ow2.contrail.provider.pac.impl.ProvisioningAdjustmentImpl@15d3444'

Also, the bundles involved with provider SLA management are the last five (contrail* + ovf-parser-bundle). They must be all in ACTIVE state:
167     ACTIVE      contrail-core_0.1.0.SNAPSHOT
168     ACTIVE      contrail-slam4osgi_0.1.0.SNAPSHOT
169     ACTIVE      contrail-poc_0.1.0.SNAPSHOT
170     ACTIVE      contrail-pac_0.1.0.SNAPSHOT
171     ACTIVE      ovf-parser-bundle_1.0.0.SNAPSHOT

To stop P-SLAM, type "close" from the OSGI console:
...
171     ACTIVE      contrail-pac_0.1.0.SNAPSHOT
172     ACTIVE      ovf-parser_1.0.0.SNAPSHOT
osgi> close

Public API - provider-sla-manager

List of Contrail provider SLA manager sections:

  • Negotiation
  • Querying SLAs
  • Enforcement

Section: Negotiation

Negotiation process is made of 3 steps:

  • initiateNegotiation 
  • negotiation 
  • createAgreement

Each step is performed by the customer (in Contrail, it is the Federation) by invoking web services calls.

Web service URL

The HTTP port of the web services is 8080 and the endopoint for the SOAP request is the following:
/services/contrailNegotiation?wsdl
The URL is the same for all the 3 steps.
Example of URL (here 10.15.5.118 is the server where SLA@SOI platform runs):
http://10.15.5.118:8080/services/contrailNegotiation?wsdl

initiateNegotiation web service

Description

Initiate a new SLA negotiation.

Parameters
  • slaTemplate: The SLA template chosen by the customer. Customer and Provider actors are identified in the SLA template itself, inside the SLA@SOI Party element.
    • Provider endpoint. In the enclosed SLA template, the Provider endpoint (value of "http://www.slaatsoi.org/slamodel#gslam_epr" SLA@SOI key) must match with the endpoint in use. The Provider party is identified by the SLA@SOI "http://www.slaatsoi.org/slamodel#provider" Role.
      Example for an P-SLAM running on host 10.15.5.118:
      <slasoi:Party>
      <slasoi:Text/>
      <slasoi:Properties>
      <slasoi:Entry>
      <slasoi:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slasoi:Key>
      <slasoi:Value>http://10.15.5.118:8080/services/contrailNegotiation?wsdl</slasoi:Value>
      </slasoi:Entry>
      </slasoi:Properties>
      <slasoi:ID>ContrailProvider</slasoi:ID>
      <slasoi:Role>http://www.slaatsoi.org/slamodel#provider</slasoi:Role>
      </slasoi:Party>
Return Value
  • return: A hexadecimal code representing the SLA negotiation session ID.
Request example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.syntaxconverter.gslam.slasoi.org">
  <soapenv:Header/>
  <soapenv:Body>
     <web:initiateNegotiation>
        <slaTemplate>
<![CDATA[
<slasoi:SLATemplate xmlns:slasoi="http://www.slaatsoi.eu/slamodel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.slaatsoi.eu/slamodel file:///C:/SLA@SOI/slasoi.xsd">
        <!--
  This example references an OVF file (OvfDEMO.ovf) including
  - a single VirtualSystem (OVF id: ubu1, SLA id: OVF-Item-ubu1, var: VM_of_type_ubu1) and
  Properties (defined by federation core):
  - ProvidersList = the list of cloud providers to be considered during the negotiation at federation level
  - Criteria = the user criteria used to select the best provider
  - UserUUID = federation UUID of the user
  - AppUUID = UUID of the Application including this SLA
  Guarantees on VM_of_type_ubu1:
  - vm_cores >= 1
  - memory >= 2Gb
  - cpu_speed = 2GHz
  - reservation = 10
  - co_location_rack = true
  - not_co_location_host = true
  - location = (FR or IT)
  Application QoP guarantees:
  - minimum_loa = 3
  Custom actions:
  - method manageADD(Number, VirtualSystem) of class org.ow2.contrail.provider.pac.action.ViolationAction
  - executed when vm_cpu_load(VM_of_type_ubu1)>1.5
-->
<slasoi:Text/>
<slasoi:Properties>
<!-- -This entry describes the list of cloud providers to be considered during the negotiation at federation level -->
<slasoi:Entry>
<slasoi:Key>ProvidersList</slasoi:Key>
<slasoi:Value>
CloudProvider05 = http://10.15.8.2:8080/services/contrailNegotiation?wsdl,
CloudProvider2 = http://10.15.8.23:8080/services/contrailNegotiation?wsdl,
CloudProviderOpenStack = http://10.15.8.110:8080/services/contrailNegotiation?wsdl
</slasoi:Value>

</slasoi:Entry>
<!-- -This entry describes the criteria be used during the negotiation at federation level -->
<slasoi:Entry>
<slasoi:Key>Criteria</slasoi:Key>
<slasoi:Value>
vm_cores = 0.8,
memory = 0.3,
price = 0.9
</slasoi:Value>
</slasoi:Entry>
<!-- -This entry contains the UUID of the User -->
<slasoi:Entry>
<slasoi:Key>UserUUID</slasoi:Key>
<slasoi:Value>caa6e102-8ff0-400f-a120-23149326a936</slasoi:Value>
</slasoi:Entry>
<!-- -This entry contains the UUID of the Application including this SLA -->
<slasoi:Entry>
<slasoi:Key>AppUUID</slasoi:Key>
<slasoi:Value>6ad216a6-0679-4f2f-9340-b00d12fe051e</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>
<slasoi:UUID>Contrail-SLAT-NewFeatures-10</slasoi:UUID>
<slasoi:ModelVersion>1</slasoi:ModelVersion>
<slasoi:Party>
<slasoi:Text/>
<slasoi:Properties>
<slasoi:Entry>
<slasoi:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slasoi:Key>
<slasoi:Value>http://10.15.5.118:8080/services/contrailNegotiation?wsdl</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>
<slasoi:ID>ContrailProvider</slasoi:ID>
<slasoi:Role>http://www.slaatsoi.org/slamodel#provider</slasoi:Role>
</slasoi:Party>
<slasoi:Party>
<slasoi:Text/>
<slasoi:Properties>
<slasoi:Entry>
<slasoi:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slasoi:Key>
<slasoi:Value>http://customerEndpoint:8080/services/contrailNegotiation?wsdl</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>
<!-- This is the SLA@SOI user ID -->
<slasoi:ID>ContrailCustomer</slasoi:ID>
<slasoi:Role>http://www.slaatsoi.org/slamodel#customer</slasoi:Role>
</slasoi:Party>
<slasoi:InterfaceDeclr>
<slasoi:Text>Interface to specific OVF item</slasoi:Text>
<slasoi:Properties>
<slasoi:Entry>
<slasoi:Key>OVF_URL</slasoi:Key>
<!-- URL of the OVF file containing the OVF item indicated by this Interface
Declaration -->
<slasoi:Value>OvfDEMO.ovf</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>
<slasoi:ID>OVF-Item-ubu1</slasoi:ID>
<slasoi:ProviderRef>ContrailProvider</slasoi:ProviderRef>
<slasoi:Endpoint>
<slasoi:Text/>
<slasoi:Properties>
<slasoi:Entry>
<slasoi:Key>OVF_VirtualSystem_ID</slasoi:Key>
<slasoi:Value>ubu1</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>
<slasoi:ID>ubu1-VM-Type</slasoi:ID>
<slasoi:Location>VEP-ID</slasoi:Location>
<slasoi:Protocol>http://www.slaatsoi.org/slamodel#HTTP</slasoi:Protocol>
</slasoi:Endpoint>
<slasoi:Interface>
<slasoi:InterfaceResourceType>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Name>OVFAppliance</slasoi:Name>
</slasoi:InterfaceResourceType>
</slasoi:Interface>
</slasoi:InterfaceDeclr>
<slasoi:InterfaceDeclr>
<slasoi:Text>Interface of method to be invoked</slasoi:Text>
<slasoi:Properties/>
<slasoi:ID>UpscalingInterface</slasoi:ID>
<slasoi:ProviderRef>ContrailCustomer</slasoi:ProviderRef>
<slasoi:Endpoint>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:ID>UpscalingEndpoint</slasoi:ID>
<slasoi:Location>non so dove sia</slasoi:Location>
<slasoi:Protocol>http://www.slaatsoi.org/slamodel#SOAP</slasoi:Protocol>
</slasoi:Endpoint>
<slasoi:Interface>
<slasoi:InterfaceSpec>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Name>org.ow2.contrail.provider.pac.action.ViolationAction</slasoi:Name>
<slasoi:Operation>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Name>manageADD</slasoi:Name>
<slasoi:Input>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Name>Number</slasoi:Name>
<slasoi:Auxiliary>false</slasoi:Auxiliary>
</slasoi:Input>
<slasoi:Input>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Name>VirtualSystem</slasoi:Name>
<slasoi:Auxiliary>false</slasoi:Auxiliary>
</slasoi:Input>
</slasoi:Operation>
</slasoi:InterfaceSpec>
</slasoi:Interface>
</slasoi:InterfaceDeclr>
<slasoi:AgreementTerm>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:ID>ubu1_Guarantees</slasoi:ID>
<slasoi:VariableDeclr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Var>VM_of_type_ubu1</slasoi:Var>
<slasoi:Expr>
<slasoi:ValueExpr>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/coremodel#subset_of</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>OVF-Item-ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:ValueExpr>
</slasoi:Expr>
</slasoi:VariableDeclr>
<slasoi:VariableDeclr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Customisable>
<slasoi:Var>VAR_CPU_CORES_VS1</slasoi:Var>
<slasoi:Value>
<!-- The following is the default value -->
<slasoi:Value>2</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#integer</slasoi:Datatype>
</slasoi:Value>
<slasoi:Expr>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than_or_equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>1</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#integer</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Expr>
</slasoi:Customisable>
</slasoi:VariableDeclr>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>CPU_CORES_for_ubu1</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#vm_cores</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than_or_equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:ID>VAR_CPU_CORES_VS1</slasoi:ID>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>MEMORY_for_ubu1</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#memory</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than_or_equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>2048</slasoi:Value>
<slasoi:Datatype>http://www.slaatsoi.org/coremodel/units#MB</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>CPU_SPEED_for_ubu1</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#cpu_speed</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>2000</slasoi:Value>
<slasoi:Datatype>http://www.slaatsoi.org/coremodel/units#MHz</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>RESERVATION_for_ubu1</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#reserve</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>10</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#integer</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>Co_Location_Rack_for_ubu1</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#co_location_rack</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>true</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#boolean</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>Not_Co_Location_Host_for_ubu1</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#not_co_location_host</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>true</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#boolean</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>Location_for_ubu1</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#vs_location</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:CompoundDomainExpr>
<slasoi:Subexpression>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>FR</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#string</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Subexpression>
<slasoi:Subexpression>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>IT</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#string</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Subexpression>
<slasoi:LogicalOp>http://www.slaatsoi.org/coremodel#or</slasoi:LogicalOp>
</slasoi:CompoundDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
</slasoi:AgreementTerm>
<slasoi:AgreementTerm>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:ID>MinimumLOA_Agreement_Term</slasoi:ID>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>MinimumLoA_for_Application</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#minimum_loa</slasoi:Operator>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>3</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#integer</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
</slasoi:AgreementTerm>
<slasoi:AgreementTerm>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:ID>Upscaling</slasoi:ID>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>UpscalingCondition</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties>
<slasoi:Entry>
<slasoi:Key>type</slasoi:Key>
<slasoi:Value>warning</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>
<slasoi:Operator>http://www.slaatsoi.org/resources#vm_cpu_load</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>1.5</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#decimal</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Action>
<slasoi:ID>UpscalingAction</slasoi:ID>
<slasoi:ActorRef>http://www.slaatsoi.org/slamodel#customer</slasoi:ActorRef>
<slasoi:Policy>http://www.slaatsoi.org/slamodel#mandatory</slasoi:Policy>
<slasoi:Precondition>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/coremodel#violated</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ValueExpr>
<slasoi:ID>UpscalingCondition</slasoi:ID>
</slasoi:ValueExpr>
</slasoi:Parameter>
</slasoi:Precondition>
<slasoi:Postcondition>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Invocation>
<slasoi:Endpoint>UpscalingInterface/UpscalingEndpoint</slasoi:Endpoint>
<slasoi:Operation>UpscalingInterface/manageADD</slasoi:Operation>
<slasoi:Parameters>
<slasoi:Entry>
<slasoi:Key>Number</slasoi:Key>
<slasoi:Value>
<slasoi:ID>1</slasoi:ID>
</slasoi:Value>
</slasoi:Entry>
<slasoi:Entry>
<slasoi:Key>VirtualSystem</slasoi:Key>
<slasoi:Value>
<slasoi:ID>ubu1</slasoi:ID>
</slasoi:Value>
</slasoi:Entry>
</slasoi:Parameters>
</slasoi:Invocation>
</slasoi:Postcondition>
</slasoi:Action>
</slasoi:Guaranteed>
</slasoi:AgreementTerm>
</slasoi:SLATemplate>
]]>

</slaTemplate>
     </web:initiateNegotiation>
  </soapenv:Body>
</soapenv:Envelope>
Response example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Body>
     <ns:initiateNegotiationResponse xmlns:ns="http://webservice.syntaxconverter.gslam.slasoi.org">
        <return>9c6bfeae-9a11-4f16-8004-5e4dfa528678</return>
     </ns:initiateNegotiationResponse>
  </soapenv:Body>
</soapenv:Envelope>

negotiate web service

Description

Negotiate a SLA.

Parameters
  • slaTemplate: The SLA template proposed by the customer. It is the same slaTemplate used in initiateNegotiation web service.
  • negotiationID: The negotiation session ID returned by the invocation of initiateNegotiation web service. 
Return Value
  • return: A list of SLA Template counter-offers. Each SLA template represents the counter offers of the provider.
Request example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.syntaxconverter.gslam.slasoi.org">
  <soapenv:Header/>
  <soapenv:Body>
     <web:negotiate>
        <negotiationID>9c6bfeae-9a11-4f16-8004-5e4dfa528678</negotiationID>
          <slaTemplate>
<![CDATA[
<slasoi:SLATemplate xmlns:slasoi="http://www.slaatsoi.eu/slamodel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.slaatsoi.eu/slamodel file:///C:/SLA@SOI/slasoi.xsd">
        <!--
  This example references an OVF file (ovfDEMO.ovf) including
  - a single VirtualSystem (OVF id: ubu1, SLA id: OVF-Item-ubu1, var: VM_of_type_ubu1) and
  Properties (defined by federation core):
  - ProvidersList = the list of cloud providers to be considered during the negotiation at federation level
  - Criteria = the user criteria used to select the best provider
  - UserUUID = federation UUID of the user
  - AppUUID = UUID of the Application including this SLA
  Guarantees on VM_of_type_ubu1:
  - vm_cores >= 1
  - memory >= 2Gb
  - cpu_speed = 2GHz
  - reservation = 10
  - co_location_rack = true
  - not_co_location_host = true
  - location = (FR or IT)
  Application QoP guarantees:
  - minimum_loa = 3
  Custom actions:
  - method manageADD(Number, VirtualSystem) of class org.ow2.contrail.provider.pac.action.ViolationAction
  - executed when vm_cpu_load(VM_of_type_ubu1)>1.5
-->
<slasoi:Text/>
<slasoi:Properties>
<!-- -This entry describes the list of cloud providers to be considered during the negotiation at federation level -->
<slasoi:Entry>
<slasoi:Key>ProvidersList</slasoi:Key>
<slasoi:Value>
CloudProvider05 = http://10.15.8.2:8080/services/contrailNegotiation?wsdl,
CloudProvider2 = http://10.15.8.23:8080/services/contrailNegotiation?wsdl,
CloudProviderOpenStack = http://10.15.8.110:8080/services/contrailNegotiation?wsdl
</slasoi:Value>

</slasoi:Entry>
<!-- -This entry describes the criteria be used during the negotiation at federation level -->
<slasoi:Entry>
<slasoi:Key>Criteria</slasoi:Key>
<slasoi:Value>
vm_cores = 0.8,
memory = 0.3,
price = 0.9
</slasoi:Value>
</slasoi:Entry>
<!-- -This entry contains the UUID of the User -->
<slasoi:Entry>
<slasoi:Key>UserUUID</slasoi:Key>
<slasoi:Value>caa6e102-8ff0-400f-a120-23149326a936</slasoi:Value>
</slasoi:Entry>
<!-- -This entry contains the UUID of the Application including this SLA -->
<slasoi:Entry>
<slasoi:Key>AppUUID</slasoi:Key>
<slasoi:Value>6ad216a6-0679-4f2f-9340-b00d12fe051e</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>
<slasoi:UUID>Contrail-SLAT-NewFeatures-10</slasoi:UUID>
<slasoi:ModelVersion>1</slasoi:ModelVersion>
<slasoi:Party>
<slasoi:Text/>
<slasoi:Properties>
<slasoi:Entry>
<slasoi:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slasoi:Key>
<slasoi:Value>http://10.15.5.118:8080/services/contrailNegotiation?wsdl</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>
<slasoi:ID>ContrailProvider</slasoi:ID>
<slasoi:Role>http://www.slaatsoi.org/slamodel#provider</slasoi:Role>
</slasoi:Party>
<slasoi:Party>
<slasoi:Text/>
<slasoi:Properties>
<slasoi:Entry>
<slasoi:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slasoi:Key>
<slasoi:Value>http://customerEndpoint:8080/services/contrailNegotiation?wsdl</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>
<!-- This is the SLA@SOI user ID -->
<slasoi:ID>ContrailCustomer</slasoi:ID>
<slasoi:Role>http://www.slaatsoi.org/slamodel#customer</slasoi:Role>
</slasoi:Party>
<slasoi:InterfaceDeclr>
<slasoi:Text>Interface to specific OVF item</slasoi:Text>
<slasoi:Properties>
<slasoi:Entry>
<slasoi:Key>OVF_URL</slasoi:Key>
<!-- URL of the OVF file containing the OVF item indicated by this Interface
Declaration -->
<slasoi:Value>OvfDEMO.ovf</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>
<slasoi:ID>OVF-Item-ubu1</slasoi:ID>
<slasoi:ProviderRef>ContrailProvider</slasoi:ProviderRef>
<slasoi:Endpoint>
<slasoi:Text/>
<slasoi:Properties>
<slasoi:Entry>
<slasoi:Key>OVF_VirtualSystem_ID</slasoi:Key>
<slasoi:Value>ubu1</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>
<slasoi:ID>ubu1-VM-Type</slasoi:ID>
<slasoi:Location>VEP-ID</slasoi:Location>
<slasoi:Protocol>http://www.slaatsoi.org/slamodel#HTTP</slasoi:Protocol>
</slasoi:Endpoint>
<slasoi:Interface>
<slasoi:InterfaceResourceType>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Name>OVFAppliance</slasoi:Name>
</slasoi:InterfaceResourceType>
</slasoi:Interface>
</slasoi:InterfaceDeclr>
<slasoi:InterfaceDeclr>
<slasoi:Text>Interface of method to be invoked</slasoi:Text>
<slasoi:Properties/>
<slasoi:ID>UpscalingInterface</slasoi:ID>
<slasoi:ProviderRef>ContrailCustomer</slasoi:ProviderRef>
<slasoi:Endpoint>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:ID>UpscalingEndpoint</slasoi:ID>
<slasoi:Location>non so dove sia</slasoi:Location>
<slasoi:Protocol>http://www.slaatsoi.org/slamodel#SOAP</slasoi:Protocol>
</slasoi:Endpoint>
<slasoi:Interface>
<slasoi:InterfaceSpec>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Name>org.ow2.contrail.provider.pac.action.ViolationAction</slasoi:Name>
<slasoi:Operation>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Name>manageADD</slasoi:Name>
<slasoi:Input>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Name>Number</slasoi:Name>
<slasoi:Auxiliary>false</slasoi:Auxiliary>
</slasoi:Input>
<slasoi:Input>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Name>VirtualSystem</slasoi:Name>
<slasoi:Auxiliary>false</slasoi:Auxiliary>
</slasoi:Input>
</slasoi:Operation>
</slasoi:InterfaceSpec>
</slasoi:Interface>
</slasoi:InterfaceDeclr>
<slasoi:AgreementTerm>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:ID>ubu1_Guarantees</slasoi:ID>
<slasoi:VariableDeclr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Var>VM_of_type_ubu1</slasoi:Var>
<slasoi:Expr>
<slasoi:ValueExpr>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/coremodel#subset_of</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>OVF-Item-ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:ValueExpr>
</slasoi:Expr>
</slasoi:VariableDeclr>
<slasoi:VariableDeclr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Customisable>
<slasoi:Var>VAR_CPU_CORES_VS1</slasoi:Var>
<slasoi:Value>
<!-- The following is the default value -->
<slasoi:Value>2</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#integer</slasoi:Datatype>
</slasoi:Value>
<slasoi:Expr>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than_or_equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>1</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#integer</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Expr>
</slasoi:Customisable>
</slasoi:VariableDeclr>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>CPU_CORES_for_ubu1</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#vm_cores</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than_or_equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:ID>VAR_CPU_CORES_VS1</slasoi:ID>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>MEMORY_for_ubu1</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#memory</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than_or_equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>2048</slasoi:Value>
<slasoi:Datatype>http://www.slaatsoi.org/coremodel/units#MB</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>CPU_SPEED_for_ubu1</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#cpu_speed</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>2000</slasoi:Value>
<slasoi:Datatype>http://www.slaatsoi.org/coremodel/units#MHz</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>RESERVATION_for_ubu1</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#reserve</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>10</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#integer</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>Co_Location_Rack_for_ubu1</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#co_location_rack</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>true</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#boolean</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>Not_Co_Location_Host_for_ubu1</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#not_co_location_host</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>true</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#boolean</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>Location_for_ubu1</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#vs_location</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:CompoundDomainExpr>
<slasoi:Subexpression>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>FR</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#string</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Subexpression>
<slasoi:Subexpression>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>IT</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#string</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Subexpression>
<slasoi:LogicalOp>http://www.slaatsoi.org/coremodel#or</slasoi:LogicalOp>
</slasoi:CompoundDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
</slasoi:AgreementTerm>
<slasoi:AgreementTerm>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:ID>MinimumLOA_Agreement_Term</slasoi:ID>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>MinimumLoA_for_Application</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/resources#minimum_loa</slasoi:Operator>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>3</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#integer</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
</slasoi:AgreementTerm>
<slasoi:AgreementTerm>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:ID>Upscaling</slasoi:ID>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:State>
<slasoi:ID>UpscalingCondition</slasoi:ID>
<slasoi:Priority xsi:nil="true"/>
<slasoi:Constraint>
<slasoi:TypeConstraintExpr>
<slasoi:Value>
<slasoi:FuncExpr>
<slasoi:Text/>
<slasoi:Properties>
<slasoi:Entry>
<slasoi:Key>type</slasoi:Key>
<slasoi:Value>warning</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>
<slasoi:Operator>http://www.slaatsoi.org/resources#vm_cpu_load</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ID>VM_of_type_ubu1</slasoi:ID>
</slasoi:Parameter>
</slasoi:FuncExpr>
</slasoi:Value>
<slasoi:Domain>
<slasoi:SimpleDomainExpr>
<slasoi:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>1.5</slasoi:Value>
<slasoi:Datatype>http://www.w3.org/2001/XMLSchema#decimal</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
<slasoi:Guaranteed>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Action>
<slasoi:ID>UpscalingAction</slasoi:ID>
<slasoi:ActorRef>http://www.slaatsoi.org/slamodel#customer</slasoi:ActorRef>
<slasoi:Policy>http://www.slaatsoi.org/slamodel#mandatory</slasoi:Policy>
<slasoi:Precondition>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Operator>http://www.slaatsoi.org/coremodel#violated</slasoi:Operator>
<slasoi:Parameter>
<slasoi:ValueExpr>
<slasoi:ID>UpscalingCondition</slasoi:ID>
</slasoi:ValueExpr>
</slasoi:Parameter>
</slasoi:Precondition>
<slasoi:Postcondition>
<slasoi:Text/>
<slasoi:Properties/>
<slasoi:Invocation>
<slasoi:Endpoint>UpscalingInterface/UpscalingEndpoint</slasoi:Endpoint>
<slasoi:Operation>UpscalingInterface/manageADD</slasoi:Operation>
<slasoi:Parameters>
<slasoi:Entry>
<slasoi:Key>Number</slasoi:Key>
<slasoi:Value>
<slasoi:ID>1</slasoi:ID>
</slasoi:Value>
</slasoi:Entry>
<slasoi:Entry>
<slasoi:Key>VirtualSystem</slasoi:Key>
<slasoi:Value>
<slasoi:ID>ubu1</slasoi:ID>
</slasoi:Value>
</slasoi:Entry>
</slasoi:Parameters>
</slasoi:Invocation>
</slasoi:Postcondition>
</slasoi:Action>
</slasoi:Guaranteed>
</slasoi:AgreementTerm>
</slasoi:SLATemplate>
]]>

</slaTemplate>
     </web:negotiate>
  </soapenv:Body>
</soapenv:Envelope>
Response example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Body>
     <ns:negotiateResponse xmlns:ns="http://webservice.syntaxconverter.gslam.slasoi.org" xmlns:ax2281="http://negotiation.core.gslam.slasoi.org/xsd">
        <return><![CDATA[<slam:SLATemplate xmlns:slam="http://www.slaatsoi.eu/slamodel"><slam:Text/><slam:Properties><slam:Entry><slam:Key>ProvidersList</slam:Key><slam:Value>CloudProvider05 = http://10.15.8.2:8080/services/contrailNegotiation?wsdl,
CloudProvider2 = http://10.15.8.23:8080/services/contrailNegotiation?wsdl,
CloudProviderOpenStack = http://10.15.8.110:8080/services/contrailNegotiation?wsdl</slam:Value></slam:Entry><slam:Entry><slam:Key>AppUUID</slam:Key><slam:Value>6ad216a6-0679-4f2f-9340-b00d12fe051e</slam:Value></slam:Entry><slam:Entry><slam:Key>UserUUID</slam:Key><slam:Value>caa6e102-8ff0-400f-a120-23149326a936</slam:Value></slam:Entry><slam:Entry><slam:Key>Criteria</slam:Key><slam:Value>vm_cores = 0.8,
memory = 0.3,
price = 0.9</slam:Value></slam:Entry></slam:Properties><slam:UUID>Contrail-SLAT-NewFeatures-10</slam:UUID><slam:ModelVersion>sla_at_soi_sla_model_v1.0</slam:ModelVersion><slam:Party><slam:Text/><slam:Properties><slam:Entry><slam:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slam:Key><slam:Value>http://10.15.5.118:8080/services/contrailNegotiation?wsdl</slam:Value></slam:Entry></slam:Properties><slam:ID>ContrailProvider</slam:ID><slam:Role>http://www.slaatsoi.org/slamodel#provider</slam:Role></slam:Party><slam:Party><slam:Text/><slam:Properties><slam:Entry><slam:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slam:Key><slam:Value>http://customerEndpoint:8080/services/contrailNegotiation?wsdl</slam:Value></slam:Entry></slam:Properties><slam:ID>ContrailCustomer</slam:ID><slam:Role>http://www.slaatsoi.org/slamodel#customer</slam:Role></slam:Party><slam:InterfaceDeclr><slam:Text>Interface to specific OVF item</slam:Text><slam:Properties><slam:Entry><slam:Key>OVF_URL</slam:Key><slam:Value>OvfDEMO.ovf</slam:Value></slam:Entry></slam:Properties><slam:ID>OVF-Item-ubu1</slam:ID><slam:ProviderRef>ContrailProvider</slam:ProviderRef><slam:Endpoint><slam:Text/><slam:Properties><slam:Entry><slam:Key>OVF_VirtualSystem_ID</slam:Key><slam:Value>ubu1</slam:Value></slam:Entry></slam:Properties><slam:ID>ubu1-VM-Type</slam:ID><slam:Location>VEP-ID</slam:Location><slam:Protocol>http://www.slaatsoi.org/slamodel#HTTP</slam:Protocol></slam:Endpoint><slam:Interface><slam:InterfaceResourceType><slam:Text/><slam:Properties/><slam:Name>OVFAppliance</slam:Name></slam:InterfaceResourceType></slam:Interface></slam:InterfaceDeclr><slam:InterfaceDeclr><slam:Text>Interface of method to be invoked</slam:Text><slam:Properties/><slam:ID>UpscalingInterface</slam:ID><slam:ProviderRef>ContrailCustomer</slam:ProviderRef><slam:Endpoint><slam:Text/><slam:Properties/><slam:ID>UpscalingEndpoint</slam:ID><slam:Location>non so dove sia</slam:Location><slam:Protocol>http://www.slaatsoi.org/slamodel#SOAP</slam:Protocol></slam:Endpoint><slam:Interface><slam:InterfaceSpec><slam:Text/><slam:Properties/><slam:Name>org.ow2.contrail.provider.pac.action.ViolationAction</slam:Name><slam:Operation><slam:Text/><slam:Properties/><slam:Name>manageADD</slam:Name><slam:Input><slam:Text/><slam:Properties/><slam:Name>Number</slam:Name><slam:Auxiliary>false</slam:Auxiliary><slam:Datatype>http://www.w3.org/2001/XMLSchema#string</slam:Datatype></slam:Input><slam:Input><slam:Text/><slam:Properties/><slam:Name>VirtualSystem</slam:Name><slam:Auxiliary>false</slam:Auxiliary><slam:Datatype>http://www.w3.org/2001/XMLSchema#string</slam:Datatype></slam:Input></slam:Operation></slam:InterfaceSpec></slam:Interface></slam:InterfaceDeclr><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>MinimumLOA_Agreement_Term</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>MinimumLoA_for_Application</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#minimum_loa</slam:Operator></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>3</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>ubu1_Guarantees</slam:ID><slam:VariableDeclr><slam:Text/><slam:Properties/><slam:Var>VM_of_type_ubu1</slam:Var><slam:Expr><slam:ValueExpr><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#subset_of</slam:Operator><slam:Parameter><slam:ID>OVF-Item-ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:ValueExpr></slam:Expr></slam:VariableDeclr><slam:VariableDeclr><slam:Text/><slam:Properties/><slam:Var>VAR_CPU_CORES_VS1</slam:Var><slam:Expr><slam:ValueExpr><slam:DomainExpr><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than_or_equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>1</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:DomainExpr></slam:ValueExpr></slam:Expr></slam:VariableDeclr><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>CPU_CORES_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#vm_cores</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>4.0</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>RESERVATION_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#reserve</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>10</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>Co_Location_Rack_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#co_location_rack</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>true</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#boolean</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>CPU_SPEED_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#cpu_speed</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>2000.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#MHz</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>Location_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#vs_location</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:CompoundDomainExpr><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>FR</slam:Value><slam:Datatype>xsd:string</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>IT</slam:Value><slam:Datatype>xsd:string</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:LogicalOp>http://www.slaatsoi.org/coremodel#or</slam:LogicalOp></slam:CompoundDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>MEMORY_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#memory</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>2048.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#MB</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>Not_Co_Location_Host_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#not_co_location_host</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>true</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#boolean</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>Upscaling</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>UpscalingCondition</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#vm_cpu_load</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>1.5</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#decimal</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:Action><slam:ID>UpscalingAction</slam:ID><slam:ActorRef>http://www.slaatsoi.org/slamodel#customer</slam:ActorRef><slam:Policy>http://www.slaatsoi.org/slamodel#mandatory</slam:Policy><slam:Precondition><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#violated</slam:Operator><slam:Parameter><slam:ValueExpr><slam:ID>UpscalingCondition</slam:ID></slam:ValueExpr></slam:Parameter></slam:Precondition><slam:Postcondition><slam:Text/><slam:Properties/><slam:Invocation><slam:Endpoint>UpscalingInterface/UpscalingEndpoint</slam:Endpoint><slam:Operation>UpscalingInterface/manageADD</slam:Operation><slam:Parameters><slam:Entry><slam:Key>VirtualSystem</slam:Key><slam:Value><slam:ID>ubu1</slam:ID></slam:Value></slam:Entry><slam:Entry><slam:Key>Number</slam:Key><slam:Value><slam:ID>1</slam:ID></slam:Value></slam:Entry></slam:Parameters></slam:Invocation></slam:Postcondition></slam:Action></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>Infrastructure_Price_Of_ubu1</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:Action><slam:ID>Price_Of_VirtualSystem_ubu1</slam:ID><slam:ActorRef>http://www.slaatsoi.org/slamodel#provider</slam:ActorRef><slam:Policy>http://www.slaatsoi.org/slamodel#mandatory</slam:Policy><slam:Precondition><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#invocation</slam:Operator><slam:Parameter><slam:ValueExpr><slam:ID>ubu1</slam:ID></slam:ValueExpr></slam:Parameter></slam:Precondition><slam:Postcondition><slam:Text/><slam:Properties><slam:Entry><slam:Key>Guarantees applied</slam:Key><slam:Value>reserve, co_location_rack, vs_location, not_co_location_host</slam:Value></slam:Entry></slam:Properties><slam:ProductOfferingPrice><slam:ID>Product_Offering_Price_Of_ubu1</slam:ID><slam:Name/><slam:Description/><slam:BillingFrequency>http://www.slaatsoi.org/business#per_month</slam:BillingFrequency><slam:ValidFrom>2013-01-01T00:00:00.000+01:00</slam:ValidFrom><slam:ValidUntil>2014-12-31T00:00:00.000+01:00</slam:ValidUntil><slam:ComponentProdOfferingPrice><slam:ID>Price for reservation of_ubu1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#one_time_charge</slam:PriceType><slam:Price><slam:Value>500.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#EUR</slam:Datatype></slam:Price><slam:Quantity><slam:Value>10</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#vm</slam:Datatype></slam:Quantity></slam:ComponentProdOfferingPrice><slam:ComponentProdOfferingPrice><slam:ID>Price_OF_ubu1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#per_hour</slam:PriceType><slam:Price><slam:Value>1.5042</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#EUR</slam:Datatype></slam:Price><slam:Quantity><slam:Value>1</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#vm</slam:Datatype></slam:Quantity></slam:ComponentProdOfferingPrice></slam:ProductOfferingPrice></slam:Postcondition></slam:Action></slam:Guaranteed></slam:AgreementTerm></slam:SLATemplate>]]>
</return>
     </ns:negotiateResponse>
  </soapenv:Body>
</soapenv:Envelope>

Web service: createAgreement

Description

Creates a new SLA agreement, based on an input SLA template. If the request is successful, the new SLA is saved in the SLA registry.

Parameters
  • slaTemplate: The final SLA template choosen by the customer. It has to be one of the offers returned by the negotiate service.
  • negotiationID: The negotiation session ID returned by the invocation of initiateNegotiation API. 
Return Value
  • return: The agreed SLA. 
Request example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.syntaxconverter.gslam.slasoi.org">
  <soapenv:Header/>
  <soapenv:Body>
     <web:createAgreement>
        <negotiationID>9c6bfeae-9a11-4f16-8004-5e4dfa528678</negotiationID>
        <slaTemplate>
<![CDATA[<slam:SLATemplate xmlns:slam="http://www.slaatsoi.eu/slamodel"><slam:Text/><slam:Properties><slam:Entry><slam:Key>ProvidersList</slam:Key><slam:Value>CloudProvider05 = http://10.15.8.2:8080/services/contrailNegotiation?wsdl,
CloudProvider2 = http://10.15.8.23:8080/services/contrailNegotiation?wsdl,
CloudProviderOpenStack = http://10.15.8.110:8080/services/contrailNegotiation?wsdl</slam:Value></slam:Entry><slam:Entry><slam:Key>AppUUID</slam:Key><slam:Value>6ad216a6-0679-4f2f-9340-b00d12fe051e</slam:Value></slam:Entry><slam:Entry><slam:Key>UserUUID</slam:Key><slam:Value>caa6e102-8ff0-400f-a120-23149326a936</slam:Value></slam:Entry><slam:Entry><slam:Key>Criteria</slam:Key><slam:Value>vm_cores = 0.8,
memory = 0.3,
price = 0.9</slam:Value></slam:Entry></slam:Properties><slam:UUID>Contrail-SLAT-NewFeatures-10</slam:UUID><slam:ModelVersion>sla_at_soi_sla_model_v1.0</slam:ModelVersion><slam:Party><slam:Text/><slam:Properties><slam:Entry><slam:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slam:Key><slam:Value>http://10.15.5.118:8080/services/contrailNegotiation?wsdl</slam:Value></slam:Entry></slam:Properties><slam:ID>ContrailProvider</slam:ID><slam:Role>http://www.slaatsoi.org/slamodel#provider</slam:Role></slam:Party><slam:Party><slam:Text/><slam:Properties><slam:Entry><slam:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slam:Key><slam:Value>http://customerEndpoint:8080/services/contrailNegotiation?wsdl</slam:Value></slam:Entry></slam:Properties><slam:ID>ContrailCustomer</slam:ID><slam:Role>http://www.slaatsoi.org/slamodel#customer</slam:Role></slam:Party><slam:InterfaceDeclr><slam:Text>Interface to specific OVF item</slam:Text><slam:Properties><slam:Entry><slam:Key>OVF_URL</slam:Key><slam:Value>OvfDEMO.ovf</slam:Value></slam:Entry></slam:Properties><slam:ID>OVF-Item-ubu1</slam:ID><slam:ProviderRef>ContrailProvider</slam:ProviderRef><slam:Endpoint><slam:Text/><slam:Properties><slam:Entry><slam:Key>OVF_VirtualSystem_ID</slam:Key><slam:Value>ubu1</slam:Value></slam:Entry></slam:Properties><slam:ID>ubu1-VM-Type</slam:ID><slam:Location>VEP-ID</slam:Location><slam:Protocol>http://www.slaatsoi.org/slamodel#HTTP</slam:Protocol></slam:Endpoint><slam:Interface><slam:InterfaceResourceType><slam:Text/><slam:Properties/><slam:Name>OVFAppliance</slam:Name></slam:InterfaceResourceType></slam:Interface></slam:InterfaceDeclr><slam:InterfaceDeclr><slam:Text>Interface of method to be invoked</slam:Text><slam:Properties/><slam:ID>UpscalingInterface</slam:ID><slam:ProviderRef>ContrailCustomer</slam:ProviderRef><slam:Endpoint><slam:Text/><slam:Properties/><slam:ID>UpscalingEndpoint</slam:ID><slam:Location>non so dove sia</slam:Location><slam:Protocol>http://www.slaatsoi.org/slamodel#SOAP</slam:Protocol></slam:Endpoint><slam:Interface><slam:InterfaceSpec><slam:Text/><slam:Properties/><slam:Name>org.ow2.contrail.provider.pac.action.ViolationAction</slam:Name><slam:Operation><slam:Text/><slam:Properties/><slam:Name>manageADD</slam:Name><slam:Input><slam:Text/><slam:Properties/><slam:Name>Number</slam:Name><slam:Auxiliary>false</slam:Auxiliary><slam:Datatype>http://www.w3.org/2001/XMLSchema#string</slam:Datatype></slam:Input><slam:Input><slam:Text/><slam:Properties/><slam:Name>VirtualSystem</slam:Name><slam:Auxiliary>false</slam:Auxiliary><slam:Datatype>http://www.w3.org/2001/XMLSchema#string</slam:Datatype></slam:Input></slam:Operation></slam:InterfaceSpec></slam:Interface></slam:InterfaceDeclr><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>MinimumLOA_Agreement_Term</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>MinimumLoA_for_Application</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#minimum_loa</slam:Operator></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>3</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>ubu1_Guarantees</slam:ID><slam:VariableDeclr><slam:Text/><slam:Properties/><slam:Var>VM_of_type_ubu1</slam:Var><slam:Expr><slam:ValueExpr><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#subset_of</slam:Operator><slam:Parameter><slam:ID>OVF-Item-ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:ValueExpr></slam:Expr></slam:VariableDeclr><slam:VariableDeclr><slam:Text/><slam:Properties/><slam:Var>VAR_CPU_CORES_VS1</slam:Var><slam:Expr><slam:ValueExpr><slam:DomainExpr><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than_or_equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>1</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:DomainExpr></slam:ValueExpr></slam:Expr></slam:VariableDeclr><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>CPU_CORES_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#vm_cores</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>4.0</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>RESERVATION_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#reserve</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>10</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>Co_Location_Rack_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#co_location_rack</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>true</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#boolean</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>CPU_SPEED_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#cpu_speed</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>2000.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#MHz</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>Location_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#vs_location</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:CompoundDomainExpr><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>FR</slam:Value><slam:Datatype>xsd:string</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>IT</slam:Value><slam:Datatype>xsd:string</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:LogicalOp>http://www.slaatsoi.org/coremodel#or</slam:LogicalOp></slam:CompoundDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>MEMORY_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#memory</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>2048.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#MB</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>Not_Co_Location_Host_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#not_co_location_host</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>true</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#boolean</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>Upscaling</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>UpscalingCondition</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#vm_cpu_load</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>1.5</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#decimal</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:Action><slam:ID>UpscalingAction</slam:ID><slam:ActorRef>http://www.slaatsoi.org/slamodel#customer</slam:ActorRef><slam:Policy>http://www.slaatsoi.org/slamodel#mandatory</slam:Policy><slam:Precondition><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#violated</slam:Operator><slam:Parameter><slam:ValueExpr><slam:ID>UpscalingCondition</slam:ID></slam:ValueExpr></slam:Parameter></slam:Precondition><slam:Postcondition><slam:Text/><slam:Properties/><slam:Invocation><slam:Endpoint>UpscalingInterface/UpscalingEndpoint</slam:Endpoint><slam:Operation>UpscalingInterface/manageADD</slam:Operation><slam:Parameters><slam:Entry><slam:Key>VirtualSystem</slam:Key><slam:Value><slam:ID>ubu1</slam:ID></slam:Value></slam:Entry><slam:Entry><slam:Key>Number</slam:Key><slam:Value><slam:ID>1</slam:ID></slam:Value></slam:Entry></slam:Parameters></slam:Invocation></slam:Postcondition></slam:Action></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>Infrastructure_Price_Of_ubu1</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:Action><slam:ID>Price_Of_VirtualSystem_ubu1</slam:ID><slam:ActorRef>http://www.slaatsoi.org/slamodel#provider</slam:ActorRef><slam:Policy>http://www.slaatsoi.org/slamodel#mandatory</slam:Policy><slam:Precondition><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#invocation</slam:Operator><slam:Parameter><slam:ValueExpr><slam:ID>ubu1</slam:ID></slam:ValueExpr></slam:Parameter></slam:Precondition><slam:Postcondition><slam:Text/><slam:Properties><slam:Entry><slam:Key>Guarantees applied</slam:Key><slam:Value>reserve, co_location_rack, vs_location, not_co_location_host</slam:Value></slam:Entry></slam:Properties><slam:ProductOfferingPrice><slam:ID>Product_Offering_Price_Of_ubu1</slam:ID><slam:Name/><slam:Description/><slam:BillingFrequency>http://www.slaatsoi.org/business#per_month</slam:BillingFrequency><slam:ValidFrom>2013-01-01T00:00:00.000+01:00</slam:ValidFrom><slam:ValidUntil>2014-12-31T00:00:00.000+01:00</slam:ValidUntil><slam:ComponentProdOfferingPrice><slam:ID>Price for reservation of_ubu1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#one_time_charge</slam:PriceType><slam:Price><slam:Value>500.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#EUR</slam:Datatype></slam:Price><slam:Quantity><slam:Value>10</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#vm</slam:Datatype></slam:Quantity></slam:ComponentProdOfferingPrice><slam:ComponentProdOfferingPrice><slam:ID>Price_OF_ubu1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#per_hour</slam:PriceType><slam:Price><slam:Value>1.5042</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#EUR</slam:Datatype></slam:Price><slam:Quantity><slam:Value>1</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#vm</slam:Datatype></slam:Quantity></slam:ComponentProdOfferingPrice></slam:ProductOfferingPrice></slam:Postcondition></slam:Action></slam:Guaranteed></slam:AgreementTerm></slam:SLATemplate>]]>

</slaTemplate>
     </web:createAgreement>
  </soapenv:Body>
</soapenv:Envelope>
Response example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Body>
     <ns:createAgreementResponse xmlns:ns="http://webservice.syntaxconverter.gslam.slasoi.org">
        <return><![CDATA[<slam:SLA xmlns:slam="http://www.slaatsoi.eu/slamodel"><slam:Text/><slam:Properties><slam:Entry><slam:Key>AppUUID</slam:Key><slam:Value>6ad216a6-0679-4f2f-9340-b00d12fe051e</slam:Value></slam:Entry><slam:Entry><slam:Key>CEE-ID</slam:Key><slam:Value>api/cimi/cee/123456789</slam:Value></slam:Entry></slam:Properties><slam:UUID>40197b03-b5a5-4dd7-b791-8818dc4896b3</slam:UUID><slam:ModelVersion>sla_at_soi_sla_model_v1.0</slam:ModelVersion><slam:EffectiveFrom>2014-03-03T12:14:20.431+01:00</slam:EffectiveFrom><slam:EffectiveUntil>2016-03-03T12:14:20.431+01:00</slam:EffectiveUntil><slam:TemplateId>Contrail-SLAT-NewFeatures-10</slam:TemplateId><slam:AgreedAt>2014-03-03T12:14:20.431+01:00</slam:AgreedAt><slam:Party><slam:Text/><slam:Properties><slam:Entry><slam:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slam:Key><slam:Value>http://10.15.5.118:8080/services/contrailNegotiation?wsdl</slam:Value></slam:Entry></slam:Properties><slam:ID>ContrailProvider</slam:ID><slam:Role>http://www.slaatsoi.org/slamodel#provider</slam:Role></slam:Party><slam:Party><slam:Text/><slam:Properties><slam:Entry><slam:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slam:Key><slam:Value>http://customerEndpoint:8080/services/contrailNegotiation?wsdl</slam:Value></slam:Entry></slam:Properties><slam:ID>ContrailCustomer</slam:ID><slam:Role>http://www.slaatsoi.org/slamodel#customer</slam:Role></slam:Party><slam:InterfaceDeclr><slam:Text>Interface to specific OVF item</slam:Text><slam:Properties><slam:Entry><slam:Key>OVF_URL</slam:Key><slam:Value>OvfDEMO.ovf</slam:Value></slam:Entry></slam:Properties><slam:ID>OVF-Item-ubu1</slam:ID><slam:ProviderRef>ContrailProvider</slam:ProviderRef><slam:Endpoint><slam:Text/><slam:Properties><slam:Entry><slam:Key>OVF_VirtualSystem_ID</slam:Key><slam:Value>ubu1</slam:Value></slam:Entry></slam:Properties><slam:ID>ubu1-VM-Type</slam:ID><slam:Location>VEP-ID</slam:Location><slam:Protocol>http://www.slaatsoi.org/slamodel#HTTP</slam:Protocol></slam:Endpoint><slam:Interface><slam:InterfaceResourceType><slam:Text/><slam:Properties/><slam:Name>OVFAppliance</slam:Name></slam:InterfaceResourceType></slam:Interface></slam:InterfaceDeclr><slam:InterfaceDeclr><slam:Text>Interface of method to be invoked</slam:Text><slam:Properties/><slam:ID>UpscalingInterface</slam:ID><slam:ProviderRef>ContrailCustomer</slam:ProviderRef><slam:Endpoint><slam:Text/><slam:Properties/><slam:ID>UpscalingEndpoint</slam:ID><slam:Location>non so dove sia</slam:Location><slam:Protocol>http://www.slaatsoi.org/slamodel#SOAP</slam:Protocol></slam:Endpoint><slam:Interface><slam:InterfaceSpec><slam:Text/><slam:Properties/><slam:Name>org.ow2.contrail.provider.pac.action.ViolationAction</slam:Name><slam:Operation><slam:Text/><slam:Properties/><slam:Name>manageADD</slam:Name><slam:Input><slam:Text/><slam:Properties/><slam:Name>Number</slam:Name><slam:Auxiliary>false</slam:Auxiliary><slam:Datatype>http://www.w3.org/2001/XMLSchema#string</slam:Datatype></slam:Input><slam:Input><slam:Text/><slam:Properties/><slam:Name>VirtualSystem</slam:Name><slam:Auxiliary>false</slam:Auxiliary><slam:Datatype>http://www.w3.org/2001/XMLSchema#string</slam:Datatype></slam:Input></slam:Operation></slam:InterfaceSpec></slam:Interface></slam:InterfaceDeclr><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>Upscaling</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>UpscalingCondition</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#vm_cpu_load</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>1.5</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#decimal</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:Action><slam:ID>UpscalingAction</slam:ID><slam:ActorRef>http://www.slaatsoi.org/slamodel#customer</slam:ActorRef><slam:Policy>http://www.slaatsoi.org/slamodel#mandatory</slam:Policy><slam:Precondition><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#violated</slam:Operator><slam:Parameter><slam:ValueExpr><slam:ID>UpscalingCondition</slam:ID></slam:ValueExpr></slam:Parameter></slam:Precondition><slam:Postcondition><slam:Text/><slam:Properties/><slam:Invocation><slam:Endpoint>UpscalingInterface/UpscalingEndpoint</slam:Endpoint><slam:Operation>UpscalingInterface/manageADD</slam:Operation><slam:Parameters><slam:Entry><slam:Key>VirtualSystem</slam:Key><slam:Value><slam:ID>ubu1</slam:ID></slam:Value></slam:Entry><slam:Entry><slam:Key>Number</slam:Key><slam:Value><slam:ID>1</slam:ID></slam:Value></slam:Entry></slam:Parameters></slam:Invocation></slam:Postcondition></slam:Action></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>ubu1_Guarantees</slam:ID><slam:VariableDeclr><slam:Text/><slam:Properties/><slam:Var>VM_of_type_ubu1</slam:Var><slam:Expr><slam:ValueExpr><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#subset_of</slam:Operator><slam:Parameter><slam:ID>OVF-Item-ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:ValueExpr></slam:Expr></slam:VariableDeclr><slam:VariableDeclr><slam:Text/><slam:Properties/><slam:Var>VAR_CPU_CORES_VS1</slam:Var><slam:Expr><slam:ValueExpr><slam:DomainExpr><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than_or_equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>1</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:DomainExpr></slam:ValueExpr></slam:Expr></slam:VariableDeclr><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>CPU_CORES_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#vm_cores</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>4.0</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>Not_Co_Location_Host_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#not_co_location_host</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>true</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#boolean</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>CPU_SPEED_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#cpu_speed</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>2000.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#MHz</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>Co_Location_Rack_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#co_location_rack</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>true</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#boolean</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>MEMORY_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#memory</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>2048.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#MB</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>Location_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#vs_location</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:CompoundDomainExpr><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>FR</slam:Value><slam:Datatype>xsd:string</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>IT</slam:Value><slam:Datatype>xsd:string</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:LogicalOp>http://www.slaatsoi.org/coremodel#or</slam:LogicalOp></slam:CompoundDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>RESERVATION_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#reserve</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>10</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>MinimumLOA_Agreement_Term</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>MinimumLoA_for_Application</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#minimum_loa</slam:Operator></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>3</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>Infrastructure_Price_Of_ubu1</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:Action><slam:ID>Price_Of_VirtualSystem_ubu1</slam:ID><slam:ActorRef>http://www.slaatsoi.org/slamodel#provider</slam:ActorRef><slam:Policy>http://www.slaatsoi.org/slamodel#mandatory</slam:Policy><slam:Precondition><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#invocation</slam:Operator><slam:Parameter><slam:ValueExpr><slam:ID>ubu1</slam:ID></slam:ValueExpr></slam:Parameter></slam:Precondition><slam:Postcondition><slam:Text/><slam:Properties><slam:Entry><slam:Key>Guarantees applied</slam:Key><slam:Value>not_co_location_host, co_location_rack, vs_location, reserve</slam:Value></slam:Entry></slam:Properties><slam:ProductOfferingPrice><slam:ID>Product_Offering_Price_Of_ubu1</slam:ID><slam:Name/><slam:Description/><slam:BillingFrequency>http://www.slaatsoi.org/business#per_month</slam:BillingFrequency><slam:ValidFrom>2013-01-01T00:00:00.000+01:00</slam:ValidFrom><slam:ValidUntil>2014-12-31T00:00:00.000+01:00</slam:ValidUntil><slam:ComponentProdOfferingPrice><slam:ID>Price for reservation of_ubu1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#one_time_charge</slam:PriceType><slam:Price><slam:Value>500.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#EUR</slam:Datatype></slam:Price><slam:Quantity><slam:Value>10</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#vm</slam:Datatype></slam:Quantity></slam:ComponentProdOfferingPrice><slam:ComponentProdOfferingPrice><slam:ID>Price_OF_ubu1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#per_hour</slam:PriceType><slam:Price><slam:Value>1.5042</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#EUR</slam:Datatype></slam:Price><slam:Quantity><slam:Value>1</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#vm</slam:Datatype></slam:Quantity></slam:ComponentProdOfferingPrice></slam:ProductOfferingPrice></slam:Postcondition></slam:Action></slam:Guaranteed></slam:AgreementTerm></slam:SLA>]]></return>
     </ns:createAgreementResponse>
  </soapenv:Body>
</soapenv:Envelope>

Section: Querying SLAs

Agreed SLA can be queried by giving as input parameter a SLA Id or a User Id:

  • getSLA 
  • getSLAbyUserId 

Web service URL

The HTTP port of the web services is 8080 and the endopoint for the SOAP request is the following:
/services/BusinessManager_Reporting?wsdl
The URL is the same for both services.
Example of URL (here 10.15.5.118 is the server where SLA@SOI platform runs):
http://10.15.5.118:8080/services/BusinessManager_Reporting?wsdl

Web service: getSLA

Description

Retrieve a SLA given a SLA Id.

Parameters
  • slaId: The Id of the registered SLA. The ID is included in the SLA itself: the caller of the createAgreement service can retrieve from the UUID field in the SLA contained in the response. 
Return Value
  • return: The SLA if the SLA is found, otherwise an error message.
Request example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rep="http://reportingWS.businessManager.slasoi.org">
  <soapenv:Header/>
  <soapenv:Body>
     <rep:getSLA>
        <slaId>75455792-c755-4828-9a57-abc8bacd47c3</slaId>
     </rep:getSLA>
  </soapenv:Body>
</soapenv:Envelope>
Response example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Body>
     <ns:getSLAResponse xmlns:ns="http://reportingWS.businessManager.slasoi.org">
        <return><![CDATA[<slam:SLA xmlns:slam="http://www.slaatsoi.eu/slamodel"><slam:Text/><slam:Properties><slam:Entry><slam:Key>CEE-ID</slam:Key><slam:Value>/api/cimi/cee/7</slam:Value></slam:Entry></slam:Properties><slam:UUID>75455792-c755-4828-9a57-abc8bacd47c3</slam:UUID><slam:ModelVersion>sla_at_soi_sla_model_v1.0</slam:ModelVersion><slam:EffectiveFrom>2013-12-18T17:25:30.605+01:00</slam:EffectiveFrom><slam:EffectiveUntil>2015-12-18T17:25:30.605+01:00</slam:EffectiveUntil><slam:TemplateId>Contrail-SLAT-NewFeatures-03</slam:TemplateId><slam:AgreedAt>2013-12-18T17:25:30.605+01:00</slam:AgreedAt><slam:Party><slam:Text/><slam:Properties><slam:Entry><slam:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slam:Key><slam:Value>http://localhost:8080/services/contrailNegotiation?wsdl</slam:Value></slam:Entry></slam:Properties><slam:ID>ContrailProvider</slam:ID><slam:Role>http://www.slaatsoi.org/slamodel#provider</slam:Role></slam:Party><slam:Party><slam:Text/><slam:Properties><slam:Entry><slam:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slam:Key><slam:Value>http://localhost:8080/services/contrailNegotiation?wsdl</slam:Value></slam:Entry></slam:Properties><slam:ID>333</slam:ID><slam:Role>http://www.slaatsoi.org/slamodel#customer</slam:Role></slam:Party><slam:InterfaceDeclr><slam:Text>Interface to specific OVF item</slam:Text><slam:Properties><slam:Entry><slam:Key>OVF_URL</slam:Key><slam:Value>C:/dev/Contrail/provider/provider-sla/planning-optimization/src/main/resources/ovfs/OVFPasquale.ovf</slam:Value></slam:Entry></slam:Properties><slam:ID>OVF-Item-ubu1</slam:ID><slam:ProviderRef>ContrailProvider</slam:ProviderRef><slam:Endpoint><slam:Text/><slam:Properties><slam:Entry><slam:Key>OVF_VirtualSystem_ID</slam:Key><slam:Value>ubu1</slam:Value></slam:Entry></slam:Properties><slam:ID>ubu1-VM-Type</slam:ID><slam:Location>VEP-ID</slam:Location><slam:Protocol>http://www.slaatsoi.org/slamodel#HTTP</slam:Protocol></slam:Endpoint><slam:Interface><slam:InterfaceResourceType><slam:Text/><slam:Properties/><slam:Name>OVFAppliance</slam:Name></slam:InterfaceResourceType></slam:Interface></slam:InterfaceDeclr><slam:InterfaceDeclr><slam:Text>Interface of method to be invoked</slam:Text><slam:Properties/><slam:ID>UpscalingInterface</slam:ID><slam:ProviderRef>ContrailCustomer</slam:ProviderRef><slam:Endpoint><slam:Text/><slam:Properties/><slam:ID>UpscalingEndpoint</slam:ID><slam:Location>non so dove sia</slam:Location><slam:Protocol>http://www.slaatsoi.org/slamodel#SOAP</slam:Protocol></slam:Endpoint><slam:Interface><slam:InterfaceSpec><slam:Text/><slam:Properties/><slam:Name>org.ow2.contrail.provider.pac.action.ViolationAction</slam:Name><slam:Operation><slam:Text/><slam:Properties/><slam:Name>submit</slam:Name><slam:Input><slam:Text/><slam:Properties/><slam:Name>AppName</slam:Name><slam:Auxiliary>false</slam:Auxiliary><slam:Datatype>http://www.w3.org/2001/XMLSchema#string</slam:Datatype></slam:Input><slam:Input><slam:Text/><slam:Properties/><slam:Name>OVF_ref</slam:Name><slam:Auxiliary>false</slam:Auxiliary><slam:Datatype>http://www.w3.org/2001/XMLSchema#string</slam:Datatype></slam:Input></slam:Operation></slam:InterfaceSpec></slam:Interface></slam:InterfaceDeclr><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>ubu1_Guarantees</slam:ID><slam:VariableDeclr><slam:Text/><slam:Properties/><slam:Var>VM_of_type_ubu1</slam:Var><slam:Expr><slam:ValueExpr><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#subset_of</slam:Operator><slam:Parameter><slam:ID>OVF-Item-ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:ValueExpr></slam:Expr></slam:VariableDeclr><slam:VariableDeclr><slam:Text/><slam:Properties/><slam:Customisable><slam:Var>VAR_CPU_CORES_VS1</slam:Var><slam:Value><slam:Value>2</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:Value><slam:Expr><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than_or_equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>1</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Expr></slam:Customisable></slam:VariableDeclr><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>CPU_SPEED_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#cpu_speed</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>1200.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#MHz</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>CPU_CORES_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#vm_cores</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>4.0</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>MEMORY_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#memory</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>2048.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#MB</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>Co_Location_Rack_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#co_location_rack</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>true</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#boolean</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>Not_Co_Location_Host_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#not_co_location_host</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>true</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#boolean</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>Location_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#vs_location</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:CompoundDomainExpr><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>FR</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#string</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>IT</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#string</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:LogicalOp>http://www.slaatsoi.org/coremodel#or</slam:LogicalOp></slam:CompoundDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>RESERVATION_for_ubu1</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#reserve</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>9</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>Upscaling</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>UpscalingCondition</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#vm_cpu_load</slam:Operator><slam:Parameter><slam:ID>VM_of_type_ubu1</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#less_than</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>1.5</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#decimal</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:Action><slam:ID>UpscalingAction</slam:ID><slam:ActorRef>http://www.slaatsoi.org/slamodel#customer</slam:ActorRef><slam:Policy>http://www.slaatsoi.org/slamodel#mandatory</slam:Policy><slam:Precondition><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#violated</slam:Operator><slam:Parameter><slam:ValueExpr><slam:ID>UpscalingCondition</slam:ID></slam:ValueExpr></slam:Parameter></slam:Precondition><slam:Postcondition><slam:Text/><slam:Properties/><slam:Invocation><slam:Endpoint>UpscalingInterface/UpscalingEndpoint</slam:Endpoint><slam:Operation>UpscalingInterface/submit</slam:Operation><slam:Parameters><slam:Entry><slam:Key>AppName</slam:Key><slam:Value><slam:ID>applicationName</slam:ID></slam:Value></slam:Entry><slam:Entry><slam:Key>OVF_ref</slam:Key><slam:Value><slam:ID>C:/dev/Contrail/provider/provider-sla/planning-optimization/src/main/resources/ovfs/OVFPasquale.ovf</slam:ID></slam:Value></slam:Entry></slam:Parameters></slam:Invocation></slam:Postcondition></slam:Action></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>Insfrastructure_Price_Of_ubu1</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:Action><slam:ID>Price_Of_VirtualSystem_ubu1</slam:ID><slam:ActorRef>http://www.slaatsoi.org/slamodel#provider</slam:ActorRef><slam:Policy>http://www.slaatsoi.org/slamodel#mandatory</slam:Policy><slam:Precondition><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#invocation</slam:Operator><slam:Parameter><slam:ValueExpr><slam:ID>ubu1</slam:ID></slam:ValueExpr></slam:Parameter></slam:Precondition><slam:Postcondition><slam:Text/><slam:Properties><slam:Entry><slam:Key>Guarantees applied</slam:Key><slam:Value>co_location_rack, not_co_location_host, vs_location, reserve</slam:Value></slam:Entry></slam:Properties><slam:ProductOfferingPrice><slam:ID>Product_Offering_Price_Of_ubu1</slam:ID><slam:Name/><slam:Description/><slam:BillingFrequency>http://www.slaatsoi.org/business#per_month</slam:BillingFrequency><slam:ValidFrom>2013-01-01T00:00:00.000+01:00</slam:ValidFrom><slam:ValidUntil>2014-12-31T00:00:00.000+01:00</slam:ValidUntil><slam:ComponentProdOfferingPrice><slam:ID>Price for reservation of_ubu1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#one_time_charge</slam:PriceType><slam:Price><slam:Value>450.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#EUR</slam:Datatype></slam:Price><slam:Quantity><slam:Value>9</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#vm</slam:Datatype></slam:Quantity></slam:ComponentProdOfferingPrice><slam:ComponentProdOfferingPrice><slam:ID>Price_OF_ubu1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#per_hour</slam:PriceType><slam:Price><slam:Value>1.3742</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#EUR</slam:Datatype></slam:Price><slam:Quantity><slam:Value>1</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#vm</slam:Datatype></slam:Quantity></slam:ComponentProdOfferingPrice></slam:ProductOfferingPrice></slam:Postcondition></slam:Action></slam:Guaranteed></slam:AgreementTerm></slam:SLA>]]></return>
     </ns:getSLAResponse>
  </soapenv:Body>
</soapenv:Envelope>

Web service: getSLAbyUserId

Description

Retrieve the list of SLAs agreed by a given user.

Parameters
  • userId: The Id of the user who negotiated the SLA(s). 
Return Value
  • return: The SLA list if any, otherwise an error message.
Request example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rep="http://reportingWS.businessManager.slasoi.org">
  <soapenv:Header/>
  <soapenv:Body>
     <rep:getSLAbyUserID>
        <userId>467</userId>
     </rep:getSLAbyUserID>
  </soapenv:Body>
</soapenv:Envelope> 
Response example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Body>
     <ns:getSLAbyUserIDResponse xmlns:ns="http://reportingWS.businessManager.slasoi.org">
        <return><![CDATA[<slam:SLA xmlns:slam="http://www.slaatsoi.eu/slamodel"><slam:Text/><slam:Properties><slam:Entry><slam:Key>MyPlan</slam:Key><slam:Value>caea4adf-0610-4360-8f63-0cf1b5ee5ee6</slam:Value></slam:Entry></slam:Properties><slam:UUID>d859cb05-faa2-4144-8748-e29c42ee960b</slam:UUID><slam:ModelVersion>sla_at_soi_sla_model_v1.0</slam:ModelVersion><slam:EffectiveFrom>2012-05-04T10:08:02.590+02:00</slam:EffectiveFrom><slam:EffectiveUntil>2014-05-04T10:08:02.590+02:00</slam:EffectiveUntil><slam:TemplateId>CT-Contrail-new-SLAT-8-NoVariable</slam:TemplateId><slam:AgreedAt>2012-05-04T10:08:02.590+02:00</slam:AgreedAt><slam:Party><slam:Text/><slam:Properties><slam:Entry><slam:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slam:Key><slam:Value>http://10.15.5.52:8080/services/contrailNegotiation?wsdl</slam:Value></slam:Entry></slam:Properties><slam:ID>ContrailProvider</slam:ID><slam:Role>http://www.slaatsoi.org/slamodel#provider</slam:Role></slam:Party><slam:Party><slam:Text/><slam:Properties><slam:Entry><slam:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slam:Key><slam:Value>http://localhost:8080/services/ISNegotiation?wsdl</slam:Value></slam:Entry></slam:Properties><slam:ID>467</slam:ID><slam:Role>http://www.slaatsoi.org/slamodel#customer</slam:Role></slam:Party><slam:InterfaceDeclr><slam:Text>Interface for overall OVF</slam:Text><slam:Properties><slam:Entry><slam:Key>OVF_URL</slam:Key><slam:Value>file:///C:/lamp.ovf</slam:Value></slam:Entry></slam:Properties><slam:ID>OVF-Descriptor-General</slam:ID><slam:ProviderRef>ContrailProvider</slam:ProviderRef><slam:Endpoint><slam:Text/><slam:Properties/><slam:ID>OVF-Endpoint</slam:ID><slam:Location>VEP-ID</slam:Location><slam:Protocol>http://www.slaatsoi.org/slamodel#HTTP</slam:Protocol></slam:Endpoint><slam:Interface><slam:InterfaceResourceType><slam:Text/><slam:Properties/><slam:Name>OVFDescriptor</slam:Name></slam:InterfaceResourceType></slam:Interface></slam:InterfaceDeclr><slam:InterfaceDeclr><slam:Text>Interface to specific OVF item</slam:Text><slam:Properties><slam:Entry><slam:Key>OVF_URL</slam:Key><slam:Value>file:///C:/lamp.ovf</slam:Value></slam:Entry></slam:Properties><slam:ID>OVF-Descriptor-LAMP</slam:ID><slam:ProviderRef>ContrailProvider</slam:ProviderRef><slam:Endpoint><slam:Text/><slam:Properties><slam:Entry><slam:Key>OVF_VirtualSystem_ID</slam:Key><slam:Value>MyLampService</slam:Value></slam:Entry></slam:Properties><slam:ID>VM-with-Linux-Apache-MySQL-PHP</slam:ID><slam:Location>VEP-ID</slam:Location><slam:Protocol>http://www.slaatsoi.org/slamodel#HTTP</slam:Protocol></slam:Endpoint><slam:Interface><slam:InterfaceResourceType><slam:Text/><slam:Properties/><slam:Name>OVFAppliance</slam:Name></slam:InterfaceResourceType></slam:Interface></slam:InterfaceDeclr><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>all-in-one</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>CPU_CORES_STATE</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#vm_cores</slam:Operator><slam:Parameter><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#subset_of</slam:Operator><slam:Parameter><slam:ID>OVF-Descriptor-LAMP</slam:ID></slam:Parameter></slam:FuncExpr></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:CompoundDomainExpr><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>1.0</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#less_than_or_equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>8.0</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:LogicalOp>http://www.slaatsoi.org/coremodel#and</slam:LogicalOp></slam:CompoundDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>MEMORY_STATE</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#memory</slam:Operator><slam:Parameter><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#subset_of</slam:Operator><slam:Parameter><slam:ID>OVF-Descriptor-LAMP</slam:ID></slam:Parameter></slam:FuncExpr></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:CompoundDomainExpr><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#less_than_or_equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>3981.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#MB</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>250.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#MB</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:LogicalOp>http://www.slaatsoi.org/coremodel#and</slam:LogicalOp></slam:CompoundDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>OverAllAvailability</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>AvailabilityState</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/commonTerms#availability</slam:Operator><slam:Parameter><slam:ID>OVF-Descriptor-General</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:CompoundDomainExpr><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#less_than_or_equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>100.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#percentage</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>0.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#percentage</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:LogicalOp>http://www.slaatsoi.org/coremodel#and</slam:LogicalOp></slam:CompoundDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>InfrastructurePrice</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:Action><slam:ID>PriceSpecificationAction</slam:ID><slam:ActorRef>http://www.slaatsoi.org/slamodel#provider</slam:ActorRef><slam:Policy>http://www.slaatsoi.org/slamodel#mandatory</slam:Policy><slam:Precondition><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#recovered</slam:Operator><slam:Parameter><slam:ValueExpr><slam:ID>PriceSpecificationAction</slam:ID></slam:ValueExpr></slam:Parameter></slam:Precondition><slam:Postcondition><slam:Text/><slam:Properties/><slam:ProductOfferingPrice><slam:ID>1</slam:ID><slam:Product><slam:Text>Product Description</slam:Text><slam:Properties/><slam:ID>1</slam:ID><slam:Name>VM</slam:Name></slam:Product><slam:Name/><slam:Description/><slam:BillingFrequency>http://www.slaatsoi.org/business#per_month</slam:BillingFrequency><slam:ValidFrom>2012-01-01T00:00:00.000+01:00</slam:ValidFrom><slam:ValidUntil>2012-12-31T23:59:59.000+01:00</slam:ValidUntil><slam:ComponentProdOfferingPrice><slam:ID>1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#one_time_charge</slam:PriceType><slam:Price><slam:Value>0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#EUR</slam:Datatype></slam:Price><slam:Quantity><slam:Value>1</slam:Value></slam:Quantity></slam:ComponentProdOfferingPrice></slam:ProductOfferingPrice></slam:Postcondition></slam:Action></slam:Guaranteed></slam:AgreementTerm></slam:SLA>
<slam:SLA xmlns:slam="http://www.slaatsoi.eu/slamodel"><slam:Text/><slam:Properties><slam:Entry><slam:Key>MyPlan</slam:Key><slam:Value>046c7e38-0857-48ee-995c-841e56eaec7c</slam:Value></slam:Entry></slam:Properties><slam:UUID>687d8d9e-3cba-4bb8-a5f8-9a8743eee225</slam:UUID><slam:ModelVersion>sla_at_soi_sla_model_v1.0</slam:ModelVersion><slam:EffectiveFrom>2012-05-04T11:34:10.878+02:00</slam:EffectiveFrom><slam:EffectiveUntil>2014-05-04T11:34:10.878+02:00</slam:EffectiveUntil><slam:TemplateId>CT-Contrail-new-SLAT-8-NoVariable</slam:TemplateId><slam:AgreedAt>2012-05-04T11:34:10.878+02:00</slam:AgreedAt><slam:Party><slam:Text/><slam:Properties><slam:Entry><slam:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slam:Key><slam:Value>http://10.15.5.52:8080/services/contrailNegotiation?wsdl</slam:Value></slam:Entry></slam:Properties><slam:ID>ContrailProvider</slam:ID><slam:Role>http://www.slaatsoi.org/slamodel#provider</slam:Role></slam:Party><slam:Party><slam:Text/><slam:Properties><slam:Entry><slam:Key>http://www.slaatsoi.org/slamodel#gslam_epr</slam:Key><slam:Value>http://localhost:8080/services/ISNegotiation?wsdl</slam:Value></slam:Entry></slam:Properties><slam:ID>467</slam:ID><slam:Role>http://www.slaatsoi.org/slamodel#customer</slam:Role></slam:Party><slam:InterfaceDeclr><slam:Text>Interface for overall OVF</slam:Text><slam:Properties><slam:Entry><slam:Key>OVF_URL</slam:Key><slam:Value>file:///C:/lamp.ovf</slam:Value></slam:Entry></slam:Properties><slam:ID>OVF-Descriptor-General</slam:ID><slam:ProviderRef>ContrailProvider</slam:ProviderRef><slam:Endpoint><slam:Text/><slam:Properties/><slam:ID>OVF-Endpoint</slam:ID><slam:Location>VEP-ID</slam:Location><slam:Protocol>http://www.slaatsoi.org/slamodel#HTTP</slam:Protocol></slam:Endpoint><slam:Interface><slam:InterfaceResourceType><slam:Text/><slam:Properties/><slam:Name>OVFDescriptor</slam:Name></slam:InterfaceResourceType></slam:Interface></slam:InterfaceDeclr><slam:InterfaceDeclr><slam:Text>Interface to specific OVF item</slam:Text><slam:Properties><slam:Entry><slam:Key>OVF_URL</slam:Key><slam:Value>file:///C:/lamp.ovf</slam:Value></slam:Entry></slam:Properties><slam:ID>OVF-Descriptor-LAMP</slam:ID><slam:ProviderRef>ContrailProvider</slam:ProviderRef><slam:Endpoint><slam:Text/><slam:Properties><slam:Entry><slam:Key>OVF_VirtualSystem_ID</slam:Key><slam:Value>MyLampService</slam:Value></slam:Entry></slam:Properties><slam:ID>VM-with-Linux-Apache-MySQL-PHP</slam:ID><slam:Location>VEP-ID</slam:Location><slam:Protocol>http://www.slaatsoi.org/slamodel#HTTP</slam:Protocol></slam:Endpoint><slam:Interface><slam:InterfaceResourceType><slam:Text/><slam:Properties/><slam:Name>OVFAppliance</slam:Name></slam:InterfaceResourceType></slam:Interface></slam:InterfaceDeclr><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>all-in-one</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>CPU_CORES_STATE</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#vm_cores</slam:Operator><slam:Parameter><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#subset_of</slam:Operator><slam:Parameter><slam:ID>OVF-Descriptor-LAMP</slam:ID></slam:Parameter></slam:FuncExpr></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:CompoundDomainExpr><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>1.0</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#less_than_or_equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>8.0</slam:Value><slam:Datatype>http://www.w3.org/2001/XMLSchema#integer</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:LogicalOp>http://www.slaatsoi.org/coremodel#and</slam:LogicalOp></slam:CompoundDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>MEMORY_STATE</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/resources#memory</slam:Operator><slam:Parameter><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#subset_of</slam:Operator><slam:Parameter><slam:ID>OVF-Descriptor-LAMP</slam:ID></slam:Parameter></slam:FuncExpr></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:CompoundDomainExpr><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#less_than_or_equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>3981.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#MB</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>250.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#MB</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:LogicalOp>http://www.slaatsoi.org/coremodel#and</slam:LogicalOp></slam:CompoundDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>OverAllAvailability</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:State><slam:ID>AvailabilityState</slam:ID><slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><slam:Constraint><slam:TypeConstraintExpr><slam:Value><slam:FuncExpr><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/commonTerms#availability</slam:Operator><slam:Parameter><slam:ID>OVF-Descriptor-General</slam:ID></slam:Parameter></slam:FuncExpr></slam:Value><slam:Domain><slam:CompoundDomainExpr><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#less_than_or_equals</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>100.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#percentage</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:Subexpression><slam:SimpleDomainExpr><slam:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than</slam:ComparisonOp><slam:Value><slam:CONST><slam:Value>0.0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#percentage</slam:Datatype></slam:CONST></slam:Value></slam:SimpleDomainExpr></slam:Subexpression><slam:LogicalOp>http://www.slaatsoi.org/coremodel#and</slam:LogicalOp></slam:CompoundDomainExpr></slam:Domain></slam:TypeConstraintExpr></slam:Constraint></slam:State></slam:Guaranteed></slam:AgreementTerm><slam:AgreementTerm><slam:Text/><slam:Properties/><slam:ID>InfrastructurePrice</slam:ID><slam:Guaranteed><slam:Text/><slam:Properties/><slam:Action><slam:ID>PriceSpecificationAction</slam:ID><slam:ActorRef>http://www.slaatsoi.org/slamodel#provider</slam:ActorRef><slam:Policy>http://www.slaatsoi.org/slamodel#mandatory</slam:Policy><slam:Precondition><slam:Text/><slam:Properties/><slam:Operator>http://www.slaatsoi.org/coremodel#recovered</slam:Operator><slam:Parameter><slam:ValueExpr><slam:ID>PriceSpecificationAction</slam:ID></slam:ValueExpr></slam:Parameter></slam:Precondition><slam:Postcondition><slam:Text/><slam:Properties/><slam:ProductOfferingPrice><slam:ID>1</slam:ID><slam:Product><slam:Text>Product Description</slam:Text><slam:Properties/><slam:ID>1</slam:ID><slam:Name>VM</slam:Name></slam:Product><slam:Name/><slam:Description/><slam:BillingFrequency>http://www.slaatsoi.org/business#per_month</slam:BillingFrequency><slam:ValidFrom>2012-01-01T00:00:00.000+01:00</slam:ValidFrom><slam:ValidUntil>2012-12-31T23:59:59.000+01:00</slam:ValidUntil><slam:ComponentProdOfferingPrice><slam:ID>1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#one_time_charge</slam:PriceType><slam:Price><slam:Value>0</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#EUR</slam:Datatype></slam:Price><slam:Quantity><slam:Value>1</slam:Value></slam:Quantity></slam:ComponentProdOfferingPrice></slam:ProductOfferingPrice></slam:Postcondition></slam:Action></slam:Guaranteed></slam:AgreementTerm></slam:SLA>]]>
</return>
     </ns:getSLAbyUserIDResponse>
  </soapenv:Body>
</soapenv:Envelope>
</soapenv:Envelope>

Section: Create Party

This section desribes how to insert a new customer into the P-SLAM database. The customized SLA@SOI framework expose a SOAP web service call to create a new Party. 

Web service URL

The HTTP port of the web services is 8080 and the endpoint for the SOAP request is the following:
/services/BusinessManager_Party?wsdl
Example of URL (here 10.15.5.118 is the server where SLA@SOI platform runs):
http://10.15.5.118:8080/services/BusinessManager_Party?wsdl

Description

Create a new Customer that will be managed by P-SLAM.

Parameters
  • type: please specify 'I' ("Individual")
  • partyId: SLA@SOI ID of the customer being created
  • currencyId: please use '1' (EUR) for the SLA@SOI currency
    Other input fields names (name, address, language, credentials, etc.) are self-explanatory (see example below).
Return Value
  • return: The result of the call.
Request example
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:impl="http://impl.ws.businessManager.slasoi.org">
  <soap:Header/>
  <soap:Body>
     <impl:createParty>
        <type>I</type>
        <party>
          <partyId>4444</partyId>
          <currencyId>1</currencyId>
           <individual>
              <address>via vai</address>
              <countryId>1</countryId>
              <email>io@io.it</email>
              <fax>8888888</fax>
              <firstName>pinco</firstName>
              <jobdepartment>a</jobdepartment>
              <jobtitle>tc</jobtitle>
              <languageId>1</languageId>
              <lastName>pallino</lastName>
              <phoneNumber>101010101</phoneNumber>
           </individual>
           <users>
              <passwd>password</passwd>
              <userLogin>userlogin</userLogin>
           </users>
        </party>
     </impl:createParty>
  </soap:Body>
</soap:Envelope>
Response example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Body>
     <ns:createPartyResponse xmlns:ns="http://impl.ws.businessManager.slasoi.org">
        <return xsi:type="ax25:CreatePartyResponseType" xmlns:ax25="http://types.ws.common.businessManager.slasoi.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
           <responseCode>4444</responseCode>
           <responseMessage>Party created successfully</responseMessage>
        </return>
     </ns:createPartyResponse>
  </soapenv:Body>
</soapenv:Envelope>

Section: Enforcement

This section explain how to dinamically configure PSLAM's enforcement policy. The enforcement task is performed through the use of DROOLS as rules engine. DROOLS support is already included inside the SLA@SOI framework and the P-SLAM specifies a rule to manage violation messages coming from the monitoring component. The rule which state this behavior is located under:

/opt/contrail/sla-at-soi/osgi-config/contrail-slamanager/provisioning-adjustment/basic_communication_rules_Contrail.drl.

The following is an example of rule:

package org.slasoi.gslam.pac;
import org.ow2.contrail.provider.pac.events.ViolationMessage;
import org.ow2.contrail.provider.pac.events.ViolationMessageTranslator;
import org.ow2.contrail.provider.pac.events.EventViolationFederationForwardingHandler;
import org.ow2.contrail.provider.pac.events.EventWarningCustomActionHandler;

//Rules to manage different monitoring event type: warning and violation;
rule "PrintEventWarning"
@id(1)
@name("PrintEventWarning")
@rulebody(rule "PrintEventWarning"
    when
       $event : Event(type == EventType.WarningEvent);
               $message : ViolationMessage();
               $translator: ViolationMessageTranslator();
    then
                System.out.println("INSIDE DROOLS RULE:");
        System.out.println("An event of type EventType.WarningEvent has been inserted:");
        EventWarningCustomActionHandler eventype= new EventWarningCustomActionHandler();
                eventype.setMessage($message);
                eventype.process();
end)
    when
       $event : Event(type == EventType.WarningEvent);
               $message : ViolationMessage();
               $translator: ViolationMessageTranslator();
    then
                System.out.println("INSIDE DROOLS RULE:");
        System.out.println("An event of type EventType.WarningEvent has been inserted:");
        EventWarningCustomActionHandler eventype= new EventWarningCustomActionHandler();
                eventype.setMessage($message);
                eventype.process();
end

rule "PrintEventViolation"
@id(2)
@name("PrintEventViolation")
@rulebody(rule "PrintEventViolation"
    when
       $event : Event(type == EventType.ViolationEvent);
               $message : ViolationMessage();
               $translator: ViolationMessageTranslator();
    then
                System.out.println("INSIDE DROOLS RULE:");
        System.out.println("An event of type EventType.ViolationEvent has been inserted:");
                EventViolationFederationForwardingHandler eventype= new EventViolationFederationForwardingHandler();
                eventype.setMessage($message);
                eventype.process();
end)
   when
       $event : Event(type == EventType.ViolationEvent);
               $message : ViolationMessage();
               $translator: ViolationMessageTranslator();
    then

                System.out.println("INSIDE DROOLS RULE:");
        System.out.println("An event of type EventType.ViolationEvent has been inserted:");
                EventViolationFederationForwardingHandler eventype= new EventViolationFederationForwardingHandler();
                eventype.setMessage($message);
                eventype.process();

The previous rule defines two different behaviors due to two different incoming messages. In case of warning message will be executed the EventWarningCustomActionHandler that will launch a custom action previously defined. While in case of violation message will be executed the EventViolationFederationForwardingHandler  that will forward the message to the federation channel.
The channel where to forward the message is configured inside the properties file:

/opt/contrail/sla-at-soi/osgi-config/contrail-slamanager/provisioning-adjustment/provisioning_adjustment.properties 

and more precisely on the property amqp_federation_forwarding_channel (i.e. INFRASTRUCTURE_FEDERATION_FORWARDING_EVENT_CHANNEL). The property enable_forward_violation_message (true/false) allow P-SLAM to enable or disable the operation of forwarding to the federation (i.e for testing purpose).

Finally, you may want to write your own Java class implementing your enforcement policy. The class must extend the abstract Java class EventHandler and must implement the method

public abstract void process() 

which will contain the code to be executed giving a particular event.  

Custom Action

The previously described handler EventWarningCustomActionHandler will execute a "Custom Action" previously defined by the customer.
 A customer may want to define a specific behavior due to a particular event (i.e a warning message from the monitoring component that notify a "likely" forthcoming violation of a previously agreed term). P-SLAM allow customer to write a Java class that will be executed on that particular event. The triggering condition, along with Java classname ad method to be performed, are referenced inside the SLA Template as an Agreement Term.
Here is an example of custom action referenced inside SLA Template:

<slam:InterfaceDeclr>
<slam:Text>Interface of method to be invoked</slam:Text>
<slam:Properties/>
<slam:ID>UpscalingInterface</slam:ID>
<slam:ProviderRef>ContrailCustomer</slam:ProviderRef>
<slam:Endpoint>
<slam:Text/>
<slam:Properties/>
<slam:ID>UpscalingEndpoint</slam:ID>
<slam:Location>location</slam:Location>
<slam:Protocol>http://www.slaatsoi.org/slamodel#SOAP</slam:Protocol>
</slam:Endpoint>
<slam:Interface>
<slam:InterfaceSpec>
<slam:Text/>
<slam:Properties/>
<slam:Name>org.ow2.contrail.provider.pac.action.ViolationAction</slam:Name>
<slam:Operation>
<slam:Text/>
<slam:Properties/>
<slam:Name>manageADD</slam:Name>
<slam:Input>
<slam:Text/>
<slam:Properties/>
<slam:Name>Number</slam:Name>
<slam:Auxiliary>false</slam:Auxiliary>
<slam:Datatype>http://www.w3.org/2001/XMLSchema#string</slam:Datatype>
</slam:Input>
<slam:Input>
<slam:Text/>
<slam:Properties/>
<slam:Name>VirtualSystem</slam:Name>
<slam:Auxiliary>false</slam:Auxiliary>
<slam:Datatype>http://www.w3.org/2001/XMLSchema#string</slam:Datatype>
</slam:Input>
</slam:Operation>
</slam:InterfaceSpec>
</slam:Interface>
</slam:InterfaceDeclr>
...
<slam:AgreementTerm>
<slam:Text/>
<slam:Properties/>
<slam:ID>Upscaling</slam:ID>
<slam:Guaranteed>
<slam:Text/>
<slam:Properties/>
<slam:State>
<slam:ID>UpscalingCondition</slam:ID>
<slam:Priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<slam:Constraint>
<slam:TypeConstraintExpr>
<slam:Value>
<slam:FuncExpr>
<slam:Text/>
<slam:Properties/>
<slam:Operator>http://www.slaatsoi.org/resources#vm_cpu_load</slam:Operator>
<slam:Parameter>
<slam:ID>VM_of_type_ubu1</slam:ID>
</slam:Parameter>
</slam:FuncExpr>
</slam:Value>
<slam:Domain>
<slam:SimpleDomainExpr>
<slam:ComparisonOp>http://www.slaatsoi.org/coremodel#greater_than</slam:ComparisonOp>
<slam:Value>
<slam:CONST>
<slam:Value>1.5</slam:Value>
<slam:Datatype>http://www.w3.org/2001/XMLSchema#decimal</slam:Datatype>
</slam:CONST>
</slam:Value>
</slam:SimpleDomainExpr>
</slam:Domain>
</slam:TypeConstraintExpr>
</slam:Constraint>
</slam:State>
</slam:Guaranteed>
<slam:Guaranteed>
<slam:Text/>
<slam:Properties/>
<slam:Action>
<slam:ID>UpscalingAction</slam:ID>
<slam:ActorRef>http://www.slaatsoi.org/slamodel#customer</slam:ActorRef>
<slam:Policy>http://www.slaatsoi.org/slamodel#mandatory</slam:Policy>
<slam:Precondition>
<slam:Text/>
<slam:Properties/>
<slam:Operator>http://www.slaatsoi.org/coremodel#violated</slam:Operator>
<slam:Parameter>
<slam:ValueExpr>
<slam:ID>UpscalingCondition</slam:ID>
</slam:ValueExpr>
</slam:Parameter>
</slam:Precondition>
<slam:Postcondition>
<slam:Text/>
<slam:Properties/>
<slam:Invocation>
<slam:Endpoint>UpscalingInterface/UpscalingEndpoint</slam:Endpoint>
<slam:Operation>UpscalingInterface/manageADD</slam:Operation>
<slam:Parameters>
<slam:Entry>
<slam:Key>VirtualSystem</slam:Key>
<slam:Value>
<slam:ID>ubu1</slam:ID>
</slam:Value>
</slam:Entry>
<slam:Entry>
<slam:Key>Number</slam:Key>
<slam:Value>
<slam:ID>1</slam:ID>
</slam:Value>
</slam:Entry>
</slam:Parameters>
</slam:Invocation>
</slam:Postcondition>
</slam:Action>
</slam:Guaranteed>
</slam:AgreementTerm>

which declare that the method manageADD(String virtualSystem, String number) of the class  org.ow2.contrail.provider.pac.action.ViolationAction should be executed when the vm_cpu_load of the virtual system specified by VM_of_type_ubu1 is greater than 1.5 .