Federation SLA Manager


Component description

The "Federation SLA-manager" -or briefly "F-SLAM"- is the Contrail component responsible for SLA negotiation and enforcement at Federation level. It is made of two main modules: a negotiation module that handles the required SLA negotiation steps with the Federation Core (initiate negotiation, negotiation, create agreement), and an enforcement module that enforces the agreement terms once the SLA has been agreed. The negotiation step includes the provider selection process. The Contrail F-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
  • 1 or more P-SLAM(s)
  • Monitoring component
  • Network ports 8080, 3306, 5005, 5672, 7077

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 F-SLAM package comes already with all the auxiliary software needed to work, including the customized version of SLA@SOI with a default configuration for F-SLAM (if for some reasons you want to do the installation by yourself, follow these SLA@SOI installation instructions).

Provider selection configuration

The configuration of provider selection algorithms is in the following file:
$SLASOI_HOME/federation-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:

  • terms: it is the list of the agreement terms to be considered in all selection criteria. Usually, this is a super-set of the criteria specified by the user in their proposal. Names of supported terms are:
    • CPU speed: cpu_speed
    • Memory: memory
    • Number of cores: vm_cores
    • Price: price
  • price_term_name: it is the identifier for price term, which is not included in the proposal. The name must match with the Price term listed in previous terms item. Leave it as "price", unless you have different needs.
  • price_normalization: while terms different from prices can be normalized by computing the ratio between proposal and offer values, this cannot be done for prices, because they are missing in the proposal. So they must be normalized either in an absolute way (reciprocal of the actual price) or in a relative way, taking into account prices of the same virtual system for the other offers. Possible value are:
    • Absolute: ABS
    • Relative: REL
  • algorithm_class: specifies the selection algorithm to use, in terms of a Java class to load. Almost all the preloaded algorithms transform the multi-objective optimization problem into a geometrical problem in a multi-dimensional space, where dimensions can be either one for each Guarantee Term, or one for each pair {Guarantee term, Virtual System}. The following classes are preloaded in the F-SLAM:
    • org.ow2.contrail.federation.poc.impl.provider.selection.algorithms.MaxOfferDistance: in this algorithm there are as many dimensions as the pairs {Guarantee term, Virtual System}, and each point represents a SLA offer. The farthest point from the origin, having the maximum Euclidean distance, represents the best SLA offer.
    • org.ow2.contrail.federation.poc.impl.provider.selection.algorithms.MaxVirtualSystemDistance: here the space dimensions are the Guarantee terms. Each point represent a Virtual System. The algorithm selects the offer having the farthest (max Euclidean distance) Virtual System from the origin.
    • org.ow2.contrail.federation.poc.impl.provider.selection.algorithms.MaxVirtualSystemDistanceRel: this algorithm is similar to the previous one; the difference is that each Virtual System distance is first normalized to the average distance of the same Virtual System for all the other offers.
    • org.ow2.contrail.federation.poc.impl.provider.selection.algorithms.MaxAverageVirtualSystemDistance: in this algorithm, an "average" Virtual System is computed for each offer. The algorithm select the offer having the best "average" Virtual system. 
    • org.ow2.contrail.federation.poc.impl.provider.selection.algorithms.MaxAverageVirtualSystemDistanceRel: this algorithm is similar to the previous one; the difference is that each average Virtual System distance is first normalized to the average distance of the analogous values for all the other offers.
    • org.ow2.contrail.federation.poc.impl.provider.selection.algorithms.MaxOfferLinearCombination: in this case the Euclidean distance in a multi-dimensional space is not considered. Instead, the algorithms maximizes a Linear Combination where its terms vectors comes from the normalized values of each term for each Virtual System, and Scalars are the User Criteria weights.
    • org.ow2.contrail.federation.poc.impl.provider.selection.algorithms.SingleRandomOfferAlg: this is a dummy algorithm: it chooses a single random offer among the available ones.
      Finally, you may want to write your own Java class implementing your algorithm. The class must extend the OfferSelectorAbstractImpl class and must implement the method
      public List<WeightedSlat> evaluate(List<SLATemplate> offers, SLATemplate proposal, Criterion[] criteria) throws SelectionException
  • max_offers: specifies the maximum number of offers to be returned by F-SLAM for each negotiation round.

Configuration example:
# Agreement terms supported in selection criteria
terms=cpu_speed,memory,vm_cores,price
#
# price agreement term identifier
price_term_name=price
#
# price normalization method
price_normalization=ABS
#
# Selection algorithm class
algorithm_class=org.ow2.contrail.federation.poc.impl.provider.selection.algorithms.MaxOfferDistance
#
# Max number of SLA offers to be returned
max_offers=4

AMQP bus configuration

Not available. The enforcement at Federation level is to be implemented.

Prerequisites for F-SLAM usage

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

  • An SLA User created in SLA@SOI by using the (Contrail customized) createUser service
  • At least one P-SLAM up & running

Starting and stopping F-SLAM

To start F-SLAM, use the start 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 F-SLAM ones, and the syntax converter (a SLA@SOI component). If started successfully, a message containing the F-SLAM endpoint, similar to this, will appear in the OSGI console:
11:07:43,298 INFO  [SpringOsgiExtenderThread-30   ] l.federation.main.beans.SkeletonSLAMBean  -
        *** :: start :: SkeletonSLAMBean >>
                [ID]                  ='CONTRAIL-FEDERATION-SLAMANAGER-1'
                [EPR]                 ='http://10.15.5.114:8080/services/federationNegotiation?wsdl'
                [GroupID]             ='GLOBAL'
                [wsPrefix]            ='federation'
                [Gslam-services]      ='org.slasoi.gslam.main.activator.impl.GenericSLAManagerUtilsImpl@19896c7'
                SLATemplateRegistry   ='org.slasoi.gslam.templateregistry.SLATemplateRegistryImpl@d32028'
                SLARegistry           ='org.slasoi.gslam.slaregistry.impl.SLARegistryImpl@e4445e'
                ProtocolEngine        ='org.slasoi.gslam.protocolengine.ProtocolEngineServices@44916c'
                SyntaxConverters      ='
                                SLASOISyntaxConverter=org.slasoi.gslam.syntaxconverter.SyntaxConverter@1a75e1b
                Authorization         ='org.slasoi.gslam.core.authorization.BasicAuthorization@1135607'
                ServiceAdvertisement  ='org.slasoi.sa.pss4slam.ServiceAdvertisementBroker@1a7c3ef'
                MonitorManager        ='org.slasoi.gslam.monitoring.manager.impl.MonitoringManager@750a05'
                PlanningOptimization  ='org.ow2.contrail.federation.poc.impl.PlanningOptimizationImpl@1e4f266'
                ProvisioningAdjustment='org.ow2.contrail.federation.pac.impl.ProvisioningAdjustmentImpl@1e61e14'

Also, the bundles involved with federation SLA management, visible using the ss OSGI command, are the last four (federation*). They must be all in ACTIVE state:
169     ACTIVE      federation-core_0.1.0.SNAPSHOT
170     ACTIVE      federation-slam4osgi_0.1.0.SNAPSHOT
171     ACTIVE      federation-poc_0.1.0.SNAPSHOT
172     ACTIVE      federation-pac_0.1.0.SNAPSHOT

To stop F-SLAM, type "exit" from the OSGI console:
171     ACTIVE      federation-poc_0.1.0.SNAPSHOT
172     ACTIVE      federation-pac_0.1.0.SNAPSHOT
osgi> exit

Public API - federation-sla-manager

List of Contrail provider SLA manager sections:

  • Negotiation
  • Querying SLAs
  • Enforcement

Section: Negotiation

Negotiation process is made of 3 steps:

  • initiateNegotiation 
  • negotiate 
  • 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 endpoint for the SOAP request is "/services/federationNegotiation?wsdl".
The URL is the same for all the 3 steps.
Example of URL for a F-SLAM running on host 10.15.5.114:
http://10.15.5.114:8080/services/federationNegotiation?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 F-SLAM running on host 10.15.5.114:
      <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.114:8080/services/federationNegotiation?wsdl</slasoi:Value>
      </slasoi:Entry>
      </slasoi:Properties>
      <slasoi:ID>ContrailProvider</slasoi:ID>
      <slasoi:Role>http://www.slaatsoi.org/slamodel#provider</slasoi:Role>
      </slasoi:Party>
    • List of P-SLAMs. The P-SLAM to be contacted during the F-SLAM negotiation are specified in the SLA template itself, in a key/value entry inside the SLA@SOI root Properties element. The Key must be "ProvidersList" and the Value is a JSON string containing the list of Providers. Each provider is identified by the UUID as in the federation DB ("provider-uuid") and the P-SLAM URL ("p-slam-url").
      Example :
      <slasoi:Entry>
      <slasoi:Key>ProvidersList</slasoi:Key>
      <slasoi:Value>
      {[
      {"provider-uuid":"42", "p-slam-url":"http://10.15.8.2:8080/services/contrailNegotiation?wsdl"},
      {"provider-uuid":"37", "p-slam-url":"http://10.15.8.3:8080/services/contrailNegotiation?wsdl"}
      ]}
        </slasoi:Value>
      </slasoi:Entry>
    • User criteria. The user criteria to be used during the negotiation are specified in the SLA template itself, in a key/value entry inside the SLA@SOI root Properties element. The Key must be "Criteria" and the Value is a JSON string containing the list of User Criteria. Each criterion specifies the criterion name (e.g. "cpu_speed") and the related weight, which is a rational number in range [0,1]. Supported criteria are the following: cpu_speed, memory, vm_cores, and price.
      Example :
      <slasoi:Entry>
      <slasoi:Key>Criteria</slasoi:Key>
      <slasoi:Value>
      {"cpu_speed":"0.8", "memory":"0.7", "vm_cores":"0.5", "price":"0.3"}
      </slasoi:Value>
      </slasoi:Entry>
Return Value
  • return: A hexadecimal code representing the SLA negotiation session ID.
Request example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.syntaxconverter.gslam.slasoi.org">
  <soapenv:Header/>
  <soapenv:Body>
     <web:initiateNegotiation>
        <slaTemplate>

<![CDATA[
<slasoi:SLATemplate xmlns:slasoi="http://www.slaatsoi.eu/slamodel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.slaatsoi.eu/slamodel file:///C:/SLA@SOI/slasoi.xsd">
<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>
{[
{"provider-uuid":"42", "p-slam-url":"http://10.15.8.2:8080/services/contrailNegotiation?wsdl"},
{"provider-uuid":"37", "p-slam-url":"http://10.15.8.3: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>
{"cpu_speed":"0.8", "memory":"0.7", "vm_cores":"0.5", "price":"0.3"}
</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>

<slasoi:UUID>Contrail-SLAT-NewFeatures-02</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.114:8080/services/federationNegotiation?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://www.acme.com</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>
<slasoi:ID>333</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>/opt/contrail/sla-at-soi/osgi-config/contrail-slamanager/planning-optimization/OVFPasquale.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: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#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#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#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>256</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>1</slasoi:Value>
<slasoi:Datatype>http://www.slaatsoi.org/coremodel/units#GHz</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
</slasoi:AgreementTerm>
</slasoi:SLATemplate>
]]>


</slaTemplate>
     </web:initiateNegotiation>
  </soapenv:Body>
</soapenv:Envelope>
Response example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Body>
     <ns:initiateNegotiationResponse xmlns:ns="http://webservice.syntaxconverter.gslam.slasoi.org">
        <return>93b2750b-a52b-4160-b151-cf020cd337e5</return>
     </ns:initiateNegotiationResponse>
  </soapenv:Body>
</soapenv:Envelope>

negotiate web service

Description

Negotiate a SLA.

Parameters
  • slaTemplate:  The SLA template proposed by the customer. It is the same slaTemplate used in initiateNegotiation web service.
  • negotiationID: The negotiation session ID returned by the invocation of initiateNegotiation web service.
     
Return Value
  • return: A list of SLA Template counter-offers. Each SLA template represents the counter offers of the provider.
Request example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.syntaxconverter.gslam.slasoi.org">
  <soapenv:Header/>
  <soapenv:Body>
     <web:negotiate>
        <negotiationID>93b2750b-a52b-4160-b151-cf020cd337e5</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">
<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>
{[
{"provider-uuid":"42", "p-slam-url":"http://10.15.8.2:8080/services/contrailNegotiation?wsdl"},
{"provider-uuid":"37", "p-slam-url":"http://10.15.8.3: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>
{"cpu_speed":"0.8", "memory":"0.7", "vm_cores":"0.5", "price":"0.3"}
</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>

<slasoi:UUID>Contrail-SLAT-NewFeatures-02</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.114:8080/services/federationNegotiation?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://www.acme.com</slasoi:Value>
</slasoi:Entry>
</slasoi:Properties>
<slasoi:ID>333</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>/opt/contrail/sla-at-soi/osgi-config/contrail-slamanager/planning-optimization/OVFPasquale.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: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#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#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#equals</slasoi:ComparisonOp>
<slasoi:Value>
<slasoi:CONST>
<slasoi:Value>256</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>1</slasoi:Value>
<slasoi:Datatype>http://www.slaatsoi.org/coremodel/units#GHz</slasoi:Datatype>
</slasoi:CONST>
</slasoi:Value>
</slasoi:SimpleDomainExpr>
</slasoi:Domain>
</slasoi:TypeConstraintExpr>
</slasoi:Constraint>
</slasoi:State>
</slasoi:Guaranteed>
</slasoi:AgreementTerm>
</slasoi:SLATemplate>
]]>


</slaTemplate>
     </web:negotiate>
  </soapenv:Body>
</soapenv:Envelope>
Response example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Body>
     <ns:negotiateResponse xmlns:ns="http://webservice.syntaxconverter.gslam.slasoi.org" xmlns:ax225="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>{"ProvidersList":[{"p-slam-url":"http://10.15.5.2:8080/services/contrailNegotiation?wsdl","provider-uuid":"42"}]}</slam:Value></slam:Entry><slam:Entry><slam:Key>SelectionWeight</slam:Key><slam:Value>1.8089914893880334</slam:Value></slam:Entry></slam:Properties><slam:UUID>Contrail-SLAT-NewFeatures-02</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.114:8080/services/federationNegotiation?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://www.acme.com</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>/opt/contrail/sla-at-soi/osgi-config/contrail-slamanager/planning-optimization/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: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#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>1000.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>1.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>512.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: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: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.000Z</slam:ValidFrom><slam:ValidUntil>2014-12-31T00:00:00.000Z</slam:ValidUntil><slam:ComponentProdOfferingPrice><slam:ID>Price_OF_ubu1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#per_hour</slam:PriceType><slam:Price><slam:Value>0.36583999999999994</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>
        <return><![CDATA[<slam:SLATemplate xmlns:slam="http://www.slaatsoi.eu/slamodel"><slam:Text/><slam:Properties><slam:Entry><slam:Key>ProvidersList</slam:Key><slam:Value>{"ProvidersList":[{"p-slam-url":"http://10.15.5.3:8080/services/contrailNegotiation?wsdl","provider-uuid":"37"}]}</slam:Value></slam:Entry><slam:Entry><slam:Key>SelectionWeight</slam:Key><slam:Value>1.7956924426540029</slam:Value></slam:Entry></slam:Properties><slam:UUID>Contrail-SLAT-NewFeatures-02</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.114:8080/services/federationNegotiation?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://www.acme.com</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>/opt/contrail/sla-at-soi/osgi-config/contrail-slamanager/planning-optimization/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: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#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>280.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>1.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>512.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: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: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.000Z</slam:ValidFrom><slam:ValidUntil>2014-12-31T00:00:00.000Z</slam:ValidUntil><slam:ComponentProdOfferingPrice><slam:ID>Price_OF_ubu1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#per_hour</slam:PriceType><slam:Price><slam:Value>0.27224</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>

createAgreement web service

Description

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

Parameters
  • slaTemplate: The final SLA template choosen by the customer. It has to be one of the offers returned by the negotiate service.
  • negotiationID: The negotiation session ID returned by the invocation of initiateNegotiation API. 
Return Value
  • return: The agreed SLA. 
Request example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.syntaxconverter.gslam.slasoi.org">
  <soapenv:Header/>
  <soapenv:Body>
     <web:createAgreement>
        <negotiationID>93b2750b-a52b-4160-b151-cf020cd337e5</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>{"ProvidersList":[{"p-slam-url":"http://10.15.5.2:8080/services/contrailNegotiation?wsdl","provider-uuid":"42"}]}</slam:Value></slam:Entry><slam:Entry><slam:Key>SelectionWeight</slam:Key><slam:Value>1.8089914893880334</slam:Value></slam:Entry></slam:Properties><slam:UUID>Contrail-SLAT-NewFeatures-02</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.114:8080/services/federationNegotiation?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://www.acme.com</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>/opt/contrail/sla-at-soi/osgi-config/contrail-slamanager/planning-optimization/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: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#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>1000.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>1.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>512.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: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: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.000Z</slam:ValidFrom><slam:ValidUntil>2014-12-31T00:00:00.000Z</slam:ValidUntil><slam:ComponentProdOfferingPrice><slam:ID>Price_OF_ubu1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#per_hour</slam:PriceType><slam:Price><slam:Value>0.36583999999999994</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#EUR</slam:Datatype></slam:Price><slam:Quantity><slam:Value>1</slam:Value><slam:Datatype>http://www.slaatsoi.org/coremodel/units#vm</slam:Datatype></slam:Quantity></slam:ComponentProdOfferingPrice></slam:ProductOfferingPrice></slam:Postcondition></slam:Action></slam:Guaranteed></slam:AgreementTerm></slam:SLATemplate>
]]>

</slaTemplate>
     </web:createAgreement>
  </soapenv:Body>
</soapenv:Envelope>
Response example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Body>
     <ns:createAgreementResponse xmlns:ns="http://webservice.syntaxconverter.gslam.slasoi.org">
        <return><![CDATA[<slam:SLA xmlns:slam="http://www.slaatsoi.eu/slamodel"><slam:Text/><slam:Properties><slam:Entry><slam:Key>FederationSlaId</slam:Key><slam:Value>41e39246-bdf2-4c88-9d02-446256f0e135</slam:Value></slam:Entry><slam:Entry><slam:Key>ProviderUUid</slam:Key><slam:Value>40</slam:Value></slam:Entry><slam:Entry><slam:Key>CEE-ID</slam:Key><slam:Value>/api/cimi/cee/54</slam:Value></slam:Entry></slam:Properties><slam:UUID>41e39246-bdf2-4c88-9d02-446256f0e135</slam:UUID><slam:ModelVersion>sla_at_soi_sla_model_v1.0</slam:ModelVersion><slam:EffectiveFrom>2013-11-22T18:25:46.704Z</slam:EffectiveFrom><slam:EffectiveUntil>2015-11-22T18:25:46.704Z</slam:EffectiveUntil><slam:TemplateId>Contrail-SLAT-NewFeatures-02</slam:TemplateId><slam:AgreedAt>2013-11-22T18:25:46.703Z</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.114:8080/services/federationNegotiation?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://www.acme.com</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>/opt/contrail/sla-at-soi/osgi-config/contrail-slamanager/planning-optimization/OVFPasquale.ovf</slam:Value></slam:Entry><slam:Entry><slam:Key>SLA-ProvidersList</slam:Key><slam:Value>{"SLA-ProvidersList":[{"sla-id":"e42e6942-45d2-48a9-ae77-a591460b784a","provider-uuid":"40"}]}</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: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#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>1000.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>1.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>512.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: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: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.000Z</slam:ValidFrom><slam:ValidUntil>2014-12-31T00:00:00.000Z</slam:ValidUntil><slam:ComponentProdOfferingPrice><slam:ID>Price_OF_ubu1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#per_hour</slam:PriceType><slam:Price><slam:Value>0.36583999999999994</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:

  • getSLA 

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.114 is the server where SLA@SOI platform runs):
http://10.15.5.114:8080/services/BusinessManager_Reporting?wsdl

getSLA web service

Description

Retrieve a SLA given a SLA ID.

Parameters
  • slaId: The Id of the registered SLA. The ID is included in the SLA itself: the caller of the createAgreement service can retrieve from the UUID field in the SLA contained in the response. 
Return Value
  • return: The SLA if the SLA is found, otherwise an error message.
Request example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rep="http://reportingWS.businessManager.slasoi.org">
  <soapenv:Header/>
  <soapenv:Body>
     <rep:getSLA>
        <slaId>41e39246-bdf2-4c88-9d02-446256f0e135</slaId>
     </rep:getSLA>
  </soapenv:Body>
</soapenv:Envelope>
Response example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Body>
     <ns:getSLAResponse xmlns:ns="http://reportingWS.businessManager.slasoi.org">
        <return><![CDATA[<slam:SLA xmlns:slam="http://www.slaatsoi.eu/slamodel"><slam:Text/><slam:Properties><slam:Entry><slam:Key>FederationSlaId</slam:Key><slam:Value>41e39246-bdf2-4c88-9d02-446256f0e135</slam:Value></slam:Entry><slam:Entry><slam:Key>ProviderUUid</slam:Key><slam:Value>40</slam:Value></slam:Entry><slam:Entry><slam:Key>CEE-ID</slam:Key><slam:Value>/api/cimi/cee/54</slam:Value></slam:Entry></slam:Properties><slam:UUID>41e39246-bdf2-4c88-9d02-446256f0e135</slam:UUID><slam:ModelVersion>sla_at_soi_sla_model_v1.0</slam:ModelVersion><slam:EffectiveFrom>2013-11-22T18:25:46.704Z</slam:EffectiveFrom><slam:EffectiveUntil>2015-11-22T18:25:46.704Z</slam:EffectiveUntil><slam:TemplateId>Contrail-SLAT-NewFeatures-02</slam:TemplateId><slam:AgreedAt>2013-11-22T18:25:46.703Z</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.114:8080/services/federationNegotiation?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://www.acme.com</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>/opt/contrail/sla-at-soi/osgi-config/contrail-slamanager/planning-optimization/OVFPasquale.ovf</slam:Value></slam:Entry><slam:Entry><slam:Key>SLA-ProvidersList</slam:Key><slam:Value>{"SLA-ProvidersList":[{"sla-id":"e42e6942-45d2-48a9-ae77-a591460b784a","provider-uuid":"40"}]}</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: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#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>1000.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>1.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>512.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: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: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.000Z</slam:ValidFrom><slam:ValidUntil>2014-12-31T00:00:00.000Z</slam:ValidUntil><slam:ComponentProdOfferingPrice><slam:ID>Price_OF_ubu1</slam:ID><slam:PriceType>http://www.slaatsoi.org/business#per_hour</slam:PriceType><slam:Price><slam:Value>0.36583999999999994</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>

Section: Create Party

New customers can be created in the F-SLAM database. The exposed web service in the customized SLA@SOI framework is:

  • createParty

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.114 is the server where SLA@SOI platform runs):
http://10.15.5.114:8080/services/BusinessManager_Party?wsdl

Description

Create a new customer in the F-SLAM database.

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 are self-explanatory (see example below).
Return Value
  • return: The result of the call.
Request example
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:impl="http://impl.ws.businessManager.slasoi.org">
  <soap:Header/>
  <soap:Body>
     <impl:createParty>
        <type>I</type>
        <party>
          <partyId>42</partyId>
          <currencyId>1</currencyId>
           <individual>
              <address>canyon street, 1</address>
              <countryId>1</countryId>
              <email>wile.coyote@acme.com</email>
              <fax>141592</fax>
              <firstName>Wile</firstName>
              <jobdepartment>IT</jobdepartment>
              <jobtitle>inventor</jobtitle>
              <languageId>1</languageId>
              <lastName>Coyote</lastName>
              <phoneNumber>71828</phoneNumber>
           </individual>
           <users>
              <passwd>dskj*%#RTS</passwd>
              <userLogin>wilecoyote</userLogin>
           </users>
        </party>
     </impl:createParty>
  </soap:Body>
</soap:Envelope>
Response example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Body>
     <ns:createPartyResponse xmlns:ns="http://impl.ws.businessManager.slasoi.org">
        <return xsi:type="ax25:CreatePartyResponseType" xmlns:ax25="http://types.ws.common.businessManager.slasoi.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
           <responseCode>4444</responseCode>
           <responseMessage>Party created successfully</responseMessage>
        </return>
     </ns:createPartyResponse>
  </soapenv:Body>
</soapenv:Envelope>

Section: Enforcement

The SLA Enforcement at Federation level is to be implemented.