pre_install_network_config: only use slaves with a valid MAC address

without this patch, a slave can be chosen that does not have MAC address,
which leads to network configuration failure in anaconda because
no interface name is found by the subroutine in the snippet

 # cobbler system report --name ztest
Name                           : ztest
...
Interface =====                : bond0
Bonding Opts                   : mode=4 miimon=100
Bridge Opts                    :
CNAMES                         : []
DHCP Tag                       :
DNS Name                       : ztest.example.com
Per-Interface Gateway          :
Master Interface               :
Interface Type                 : bond
IP Address                     : 1.2.3.4
IPv6 Address                   :
IPv6 Default Gateway           :
IPv6 MTU                       :
IPv6 Secondaries               : []
IPv6 Static Routes             : []
MAC Address                    :
Management Interface           : False
MTU                            :
Subnet Mask                    : 255.255.255.0
Static                         : True
Static Routes                  : []
Virt Bridge                    :
Interface =====                : eth1
Bonding Opts                   :
Bridge Opts                    :
CNAMES                         : []
DHCP Tag                       :
DNS Name                       :
Per-Interface Gateway          :
Master Interface               : bond0
Interface Type                 : bond_slave
IP Address                     : 1.2.3.4
IPv6 Address                   :
IPv6 Default Gateway           :
IPv6 MTU                       :
IPv6 Secondaries               : []
IPv6 Static Routes             : []
MAC Address                    :
Management Interface           : False
MTU                            :
Subnet Mask                    :
Static                         : True
Static Routes                  : []
Virt Bridge                    :
Interface =====                : eth0
Bonding Opts                   :
Bridge Opts                    :
CNAMES                         : []
DHCP Tag                       :
DNS Name                       :
Per-Interface Gateway          :
Master Interface               : bond0
Interface Type                 : bond_slave
IP Address                     : 1.2.3.4
IPv6 Address                   :
IPv6 Default Gateway           :
IPv6 MTU                       :
IPv6 Secondaries               : []
IPv6 Static Routes             : []
MAC Address                    : aa:bb:cc:dd:ee:ff
Management Interface           : False
MTU                            :
Subnet Mask                    :
Static                         : True
Static Routes                  : []
Virt Bridge                    :

 ## unpatched
 # cobbler system getks --name ztest | sed '/Start bond0/,/^%end/ !d'
 #  Start bond0
 #  Found a slave for this interface: eth1 ()
 # Configuring bond0 ()
if mac_exists
then
  get_ifname
  echo "network --device=$IFNAME --bootproto=static --ip=1.2.3.4 --netmask=255.255.255.0 --gateway=1.2.3.1 --hostname=ztest.example.com" >> /tmp/pre_install_network_config
fi
 #  Start eth1
 #  Skipping (slave-interface)
 #  Start eth0
 #  Skipping (slave-interface)
 # End pre_install_network_config generated code

%end

 ## patched
 # cobbler system getks --name ztest | sed '/Start bond0/,/^%end/ !d'
 #  Start bond0
 #  Found a slave for this interface: eth0 (aa:bb:cc:dd:ee:ff)
 # Configuring bond0 (aa:bb:cc:dd:ee:ff)
if mac_exists aa:bb:cc:dd:ee:ff
then
  get_ifname aa:bb:cc:dd:ee:ff
  echo "network --device=$IFNAME --bootproto=static --ip=1.2.3.4 --netmask=255.255.255.0 --gateway=1.2.3.1 --hostname=ztest.example.com" >> /tmp/pre_install_network_config
fi
 #  Start eth1
 #  Skipping (slave-interface)
 #  Start eth0
 #  Skipping (slave-interface)
 # End pre_install_network_config generated code

%end
Merge pull request #993 from aronparsons/only-find-interface-with-mac

pre_install_network_config: only use slaves with a valid MAC address