[Ovirt-devel] [PATCH node] Report on physical network devices when identifying the node.
Darryl L. Pierce
dpierce at redhat.com
Thu Apr 2 18:49:05 UTC 2009
The default interface configuration is only applied if a configuration
was not retrieved from the server for some reason. It is only applied to
the management interface.
When ovirt-identify-node collects NIC details to send back to the
server, it only collects for physical devices that support the net.80203
capability as reported by HAL.
Signed-off-by: Darryl L. Pierce <dpierce at redhat.com>
---
ovirt-identify-node/gather.c | 8 ++++----
scripts/ovirt-early | 26 +++++++++++++++-----------
2 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/ovirt-identify-node/gather.c b/ovirt-identify-node/gather.c
index c12ed08..ae0bb73 100644
--- a/ovirt-identify-node/gather.c
+++ b/ovirt-identify-node/gather.c
@@ -286,7 +286,7 @@ get_nic_info(void)
int i;
- nics = libhal_find_device_by_capability(hal_ctx, "net",
+ nics = libhal_find_device_by_capability(hal_ctx, "net.80203",
&num_results, &dbus_error);
DEBUG("Found %d NICs\n", num_results);
@@ -294,7 +294,7 @@ get_nic_info(void)
for (i = 0; i < num_results; i++) {
char *nic = nics[i];
- VERBOSE("Starting new NIC.\n");
+ DEBUG("Starting new NIC; %s.\n", nic);
if (current != NULL) {
last = current;
@@ -311,8 +311,8 @@ get_nic_info(void)
get_nic_data(nic, current);
DEBUG("NIC details: MAC:%s, speed:%s, IP:%s\n",
- nic_info->mac_address, nic_info->bandwidth,
- nic_info->ip_address);
+ current->mac_address, current->bandwidth,
+ current->ip_address);
}
return result;
diff --git a/scripts/ovirt-early b/scripts/ovirt-early
index 1260900..bdd4ed1 100755
--- a/scripts/ovirt-early
+++ b/scripts/ovirt-early
@@ -30,6 +30,7 @@ get_mac_addresses() {
configure_from_network() {
DEVICE=$1
+
if [ -n "$DEVICE" ]; then
log "Configuring network Using interface $DEVICE"
# setup temporary interface to retrieve configuration
@@ -56,35 +57,38 @@ configure_from_network() {
ovirt-process-config $cfgdb $BONDING_MODCONF_FILE $AUGTOOL_CONFIG
if [ $? -eq 0 ]; then
log "Remote configuration retrieved and applied"
+ rm $cfgdb
else
log "Failure to retrieve or apply remote configuration"
fi
else
log "Failed to retrieve configuration bundle"
fi
- rm $cfgdb
fi
fi
fi
fi
# default oVirt network configuration:
# bridge each ethernet device in the system
- ETHDEVS=$(cd /sys/class/net && ls -d eth*)
- for eth in $ETHDEVS; do
- BRIDGE=br$eth
+ BRIDGE=br$DEVICE
+ local ifcfg=/etc/sysconfig/network-scripts/ifcfg-$BRIDGE
+
+ # only write a default file if one does not exist
+ if [ ! -f $ifcfg ]; then
+ eth=$DEVICE
log "Applying default configuration to $eth and $BRIDGE"
printf '%s\n' "DEVICE=$eth" ONBOOT=yes "BRIDGE=$BRIDGE" \
- > /etc/sysconfig/network-scripts/ifcfg-$eth
+ > /etc/sysconfig/network-scripts/ifcfg-$eth
if [ -z "$DEVICE" -o "$DEVICE" = "$eth" ]; then
- dhcp="BOOTPROTO=dhcp"
+ dhcp="BOOTPROTO=dhcp"
else
- dhcp=""
+ dhcp=""
fi
printf '%s\n' "DEVICE=$BRIDGE" "$dhcp" \
- ONBOOT=yes TYPE=Bridge PEERNTP=yes DELAY=0 \
- > /etc/sysconfig/network-scripts/ifcfg-$BRIDGE
- done
- log "Default config applied"
+ ONBOOT=yes TYPE=Bridge PEERNTP=yes DELAY=0 \
+ > /etc/sysconfig/network-scripts/ifcfg-$BRIDGE
+ log "Default config applied"
+ fi
}
# $(get_live_disk)
--
1.6.0.6
More information about the ovirt-devel
mailing list