def _add_eth_port(self): if self.config.enable_nat is True or \ self.config.uplink_eth_port_name is None: return if BridgeTools.port_is_in_bridge(self.config.uplink_bridge, self.config.uplink_eth_port_name): return self._cleanup_if(self.config.uplink_eth_port_name, True) # Add eth interface to OVS. ovs_add_port = "ovs-vsctl --may-exist add-port %s %s" \ % (self.config.uplink_bridge, self.config.uplink_eth_port_name) try: subprocess.Popen(ovs_add_port, shell=True).wait() except subprocess.CalledProcessError as ex: raise Exception('Error: %s failed with: %s' % (ovs_add_port, ex)) self.logger.info("Add uplink port: %s", ovs_add_port)
def _del_eth_port(self): if BridgeTools.port_is_in_bridge(self.config.uplink_bridge, self.config.uplink_eth_port_name): self._cleanup_if(self.config.uplink_bridge, True) if self.config.uplink_eth_port_name is None: return ovs_rem_port = "ovs-vsctl --if-exists del-port %s %s" \ % (self.config.uplink_bridge, self.config.uplink_eth_port_name) try: subprocess.Popen(ovs_rem_port, shell=True).wait() self.logger.info("Remove ovs uplink port: %s", ovs_rem_port) except subprocess.CalledProcessError as ex: self.logger.debug("ignore port del error: %s ", ex) return if self.config.uplink_eth_port_name: self._set_sgi_ip_addr(self.config.uplink_eth_port_name) self._set_sgi_gw(self.config.uplink_eth_port_name)
def _add_eth_port(self): if self.config.enable_nat is True or \ self.config.uplink_eth_port_name is None: return if BridgeTools.port_is_in_bridge(self.config.uplink_bridge, self.config.uplink_eth_port_name): return self._cleanup_if(self.config.uplink_eth_port_name, True) # Add eth interface to OVS. ovs_add_port = "ovs-vsctl --may-exist add-port %s %s" \ % (self.config.uplink_bridge, self.config.uplink_eth_port_name) try: subprocess.Popen(ovs_add_port, shell=True).wait() except subprocess.CalledProcessError as ex: raise Exception('Error: %s failed with: %s' % (ovs_add_port, ex)) self.logger.info("Add uplink port: %s", ovs_add_port) # sometimes the mac address changes after port addition, so restart the service. self.logger.info( 'OVS uplink bridge reconfigured, restarting to get new config') os._exit(0) # pylint: disable=protected-access