From: Andy Bavier Date: Wed, 23 Feb 2011 22:01:06 +0000 (-0500) Subject: Merge branch 'master' of ssh://git.planet-lab.org/git/sfa X-Git-Tag: sfa-1.0-14~3 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=487d8d8af8977271edb60ee453c5969847b12848;hp=3c13bbca5578c0b0c7bf877db6b4efb7312c9fb1;p=sfa.git Merge branch 'master' of ssh://git.planet-lab.org/git/sfa --- diff --git a/sfa/managers/eucalyptus/euca_rspec_validator.py b/sfa/managers/eucalyptus/euca_rspec_validator.py new file mode 100755 index 00000000..7e25063d --- /dev/null +++ b/sfa/managers/eucalyptus/euca_rspec_validator.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python + +from __future__ import with_statement +import sys +import os +from lxml import etree as ET + +## +# The location of the RelaxNG schema. +# +EUCALYPTUS_RSPEC_SCHEMA='eucalyptus.rng' + +def main(): + with open(sys.argv[1], 'r') as f: + xml = f.read() + schemaXML = ET.parse(EUCALYPTUS_RSPEC_SCHEMA) + rspecValidator = ET.RelaxNG(schemaXML) + rspecXML = ET.XML(xml) + if not rspecValidator(rspecXML): + error = rspecValidator.error_log.last_error + message = '%s (line %s)' % (error.message, error.line) + print message + else: + print 'It is valid' + +if __name__ == "__main__": + main() + diff --git a/sfa/managers/eucalyptus/eucalyptus.rnc b/sfa/managers/eucalyptus/eucalyptus.rnc index 49c1f339..ba9758c4 100644 --- a/sfa/managers/eucalyptus/eucalyptus.rnc +++ b/sfa/managers/eucalyptus/eucalyptus.rnc @@ -48,8 +48,8 @@ vm_type = element vm_type { cores, memory, disk_space, - request?, - euca_instances? + euca_instances?, + request? } request = element request { @@ -74,7 +74,7 @@ euca_instance = element euca_instance { attribute id { xsd:ID }, state, public_dns, - keypair + keypair? } ipv4 = element ipv4 { text } type = element type { text } diff --git a/sfa/managers/eucalyptus/eucalyptus.rng b/sfa/managers/eucalyptus/eucalyptus.rng index ec91e05b..51d23c64 100644 --- a/sfa/managers/eucalyptus/eucalyptus.rng +++ b/sfa/managers/eucalyptus/eucalyptus.rng @@ -106,10 +106,10 @@ - + - + @@ -144,7 +144,9 @@ - + + +