~ubuntu-branches/ubuntu/karmic/libvirt/karmic-proposed

« back to all changes in this revision

Viewing changes to docs/schemas/storagepool.rng

  • Committer: Bazaar Package Importer
  • Author(s): Soren Hansen
  • Date: 2009-02-11 01:01:42 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: james.westby@ubuntu.com-20090211010142-8zrm7z1u6ryfhkiq
Tags: 0.6.0-1ubuntu1
* Merge with Debian experimental. Remaining changes:
  - debian/control:
    + Don't build-depend on QEmu.
    + Add "XS-Debian-" prefix to Debian's Vcs headers.
    + Bump bridge-utils, dnsmasq-base, netcat-openbsd, and iptables
      to Depends of libvirt-bin.
    + s/interract/interact/g
    + Add versioned Conflicts/Replaces to libvirt0 for libvirt0-dbg,
      since we used to ship them as such.
  - Rename libvirt group to libvirtd.
  - 0005-delayed_iff_up_bridge.patch: Don't try to bring up the bridge
    before at least one interface has been added to it.
  - dont_clobber_existing_bridges.patch: Assign the name of the virtual
    bridge dynamically to avoid interfering with existing bridges.
  - better_default_uri_virsh.patch: Default to qemu:///system if the
    user has write access to the libvirt socket, otherwise
    qemu:///session.
  - We call libxen-dev libxen3-dev, so change all references.
  - Included (but did not enable) opennebula patch (since it's not in
    main yet).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!-- A Relax NG schema for the libvirt node device XML format -->
 
2
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
 
3
    datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
 
4
  <!-- We handle only document defining a domain -->
 
5
  <start>
 
6
    <ref name='pool'/>
 
7
  </start>
 
8
 
 
9
 
 
10
  <define name='pool'>
 
11
    <element name='pool'>
 
12
      <choice>
 
13
        <ref name='pooldir'/>
 
14
        <ref name='poolfs'/>
 
15
        <ref name='poolnetfs'/>
 
16
        <ref name='poollogical'/>
 
17
        <ref name='pooldisk'/>
 
18
        <ref name='pooliscsi'/>
 
19
        <ref name='poolscsi'/>
 
20
      </choice>
 
21
    </element>
 
22
  </define>
 
23
 
 
24
  <define name='pooldir'>
 
25
    <attribute name='type'>
 
26
      <value>dir</value>
 
27
    </attribute>
 
28
    <ref name='commonmetadata'/>
 
29
    <ref name='sizing'/>
 
30
    <ref name='sourcedir'/>
 
31
    <ref name='target'/>
 
32
  </define>
 
33
 
 
34
  <define name='poolfs'>
 
35
    <attribute name='type'>
 
36
      <value>fs</value>
 
37
    </attribute>
 
38
    <ref name='commonmetadata'/>
 
39
    <ref name='sizing'/>
 
40
    <ref name='sourcefs'/>
 
41
    <ref name='target'/>
 
42
  </define>
 
43
 
 
44
  <define name='poolnetfs'>
 
45
    <attribute name='type'>
 
46
      <value>netfs</value>
 
47
    </attribute>
 
48
    <ref name='commonmetadata'/>
 
49
    <ref name='sizing'/>
 
50
    <ref name='sourcenetfs'/>
 
51
    <ref name='target'/>
 
52
  </define>
 
53
 
 
54
  <define name='poollogical'>
 
55
    <attribute name='type'>
 
56
      <value>logical</value>
 
57
    </attribute>
 
58
    <ref name='commonmetadata'/>
 
59
    <ref name='sizing'/>
 
60
    <ref name='sourcelogical'/>
 
61
    <ref name='target'/>
 
62
  </define>
 
63
 
 
64
  <define name='pooldisk'>
 
65
    <attribute name='type'>
 
66
      <value>disk</value>
 
67
    </attribute>
 
68
    <ref name='commonmetadata'/>
 
69
    <ref name='sizing'/>
 
70
    <ref name='sourcedisk'/>
 
71
    <ref name='target'/>
 
72
  </define>
 
73
 
 
74
  <define name='pooliscsi'>
 
75
    <attribute name='type'>
 
76
      <value>iscsi</value>
 
77
    </attribute>
 
78
    <ref name='commonmetadata'/>
 
79
    <ref name='sizing'/>
 
80
    <ref name='sourceiscsi'/>
 
81
    <ref name='target'/>
 
82
  </define>
 
83
 
 
84
  <define name='poolscsi'>
 
85
    <attribute name='type'>
 
86
      <value>scsi</value>
 
87
    </attribute>
 
88
    <ref name='commonmetadata'/>
 
89
    <ref name='sizing'/>
 
90
    <ref name='sourcescsi'/>
 
91
    <ref name='target'/>
 
92
  </define>
 
93
 
 
94
  <define name='commonmetadata'>
 
95
    <element name='name'>
 
96
      <ref name='name'/>
 
97
    </element>
 
98
    <optional>
 
99
      <element name='uuid'>
 
100
        <ref name='uuid'/>
 
101
      </element>
 
102
    </optional>
 
103
  </define>
 
104
 
 
105
  <define name='sizing'>
 
106
    <optional>
 
107
      <element name='capacity'>
 
108
        <ref name='uint'/>
 
109
      </element>
 
110
    </optional>
 
111
    <optional>
 
112
      <element name='allocation'>
 
113
        <ref name='uint'/>
 
114
      </element>
 
115
    </optional>
 
116
    <optional>
 
117
      <element name='available'>
 
118
        <ref name='uint'/>
 
119
      </element>
 
120
    </optional>
 
121
  </define>
 
122
 
 
123
  <define name='permissions'>
 
124
    <optional>
 
125
      <element name='permissions'>
 
126
        <element name='mode'>
 
127
          <ref name='uint'/>
 
128
        </element>
 
129
        <element name='owner'>
 
130
          <ref name='uint'/>
 
131
        </element>
 
132
        <element name='group'>
 
133
          <ref name='uint'/>
 
134
        </element>
 
135
        <optional>
 
136
          <element name='label'>
 
137
            <text/>
 
138
        </element>
 
139
        </optional>
 
140
      </element>
 
141
    </optional>
 
142
  </define>
 
143
 
 
144
  <define name='target'>
 
145
    <element name='target'>
 
146
      <optional>
 
147
        <element name='path'>
 
148
          <ref name='path'/>
 
149
        </element>
 
150
      </optional>
 
151
      <ref name='permissions'/>
 
152
    </element>
 
153
  </define>
 
154
 
 
155
  <define name='sourceinfohost'>
 
156
    <element name='host'>
 
157
      <attribute name='name'>
 
158
        <text/>
 
159
      </attribute>
 
160
      <empty/>
 
161
    </element>
 
162
  </define>
 
163
 
 
164
  <define name='sourceinfodev'>
 
165
    <element name='device'>
 
166
      <attribute name='path'>
 
167
        <choice>
 
168
          <ref name='path'/>
 
169
          <ref name='name'/>
 
170
        </choice>
 
171
      </attribute>
 
172
      <choice>
 
173
        <empty/>
 
174
        <ref name='devextents'/>
 
175
      </choice>
 
176
    </element>
 
177
  </define>
 
178
 
 
179
  <define name='devextents'>
 
180
    <oneOrMore>
 
181
      <element name='freeExtent'>
 
182
        <attribute name='start'>
 
183
          <ref name='uint'/>
 
184
        </attribute>
 
185
        <attribute name='end'>
 
186
          <ref name='uint'/>
 
187
        </attribute>
 
188
      </element>
 
189
    </oneOrMore>
 
190
  </define>
 
191
 
 
192
  <define name='sourceinfodir'>
 
193
    <element name='dir'>
 
194
      <attribute name='path'>
 
195
        <ref name='path'/>
 
196
      </attribute>
 
197
      <empty/>
 
198
    </element>
 
199
  </define>
 
200
 
 
201
  <define name='sourceinfoadapter'>
 
202
    <element name='adapter'>
 
203
      <attribute name='name'>
 
204
        <text/>
 
205
      </attribute>
 
206
      <empty/>
 
207
    </element>
 
208
  </define>
 
209
 
 
210
  <define name='sourceinfoname'>
 
211
    <element name='name'>
 
212
      <text/>
 
213
    </element>
 
214
  </define>
 
215
 
 
216
  <define name='sourcefmtfs'>
 
217
    <optional>
 
218
      <element name='format'>
 
219
        <attribute name='type'>
 
220
          <choice>
 
221
            <value>auto</value>
 
222
            <value>ext2</value>
 
223
            <value>ext3</value>
 
224
            <value>ext4</value>
 
225
            <value>ufs</value>
 
226
            <value>iso9660</value>
 
227
            <value>udf</value>
 
228
            <value>gfs</value>
 
229
            <value>gfs2</value>
 
230
            <value>vfat</value>
 
231
            <value>hfs+</value>
 
232
            <value>xfs</value>
 
233
          </choice>
 
234
        </attribute>
 
235
      </element>
 
236
    </optional>
 
237
  </define>
 
238
 
 
239
 
 
240
  <define name='sourcefmtnetfs'>
 
241
    <optional>
 
242
      <element name='format'>
 
243
        <attribute name='type'>
 
244
          <choice>
 
245
            <value>auto</value>
 
246
            <value>nfs</value>
 
247
          </choice>
 
248
        </attribute>
 
249
      </element>
 
250
    </optional>
 
251
  </define>
 
252
 
 
253
 
 
254
  <define name='sourcefmtdisk'>
 
255
    <optional>
 
256
      <element name='format'>
 
257
        <attribute name='type'>
 
258
          <choice>
 
259
            <value>none</value>
 
260
            <value>dos</value>
 
261
            <value>dvh</value>
 
262
            <value>gpt</value>
 
263
            <value>mac</value>
 
264
            <value>bsd</value>
 
265
            <value>pc98</value>
 
266
            <value>sun</value>
 
267
            <value>lvm2</value>
 
268
          </choice>
 
269
        </attribute>
 
270
      </element>
 
271
    </optional>
 
272
  </define>
 
273
 
 
274
 
 
275
  <define name='sourcefmtlogical'>
 
276
    <optional>
 
277
      <element name='format'>
 
278
        <attribute name='type'>
 
279
          <choice>
 
280
            <value>auto</value>
 
281
            <value>lvm2</value>
 
282
          </choice>
 
283
        </attribute>
 
284
      </element>
 
285
    </optional>
 
286
  </define>
 
287
 
 
288
 
 
289
  <define name='sourcedir'>
 
290
    <optional>
 
291
      <element name='source'>
 
292
        <empty/>
 
293
      </element>
 
294
    </optional>
 
295
  </define>
 
296
  <define name='sourcefs'>
 
297
    <element name='source'>
 
298
      <ref name='sourceinfodev'/>
 
299
      <ref name='sourcefmtfs'/>
 
300
    </element>
 
301
  </define>
 
302
 
 
303
  <define name='sourcenetfs'>
 
304
    <element name='source'>
 
305
      <ref name='sourceinfohost'/>
 
306
      <ref name='sourceinfodir'/>
 
307
      <ref name='sourcefmtnetfs'/>
 
308
    </element>
 
309
  </define>
 
310
 
 
311
  <define name='sourcelogical'>
 
312
    <element name='source'>
 
313
      <ref name='sourceinfoname'/>
 
314
      <optional>
 
315
        <ref name='sourceinfodev'/>
 
316
      </optional>
 
317
      <ref name='sourcefmtlogical'/>
 
318
    </element>
 
319
  </define>
 
320
 
 
321
  <define name='sourcedisk'>
 
322
    <element name='source'>
 
323
      <ref name='sourceinfodev'/>
 
324
      <ref name='sourcefmtdisk'/>
 
325
    </element>
 
326
  </define>
 
327
 
 
328
  <define name='sourceiscsi'>
 
329
    <element name='source'>
 
330
      <ref name='sourceinfohost'/>
 
331
      <ref name='sourceinfodev'/>
 
332
    </element>
 
333
  </define>
 
334
 
 
335
  <define name='sourcescsi'>
 
336
    <element name='source'>
 
337
      <ref name='sourceinfoname'/>
 
338
    </element>
 
339
  </define>
 
340
 
 
341
 
 
342
  <define name='name'>
 
343
    <data type='string'>
 
344
      <param name="pattern">[a-zA-Z0-9_\+\-]+</param>
 
345
    </data>
 
346
  </define>
 
347
  <define name='uuid'>
 
348
    <choice>
 
349
      <data type='string'>
 
350
        <param name="pattern">[a-fA-F0-9]{32}</param>
 
351
      </data>
 
352
      <data type='string'>
 
353
        <param name="pattern">[a-fA-F0-9]{8}\-([a-fA-F0-9]{4}\-){3}[a-fA-F0-9]{12}</param>
 
354
      </data>
 
355
    </choice>
 
356
  </define>
 
357
 
 
358
  <define name='uint'>
 
359
    <data type='string'>
 
360
      <param name="pattern">[0-9]+</param>
 
361
    </data>
 
362
  </define>
 
363
 
 
364
  <define name='path'>
 
365
    <data type='string'>
 
366
      <param name="pattern">/[a-zA-Z0-9_\+\-/%]+</param>
 
367
    </data>
 
368
  </define>
 
369
 
 
370
 
 
371
</grammar>