continue on ri_data.py

add mount-points and group handling
This commit is contained in:
lizhi-rocky
2010-07-21 17:21:06 +08:00
parent 3ef7daf59a
commit c3e59e063f
4 changed files with 512 additions and 80 deletions

View File

@@ -7,26 +7,40 @@
<partition device='/dev/hda5' start='16450623' size='4016187' id='83'/>
</partitions>
<raid raid-device="/dev/md0" raid-type="RAID0">
<raw-device>/dev/hda1</raw-device>
<raw-device>/dev/hda2</raw-device>
</raid>
<raids>
<raid raid-device="/dev/md0" raid-type="raid0">
<raw-device>/dev/hda1</raw-device>
<raw-device>/dev/hda2</raw-device>
</raid>
<raid raid-device="/dev/md1" raid-type="RAID5">
<raw-device>/dev/hda3</raw-device>
<raw-device>/dev/hda5</raw-device>
<raw-device>/dev/hda6</raw-device>
</raid>
<raid raid-device="/dev/md1" raid-type="raid5">
<raw-device>/dev/hda3</raw-device>
<raw-device>/dev/hda5</raw-device>
<raw-device>/dev/hda6</raw-device>
</raid>
</raids>
<mount-point device="/dev/hdb1" directory="/" file-system="ext3"/>
<mount-point device="/dev/hdb5" directory="/usr" file-system="ext2"/>
<mount-points>
<mount-point device="/dev/hdb1" directory="/" file-system="ext3"/>
<mount-point device="/dev/hdb5" directory="/usr" file-system="ext2"/>
</mount-points>
<network hostname="localhost" configuration="static" ip="192.168.1.25" mask="255.255.255.0" gateway="192.168.1.254" primary_dns="192.168.1.254" secondary_dns="" domain="in.linx"/>
<service name="ssh" start="yes"/>
<groups>
<group name="base" install='yes'>
<description>base software packages</description>
<mandatory>
<package name="acct" install="yes"/>
</mandatory>
<optional selection='manual'>
<package name='at' install='yes'/>
</optional>
</group>
</groups>
<services>
<service name="ssh" script='sshd' start="yes"/>
</services>
<group name="base">
<description>base software packages</description>
<including package="acct" type="mandatory" install="yes"/>
</group>
</install>

View File

@@ -5,11 +5,15 @@
<element name="install">
<ref name="serial-number"/>
<ref name="partitions"/>
<ref name="raids"/>
<optional>
<ref name="raids"/>
</optional>
<ref name="mount-points"/>
<ref name="network"/>
<ref name="services"/>
<ref name="groups"/>
<optional>
<ref name="services"/>
</optional>
</element>
</start>
@@ -34,33 +38,37 @@
</define>
<define name="raids">
<zeroOrMore>
<element name="raid">
<attribute name="raid-device"/>
<attribute name="raid-type">
<choice>
<value>RAID0</value>
<value>RAID1</value>
<value>RAID5</value>
</choice>
</attribute>
<oneOrMore>
<element name="raw-device">
<text/>
</element>
</oneOrMore>
</element>
</zeroOrMore>
<element name='raids'>
<oneOrMore>
<element name="raid">
<attribute name="raid-device"/>
<attribute name="raid-type">
<choice>
<value>raid0</value>
<value>raid1</value>
<value>raid5</value>
</choice>
</attribute>
<oneOrMore>
<element name="raw-device">
<text/>
</element>
</oneOrMore>
</element>
</oneOrMore>
</element>
</define>
<define name="mount-points">
<oneOrMore>
<element name="mount-point">
<attribute name="device"/>
<attribute name="directory"/>
<attribute name="file-system"/>
</element>
</oneOrMore>
<element name="mount-points">
<oneOrMore>
<element name="mount-point">
<attribute name="device"/>
<attribute name="directory"/>
<attribute name="file-system"/>
</element>
</oneOrMore>
</element>
</define>
<define name="network">
@@ -85,32 +93,37 @@
</element>
</define>
<define name="services">
<zeroOrMore>
<element name="service">
<attribute name="name"/>
<attribute name="start">
<ref name="mybool"/>
</attribute>
</element>
</zeroOrMore>
</define>
<define name="groups">
<oneOrMore>
<element name="group">
<attribute name="name"/>
<attribute name="install">
<ref name="mybool"/>
</attribute>
<optional>
<ref name="description"/>
</optional>
<oneOrMore>
<ref name="including"/>
</oneOrMore>
</element>
</oneOrMore>
<element name='groups'>
<oneOrMore>
<element name="group">
<attribute name="name"/>
<attribute name="install">
<ref name="mybool"/>
</attribute>
<optional>
<ref name="description"/>
</optional>
<optional>
<element name='mandatory'>
<ref name='packages'/>
</element>
</optional>
<optional>
<element name='optional'>
<attribute name='selection'>
<choice>
<value>all</value>
<value>none</value>
<value>manual</value>
</choice>
</attribute>
<ref name='packages'/>
</element>
</optional>
</element>
</oneOrMore>
</element>
</define>
<define name="description">
@@ -119,19 +132,17 @@
</element>
</define>
<define name="including">
<element name="including">
<attribute name="package"/>
<attribute name="type">
<choice>
<value>mandatory</value>
<value>optional</value>
</choice>
</attribute>
<attribute name="install">
<ref name="mybool"/>
</attribute>
</element>
<define name="packages">
<oneOrMore>
<element name="package">
<attribute name="name"/>
<optional>
<attribute name="install">
<ref name="mybool"/>
</attribute>
</optional>
</element>
</oneOrMore>
</define>
<define name="mybool">
@@ -140,4 +151,19 @@
<value>no</value>
</choice>
</define>
<define name='services'>
<element name='services'>
<zeroOrMore>
<element name='service'>
<attribute name='name'/>
<attribute name='script'/>
<attribute name='start'>
<ref name='mybool'/>
</attribute>
</element>
</zeroOrMore>
</element>
</define>
</grammar>