diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2007-01-24 02:19:43 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2007-01-24 02:19:43 +0000 |
commit | b238887ad8172c6a613b7d68bb551dac1aac57bb (patch) | |
tree | 1a0ce284f2c9b2b95447f4ea768b02e68f04797b /schemas | |
parent | 9182bcf5871ee041e789bb48d057323b6bc6b4b1 (diff) | |
download | bcfg2-b238887ad8172c6a613b7d68bb551dac1aac57bb.tar.gz bcfg2-b238887ad8172c6a613b7d68bb551dac1aac57bb.tar.bz2 bcfg2-b238887ad8172c6a613b7d68bb551dac1aac57bb.zip |
Implement Action support
- Schema addition for bundles/rules
- Tool driver for actions
- Frame support for pre-actions and post-actions
- Frame blacklist support (to preclude blocked entries from getting installed on the post-clobber pass)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2713 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'schemas')
-rw-r--r-- | schemas/bundle.xsd | 4 | ||||
-rw-r--r-- | schemas/rules.xsd | 12 | ||||
-rw-r--r-- | schemas/types.xsd | 26 |
3 files changed, 38 insertions, 4 deletions
diff --git a/schemas/bundle.xsd b/schemas/bundle.xsd index 1890108c8..cdbc5f900 100644 --- a/schemas/bundle.xsd +++ b/schemas/bundle.xsd @@ -18,6 +18,7 @@ <xsd:element name='SymLink' type='StructureEntry'/> <xsd:element name='Permissions' type='StructureEntry'/> <xsd:element name='PostInstall' type='StructureEntry'/> + <xsd:element name='Action' type='StructureEntry'/> <xsd:element name='Group' type='GroupType'/> </xsd:choice> <xsd:attribute type='xsd:string' name='name' use='required'/> @@ -34,6 +35,7 @@ <xsd:element name='SymLink' type='StructureEntry'/> <xsd:element name='Permission' type='StructureEntry'/> <xsd:element name='PostInstall' type='StructureEntry'/> + <xsd:element name='Action' type='StructureEntry'/> <xsd:element name='Group' type='GroupType'/> </xsd:choice> <xsd:attribute type='xsd:string' name='name'/> @@ -42,4 +44,4 @@ <xsd:attribute type='xsd:string' name='revision'/> </xsd:complexType> </xsd:element> -</xsd:schema>
\ No newline at end of file +</xsd:schema> diff --git a/schemas/rules.xsd b/schemas/rules.xsd index 270b08828..82ed4aaa0 100644 --- a/schemas/rules.xsd +++ b/schemas/rules.xsd @@ -29,6 +29,14 @@ <xsd:attribute type='xsd:string' name='group'/> </xsd:complexType> + <xsd:complexType name='ActionType'> + <xsd:attribute type='ActionTimingEnum' name='timing' use='required'/> + <xsd:attribute type='ActionWhenEnum' name='when' use='required'/> + <xsd:attribute type='ActionStatusEnum' name='status' use='required'/> + <xsd:attribute type='xsd:string' name='name' use='required'/> + <xsd:attribute type='xsd:string' name='command' use='required'/> + </xsd:complexType> + <xsd:complexType name='SymLinkType'> <xsd:attribute type='xsd:string' name='name' use='required'/> <xsd:attribute type='xsd:string' name='to' use='required'/> @@ -48,6 +56,7 @@ <xsd:element name='SymLink' type='SymLinkType'/> <xsd:element name='Package' type='PackageType'/> <xsd:element name='Permissions' type='PermissionsType'/> + <xsd:element name='Action' type='ActionType'/> <xsd:element name='Group' type='RContainerType'/> <xsd:element name='Client' type='RContainerType'/> </xsd:choice> @@ -64,10 +73,11 @@ <xsd:element name='SymLink' type='SymLinkType'/> <xsd:element name='Package' type='PackageType'/> <xsd:element name='Permissions' type='PermissionsType'/> + <xsd:element name='Action' type='ActionType'/> <xsd:element name='Group' type='RContainerType'/> <xsd:element name='Client' type='RContainerType'/> </xsd:choice> <xsd:attribute name='priority' type='xsd:integer' use='required'/> </xsd:complexType> </xsd:element> -</xsd:schema>
\ No newline at end of file +</xsd:schema> diff --git a/schemas/types.xsd b/schemas/types.xsd index b9d7131dd..f722309f8 100644 --- a/schemas/types.xsd +++ b/schemas/types.xsd @@ -8,7 +8,7 @@ </xsd:documentation> </xsd:annotation> - <xsd:simpleType name='PackageTypeEnum'> + <xsd:simpleType name='PackageTypeEnum'> <xsd:restriction base='xsd:string'> <xsd:enumeration value='deb' /> <xsd:enumeration value='rpm' /> @@ -25,4 +25,26 @@ </xsd:restriction> </xsd:simpleType> -</xsd:schema>
\ No newline at end of file + <xsd:simpleType name='ActionTimingEnum'> + <xsd:restriction base='xsd:string'> + <xsd:enumeration value='both'/> + <xsd:enumeration value='pre'/> + <xsd:enumeration value='post'/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name='ActionWhenEnum'> + <xsd:restriction base='xsd:string'> + <xsd:enumeration value='modified'/> + <xsd:enumeration value='always'/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name='ActionStatusEnum'> + <xsd:restriction base='xsd:string'> + <xsd:enumeration value='ignore'/> + <xsd:enumeration value='check'/> + </xsd:restriction> + </xsd:simpleType> + +</xsd:schema> |