Edges in the kickstart graph are specified with the XML tags below. Order tags give control of the graph traversal (the order nodes appear in the final kickstart file).
Both the edge and order tags appear in kickstart graph files.
<graph>
Wraps an XML graph file.
<description>
Text description of what this part of the graph does.
<copyright>
Text description of the copyright associated with this graph file.
<changelog>
Text description of the changes made to this node file. Generally a "Log" CVS directive.
<edge>
Specifies an edge in the kickstart graph, links graph nodes together. Can be specified as a singleton tag:
<edge from="base" to="ganglia"/>
,
or a standard tag that wraps <to>
or
<from>
tags.
Optional. Specifies the beginning of an edge, a node name.
Example:
<edge from="server">
.
Optional. Specifies the end of an edge, a node name.
Example:
<edge to="client">
.
Optional. If the value of the "cond" is true, then this edge will be traversed. Values can be Rocks attributes or generic python expressions.
Example:
<edge from="client" to="x11" cond="x11"/>
.
If the "x11" Rocks attribute is set to "true", then this edge will be traversed.
Optional. Specifies which architectures should follow this edge. Same format as arch attribute in node files. The edge is ignored if the client's architecture does not match this list.
Example:
<edge from="client" to="x11" arch="x86_64"/>
.
<to>
Wraps a node name. Specifies the end of a directed edge in the graph. Used inside an edge tag with the "from" attribute:
<edge from="compute"> <to>compute-appliance</to> </edge> |
Optional. Specifies which architectures should follow this edge. The entire edge is ignored if the client's architecture does not match this list.
Example:
<to arch="i386">pvm</to>
.
<from>
Wraps a node name. Specifies the beginning of a directed edge. Used like "to" tag.
<edge to="client"> <from>compute-appliance</from> </edge> |
Optional. Specifies which architectures should follow this edge. The entire edge is ignored if the client's architecture does not match this list.
<order>
Specifies a ordering between nodes in the graph.
While the <edge>
tags specify a "membership" in the
kickstart file, the <order>
tags give a
"relative ordering" between nodes.
The ordering is affected by a topological sort of nodes using order edges. While the kickstart graph allows cycles, the set of order tags must specify a directed-acyclic graph (DAG). Any nodes not touched by an order edge have a random order in the resultant kickstart file.
Can be used to wrap <head>
and
<tail>
tags in the same fashion as
the <to>
and
<from>
tags for "edge".
Optional. Specifies which architectures should follow this edge. Same format as arch attribute in node files. The edge is ignored if the client's architecture does not match this list.
Optional.
Specifies the beginning of this edge, a node name.
The node specified by the <order head="node">
tag should be ordered before all child <tail>
tags.
<order head="grub"> <tail>grub-client</tail> <tail>grub-server</tail> </order> |
Special name "TAIL" is allowed, which specifies the node be placed last. Ordering among nodes with TAIL ordering is undefined.
<order head="TAIL"> <tail>install</tail> <tail>pxeboot</tail> <tail>compute</tail> </order> |
In the above example, the node files are "install", "pxeboot" and "compute" will all be at the end of the kickstart file.
Optional.
Specifies the end of this edge, a node name.
The node specified by the <order tail="node">
tag should be ordered after all child <head>
tags.
<order tail="server-firewall"> <head>networking-server</head> <head>database-data</head> </order> |
Special node name "HEAD" is allowed, which specifies the node is placed at the beginning of the kickstart file. Ordering among nodes with HEAD ordering is undefined.
<order tail="HEAD"> <head>python-development</head> <head>rlo</head> </order> |
<head>
Wraps a node name.
This tag is a child of an
<order tail="some-node-name">
tag.
All nodes wrapped by <head>
tags are guaranteed
to execute prior to the node specified in the
<order tail="some-node-name">
tag.
<order tail="server-firewall"> <head>networking-server</head> <head>database-data</head> </order> |
In the example above, "networking-server" and "database-data" are guaranteed to execute before "server-firewall".
<tail>
Wraps a node name.
This tag is a child of an
<order head="some-node-name">
tag.
All nodes wrapped by <tail>
tags are guaranteed
to execute after to the node specified in the
<order head="some-node-name">
tag.
<order head="grub"> <tail>grub-client</tail> <tail>grub-server</tail> </order> |
In the example above, "grub-client" and "grub-server" are guaranteed to execute after "grub".