[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