The slaves for a bridge/bond should behave exactly the same as the main
interface wrt ONBOOT/HOTPLUG
When generating interface XML from ifcfg-* files, we use ONBOOT/HOTPLUG
from the ifcfg-* file for the main interface, ignoring the settings from
slaves.
---
data/xml/initscripts-get.xsl | 15 +++++++++++----
tests/initscripts/bond-arp.xml | 2 ++
tests/initscripts/bond.xml | 2 ++
tests/initscripts/bridge-vlan.xml | 1 +
tests/initscripts/bridge.xml | 2 ++
5 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/data/xml/initscripts-get.xsl b/data/xml/initscripts-get.xsl
index 7c1ed02..acf5752 100644
--- a/data/xml/initscripts-get.xsl
+++ b/data/xml/initscripts-get.xsl
@@ -12,13 +12,18 @@
</forest>
</xsl:template>
+ <!-- Some global variables
+
+ To keep my sanity, all global variables start with 'g_'
+ -->
+ <xsl:variable name="g_startmode"
select="/interface/start/@mode"/>
+
<!--
Ethernet (physical interface)
-->
<xsl:template match="/interface[@type = 'ethernet']">
<tree>
<xsl:call-template name="bare-ethernet-interface"/>
- <xsl:call-template name="startmode"/>
<xsl:call-template name="interface-addressing"/>
</tree>
</xsl:template>
@@ -47,6 +52,7 @@
<xsl:template name='bare-vlan-interface'>
<xsl:call-template name='vlan-interface-common'/>
<xsl:call-template name="mtu"/>
+ <xsl:call-template name="startmode"/>
<!-- nothing to do for vlan-device -->
</xsl:template>
@@ -139,17 +145,18 @@
<node label="HWADDR" value="{mac/@address}"/>
</xsl:if>
<xsl:call-template name="mtu"/>
+ <xsl:call-template name="startmode"/>
</xsl:template>
<xsl:template name="startmode">
<xsl:choose>
- <xsl:when test="start/@mode = 'onboot'">
+ <xsl:when test="$g_startmode = 'onboot'">
<node label="ONBOOT" value="yes"/>
</xsl:when>
- <xsl:when test="start/@mode = 'none'">
+ <xsl:when test="$g_startmode = 'none'">
<node label="ONBOOT" value="no"/>
</xsl:when>
- <xsl:when test="start/@mode = 'hotplug'">
+ <xsl:when test="$g_startmode = 'hotplug'">
<node label="ONBOOT" value="no"/>
<node label="HOTPLUG" value="yes"/>
</xsl:when>
diff --git a/tests/initscripts/bond-arp.xml b/tests/initscripts/bond-arp.xml
index 8d07e5f..6a53d09 100644
--- a/tests/initscripts/bond-arp.xml
+++ b/tests/initscripts/bond-arp.xml
@@ -11,11 +11,13 @@
</tree>
<tree path="/files/etc/sysconfig/network-scripts/ifcfg-eth1">
<node label="DEVICE" value="eth1"/>
+ <node label="ONBOOT" value="no"/>
<node label="MASTER" value="bond0"/>
<node label="SLAVE" value="yes"/>
</tree>
<tree path="/files/etc/sysconfig/network-scripts/ifcfg-eth0">
<node label="DEVICE" value="eth0"/>
+ <node label="ONBOOT" value="no"/>
<node label="MASTER" value="bond0"/>
<node label="SLAVE" value="yes"/>
</tree>
diff --git a/tests/initscripts/bond.xml b/tests/initscripts/bond.xml
index 56461b7..d97542d 100644
--- a/tests/initscripts/bond.xml
+++ b/tests/initscripts/bond.xml
@@ -15,11 +15,13 @@
</tree>
<tree path="/files/etc/sysconfig/network-scripts/ifcfg-eth1">
<node label="DEVICE" value="eth1"/>
+ <node label="ONBOOT" value="no"/>
<node label="MASTER" value="bond0"/>
<node label="SLAVE" value="yes"/>
</tree>
<tree path="/files/etc/sysconfig/network-scripts/ifcfg-eth0">
<node label="DEVICE" value="eth0"/>
+ <node label="ONBOOT" value="no"/>
<node label="MASTER" value="bond0"/>
<node label="SLAVE" value="yes"/>
</tree>
diff --git a/tests/initscripts/bridge-vlan.xml b/tests/initscripts/bridge-vlan.xml
index 784ed71..d7c0ed5 100644
--- a/tests/initscripts/bridge-vlan.xml
+++ b/tests/initscripts/bridge-vlan.xml
@@ -10,6 +10,7 @@
<tree path="/files/etc/sysconfig/network-scripts/ifcfg-eth0.42">
<node label="DEVICE" value="eth0.42"/>
<node label="VLAN" value="yes"/>
+ <node label="ONBOOT" value="yes"/>
<node label="BRIDGE" value="br0"/>
</tree>
</forest>
diff --git a/tests/initscripts/bridge.xml b/tests/initscripts/bridge.xml
index 01acf19..f624965 100644
--- a/tests/initscripts/bridge.xml
+++ b/tests/initscripts/bridge.xml
@@ -15,10 +15,12 @@
<node label="DEVICE" value="eth0"/>
<node label="HWADDR" value="ab:bb:cc:dd:ee:ff"/>
<node label="MTU" value="1492"/>
+ <node label="ONBOOT" value="yes"/>
<node label="BRIDGE" value="br0"/>
</tree>
<tree path="/files/etc/sysconfig/network-scripts/ifcfg-eth1">
<node label="DEVICE" value="eth1"/>
+ <node label="ONBOOT" value="yes"/>
<node label="BRIDGE" value="br0"/>
</tree>
</forest>
--
1.6.0.6