from ifupdownaddons.bridgeutils import brctl
from ifupdownaddons.iproute2 import iproute2
from ifupdownaddons.mstpctlutil import mstpctlutil
-import traceback
+from ifupdownaddons.systemutils import systemUtils
class mstpctlFlags:
PORT_PROCESSED = 0x1
self.name = self.__class__.__name__
self.brctlcmd = None
self.mstpctlcmd = None
+ self.mstpd_running = (True if systemUtils.is_process_running('mstpd')
+ else False)
def _is_bridge(self, ifaceobj):
if (ifaceobj.get_attr_value_first('mstpctl-ports') or
# Check if bridge port
bridgename = self.ipcmd.bridge_port_get_bridge_name(ifaceobj.name)
if bridgename:
- mstpd_running = (True if self.mstpctlcmd.is_mstpd_running()
- else False)
+ mstpd_running = self.mstpd_running
stp_running_on = self._is_running_userspace_stp_state_on(bridgename)
applied = self._apply_bridge_port_settings(ifaceobj, bridgename,
None, stp_running_on,
self.brctlcmd.set_stp)
else:
stp = self.brctlcmd.get_stp(ifaceobj.name)
- if (self.mstpctlcmd.is_mstpd_running() and
+ if (self.mstpd_running and
(stp == 'yes' or stp == 'on')):
self._apply_bridge_settings(ifaceobj)
self._apply_bridge_port_settings_all(ifaceobj,
# XXX: check for subprocess errors vs os error
return False
return True
+
+ @classmethod
+ def is_process_running(self, processname):
+ if not processname:
+ return False
+ utilsobj = utilsBase()
+ try:
+ utilsobj.exec_command('/bin/pidof %s' %processname)
+ except:
+ return False
+ else:
+ return True