[workspace-dev] Plugin development/Integration with OpenNebula

William Voorsluys williamvoor at gmail.com
Thu Jul 17 08:51:51 CDT 2008


Hi Everyone,

Some comments inline.

2008/7/12 Tim Freeman <tfreeman at mcs.anl.gov>:

>> The idea is to use the optional parameters part of the workspace WSDL.
>> However, this addition wouldn't include an ANY parameter but, ideally,
>> it should be an easily extensible format. So, let's say we start with
>> something that allows requests of this type:
>>
>> <opennebula>
>>     <start>2008-11-04 13:00:00</start>
>>     <budget>200</budget>
>> </opennebula>
>>
>> However, if further down the road OpenNebula adds support for
>> deadline-driven scheduling, adding a "<deadline>" element inside the
>> optional parameter would require modifying the schema, which is I assume
>> would be an inconvenient thing to do. So, we're thinking of something
>> along the lines of:
>>
>> <opennebula>
>>       <param>
>>               <param>start</param>
>>               <value>2008-11-04 13:00:00</value>
>>       </param>
>>       <param>
>>               <param>budget</param>
>>               <value>200</value>
>>       </param>
>>
>>       <!-- etc. -->
>> </opennebula>
>
> This would not belong in optional parameters in my opinion, resource request
> extensions could be put into negotiable.xsd
>
> http://workspace.globus.org/vm/TP1.3.3/interfaces/deployment.html
>
> I would not call it "<opennebula>" but maybe do something like a generic extra
> scheduler parameters minOccurs=0 sequence:
>
> <otherparams>
>    <param>
>        <name>opennebula:budget</name>
>        <value>200</value>
>    </param>
> </otherparams>
>
> (Putting namespaces on the parameter names)

In this sense, the XML schema additions would consist of a list of
elements of type "OptionalSchedulerParameter", which has name and
value, plus a type element. The purpose of the latter is to aid the
receiver side on correctly parsing the contents of "value".
Our addition would look like as follows:
---
<xs:complexType name="OptionalSchedulerParameter_Type">
   <xs:sequence>
	<xs:element name="name" type="xs:QName"/>
     	<xs:element name="value" type="xs:anySimpleType"/>
	 <xs:element name="type" type="xs:QName"/>
    </xs:sequence>
   </xs:complexType>

<xs:complexType name="OptionalSchedulerParameterList_Type">
    <xs:sequence>
       <xs:element name="OptionalSchedulerParameter"
type="tns:OptionalSchedulerParameter_Type" minOccurs="0"
maxOccurs="unbounded"/>
  </xs:sequence>
</xs:complexType>
	
<xs:element name="OptionalSchedulerParameters"
type="tns:OptionalSchedulerParameterList_Type"/>
---

An example of XML for this schema portion would be:

---
<?xml version="1.0" encoding="UTF-8"?>
<OptionalSchedulerParameters
xmlns="http://www.globus.org/2008/06/workspace/types"
xmlns:opennebula="http://www.opennebula.org/2008/07/types"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <OptionalSchedulerParameter>
	<name>opennebula:budget</name>
	<value>200</value>
	<type>xs:string</type>
   </OptionalSchedulerParameter>
   <OptionalSchedulerParameter>
	<name>opennebula:deadline</name>
	<value>2008-12-31T00:00:00</value>
	<type>xs:datetime</type>
   </OptionalSchedulerParameter>
</OptionalSchedulerParameters>
---

That's all.

Cheers,

William.




More information about the workspace-dev mailing list