Previously when a bonded NIC was configured as the external interface for a node host, the network service was not started when the openshift-tc service was started. This was due to bonded NICs depending on the network service to be started, which would not start until after the openshift-tc service. This bug fix modifies the priority of the openshift-tc service on nodes to start after the network service by default. As a result, the openshift-tc service is able to start successfully on boot when a bonded interface is configured as the external interface; the network service is started first, initializing the bonded interface.
DescriptionJosep 'Pep' Turro Mauri
2015-04-23 15:48:50 UTC
Description of problem:
openshift-tc's init script has a default start priority of 7. This means that it's started before the 'network' service (prio 10) which causes it to fail to start when the NIC configured for openshift service (EXTERNAL_ETH_DEV) depends on the network service to start.
Version-Release number of selected component (if applicable):
rubygem-openshift-origin-node-1.34.1.1-1.el6op.noarch
How reproducible:
Alwasys
Steps to Reproduce:
1. Install a node with NIC bonding and onfigure EXTERNAL_ETH_DEV=bond0
2. Enable TC (TRAFFIC_CONTROL_ENABLED=true, chkconfig openshift-tc on)
3. boot
Actual results:
openshift-tc fails to start. Extract from boot.log:
......
Starting systemtap: [WARNING]
Calling the system activity data collector (sadc)...
Starting monitoring for VG root_vg: 5 logical volume(s) in volume group "root_vg" monitored
[ OK ]
Starting cgconfig service: [ OK ]
Starting multipathd daemon: [ OK ]
/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.23.9.21/lib/openshift-origin-node/utils/tc.rb:107:in `get_interface_mtu': Unable to determine external network interface IP address. (RuntimeError)
from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.23.9.21/lib/openshift-origin-node/utils/tc.rb:80:in `initialize'
from /usr/sbin/oo-admin-ctl-tc:28:in `new'
from /usr/sbin/oo-admin-ctl-tc:28:in `<main>'
iptables: Applying firewall rules: [ OK ]
iptables: Loading additional modules: nf_conntrack [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface bond0: Determining if ip address 22.114.234.40 is already in use for device bond0...
[ OK ]
Bringing up interface bond1: Determining if ip address 22.115.210.67 is already in use for device bond1...
[ OK ]
Starting auditd: [ OK ]
.....
Expected results:
Additional info:
[root@node4 init.d]# grep chkconfig network openshift-tc
network:# chkconfig: 2345 10 90
openshift-tc:# chkconfig: 345 7 93
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://rhn.redhat.com/errata/RHBA-2015-1463.html
Description of problem: openshift-tc's init script has a default start priority of 7. This means that it's started before the 'network' service (prio 10) which causes it to fail to start when the NIC configured for openshift service (EXTERNAL_ETH_DEV) depends on the network service to start. Version-Release number of selected component (if applicable): rubygem-openshift-origin-node-1.34.1.1-1.el6op.noarch How reproducible: Alwasys Steps to Reproduce: 1. Install a node with NIC bonding and onfigure EXTERNAL_ETH_DEV=bond0 2. Enable TC (TRAFFIC_CONTROL_ENABLED=true, chkconfig openshift-tc on) 3. boot Actual results: openshift-tc fails to start. Extract from boot.log: ...... Starting systemtap: [WARNING] Calling the system activity data collector (sadc)... Starting monitoring for VG root_vg: 5 logical volume(s) in volume group "root_vg" monitored [ OK ] Starting cgconfig service: [ OK ] Starting multipathd daemon: [ OK ] /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.23.9.21/lib/openshift-origin-node/utils/tc.rb:107:in `get_interface_mtu': Unable to determine external network interface IP address. (RuntimeError) from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-node-1.23.9.21/lib/openshift-origin-node/utils/tc.rb:80:in `initialize' from /usr/sbin/oo-admin-ctl-tc:28:in `new' from /usr/sbin/oo-admin-ctl-tc:28:in `<main>' iptables: Applying firewall rules: [ OK ] iptables: Loading additional modules: nf_conntrack [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface bond0: Determining if ip address 22.114.234.40 is already in use for device bond0... [ OK ] Bringing up interface bond1: Determining if ip address 22.115.210.67 is already in use for device bond1... [ OK ] Starting auditd: [ OK ] ..... Expected results: Additional info: [root@node4 init.d]# grep chkconfig network openshift-tc network:# chkconfig: 2345 10 90 openshift-tc:# chkconfig: 345 7 93