Bug 624850
Summary: | system-config-network-cmd handles IP aliases poorly | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Paul Donohue <redhatbugs> | |
Component: | system-config-network | Assignee: | Harald Hoyer <harald> | |
Status: | CLOSED WONTFIX | QA Contact: | qe-baseos-daemons | |
Severity: | medium | Docs Contact: | ||
Priority: | low | |||
Version: | 5.5 | CC: | bgollahe, syeghiay, usurse | |
Target Milestone: | rc | |||
Target Release: | --- | |||
Hardware: | All | |||
OS: | Linux | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | Bug Fix | ||
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 847282 (view as bug list) | Environment: | ||
Last Closed: | 2012-12-17 20:24:54 UTC | Type: | --- | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 847282 |
Description
Paul Donohue
2010-08-17 22:23:58 UTC
In addition to the above changes, you'll also need to change "device.OnBoot:" to "(device.OnBoot or device.OnParent):" on line 349, or else the new aliases won't come up unless they have "ONBOOT=yes" listed in the alias config file. Or perhaps change "device.OnBoot:" to "(device.OnBoot or (actdev.find(device.Device) and device.OnParent)):" on line 349, so the aliases will be brought up by system-config-network-cmd if the parent device hasn't changed, but will be brought automatically by the parent device otherwise. In patch form: --- netconf-cmd.py.orig 2009-07-14 14:27:51.000000000 -0400 +++ netconf-cmd.py 2010-08-17 19:26:11.000000000 -0400 @@ -332,7 +332,7 @@ break for device in getDeviceList(): if device.DeviceId not in aprof.ActiveDevices: - if actdev.find(device.Device): + if actdev.find(device.getDeviceAlias()): (ret, msg) = device.deactivate() if ret: print msg @@ -345,8 +345,9 @@ aprof = profilelist.getActiveProfile() for device in getDeviceList(): if device.DeviceId in aprof.ActiveDevices: - if not actdev.find(device.Device) and \ - device.OnBoot: + if not actdev.find(device.getDeviceAlias()) and \ + (device.OnBoot or (actdev.find(device.Device) \ + and device.OnParent)): (ret, msg) = device.activate() if ret: print msg This issue is still present in RHEL6. The following patch applies against RHEL6: --- netconf_cmd.py.orig 2012-08-02 17:40:37.072388765 -0400 +++ netconf_cmd.py 2012-08-02 17:42:35.473511192 -0400 @@ -368,7 +368,7 @@ break for device in getDeviceList(): if device.DeviceId not in aprof.ActiveDevices: - if actdev.find(device.Device): + if actdev.find(device.getDeviceAlias()): (ret, msg) = device.deactivate() if ret: print msg @@ -381,8 +381,9 @@ aprof = profilelist.getActiveProfile() for device in getDeviceList(): if device.DeviceId in aprof.ActiveDevices: - if not actdev.find(device.Device) and \ - device.OnBoot: + if not actdev.find(device.getDeviceAlias()) and \ + (device.OnBoot or (actdev.find(device.Device) \ + and device.OnParent)): (ret, msg) = device.activate() if ret: print msg I've been using the previous patch on RHEL5 in a production environment for almost 2 years now. I've been using the above RHEL6 patch in a production environment for about 6 months. It works as intended, and I have yet to discover any side-effects. This request was evaluated by Red Hat Product Management for inclusion in the current release of Red Hat Enterprise Linux. Because the affected component is not scheduled to be updated in the current release, Red Hat is unfortunately unable to address this request at this time. Red Hat invites you to ask your support representative to propose this request, if appropriate and relevant, in the next release of Red Hat Enterprise Linux. Due to the end of Production Phase 1 of the Red Hat Enterprise Lifecycle for RHEL5, we are closing this RFE. Please refer to: https://access.redhat.com/support/policy/updates/errata/ |