On Tue, Apr 28, 2009 at 1:19 PM, Mike McCune <mmccune(a)fedoraproject.org> wrote:
java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml |
4
java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java |
14 ++-
java/code/src/com/redhat/rhn/taskomatic/task/errata/ErrataQueueWorker.java |
45 +++-------
3 files changed, 34 insertions(+), 29 deletions(-)
New commits:
commit f6e88462d6cf522c3bf8689f854d2dcb86fa6014
Author: Mike McCune <mmccune(a)gmail.com>
Date: Tue Apr 28 10:13:57 2009 -0700
497872 - skip 'fake' interfaces when looking up system records.
Since system records can contain non-real interfaces such as:
xenbr0: fe:ff:ff:ff:ff:ff
vif0.1: fe:ff:ff:ff:ff:ff
sit0 : 00:00:00:00:00:00
we want to skip these when looking up system records in cobbler
since they may exist in many records.
diff --git
a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java
b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java
index 4b2332d..a2a7214 100644
---
a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java
+++
b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java
@@ -123,7 +123,18 @@ public class CobblerSystemCreateCommand extends CobblerCommand {
// Build up list of mac addrs
List macs = new LinkedList();
for (NetworkInterface n : server.getNetworkInterfaces()) {
- macs.add(n.getHwaddr().toLowerCase());
+ // Skip localhost and non real interfaces
+ if (n.getHwaddr() == null ||
+ n.getHwaddr().equals("00:00:00:00:00:00") ||
+ n.getHwaddr().equals("fe:ff:ff:ff:ff:ff") ||
+ n.getIpaddr() == null ||
+ n.getIpaddr().equals("127.0.0.1")) {
+ log.debug("Skipping. not a real interface");
+ }
+ else {
+ macs.add(n.getHwaddr().toLowerCase());
+ }
+
}
we could've treated this like we do with the auth urls and put them in
an array. Then just see if the items exist.
I'm afraid if we have to add other 'fake' items this if statement
could blow up quite rapidly.
jesus