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>
- 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.
Return Value
- return: A hexadecimal code representing the SLA negotiation session ID.
Request example
<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: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: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: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: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: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:Header/>
<soapenv:Body>
<rep:getSLA>
<slaId>75455792-c755-4828-9a57-abc8bacd47c3</slaId>
</rep:getSLA>
</soapenv:Body>
</soapenv:Envelope>
Response example
<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:Header/>
<soapenv:Body>
<rep:getSLAbyUserID>
<userId>467</userId>
</rep:getSLAbyUserID>
</soapenv:Body>
</soapenv:Envelope>
Response example
<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: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: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:
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: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 .