Example #1
0
 def _ifaceDownAndCleanup(self, iface, remove_even_if_used=False):
     """Returns True iff the iface is to be removed."""
     if iface.ipv4.bootproto == 'dhcp':
         ifacetracking.add(iface.name)
     to_be_removed = remove_even_if_used or not self.net_info.ifaceUsers(
         iface.name)
     if to_be_removed:
         ifdown(iface.name)
     self._removeSourceRoute(iface)
     return to_be_removed
Example #2
0
File: ifcfg.py Project: EdDev/vdsm
 def _ifaceDownAndCleanup(self, iface, remove_even_if_used=False):
     """Returns True iff the iface is to be removed."""
     if iface.ipv4.bootproto == 'dhcp':
         ifacetracking.add(iface.name)
     to_be_removed = remove_even_if_used or not self.net_info.ifaceUsers(
         iface.name)
     if to_be_removed:
         ifdown(iface.name)
     self._removeSourceRoute(iface)
     return to_be_removed
Example #3
0
 def removeVlan(self, vlan):
     if not self.owned_device(vlan.name):
         IfcfgAcquire.acquire_device(vlan.name)
         IfcfgAcquire.acquire_vlan_device(vlan.name)
     if vlan.ipv4.bootproto == 'dhcp':
         ifacetracking.add(vlan.name)
     ifdown(vlan.name)
     self._removeSourceRoute(vlan)
     self.configApplier.removeVlan(vlan.name)
     self.net_info.del_vlan(vlan.name)
     vlan.device.remove()
Example #4
0
File: ifcfg.py Project: EdDev/vdsm
 def removeVlan(self, vlan):
     if not self.owned_device(vlan.name):
         IfcfgAcquire.acquire_device(vlan.name)
         IfcfgAcquire.acquire_vlan_device(vlan.name)
     if vlan.ipv4.bootproto == 'dhcp':
         ifacetracking.add(vlan.name)
     ifdown(vlan.name)
     self._removeSourceRoute(vlan)
     self.configApplier.removeVlan(vlan.name)
     self.net_info.del_vlan(vlan.name)
     vlan.device.remove()
Example #5
0
 def removeBridge(self, bridge):
     if not self.owned_device(bridge.name):
         IfcfgAcquire.acquire_device(bridge.name)
     if bridge.ipv4.bootproto == 'dhcp':
         ifacetracking.add(bridge.name)
     ifdown(bridge.name)
     self._removeSourceRoute(bridge)
     cmd.exec_sync([EXT_BRCTL, 'delbr', bridge.name])
     self.configApplier.removeBridge(bridge.name)
     self.net_info.del_bridge(bridge.name)
     if bridge.port:
         bridge.port.remove()
Example #6
0
File: ifcfg.py Project: EdDev/vdsm
 def removeBridge(self, bridge):
     if not self.owned_device(bridge.name):
         IfcfgAcquire.acquire_device(bridge.name)
     if bridge.ipv4.bootproto == 'dhcp':
         ifacetracking.add(bridge.name)
     ifdown(bridge.name)
     self._removeSourceRoute(bridge)
     cmd.exec_sync([constants.EXT_BRCTL, 'delbr', bridge.name])
     self.configApplier.removeBridge(bridge.name)
     self.net_info.del_bridge(bridge.name)
     if bridge.port:
         bridge.port.remove()
Example #7
0
File: ifcfg.py Project: oVirt/vdsm
 def removeBridge(self, bridge):
     if not self.owned_device(bridge.name):
         IfcfgAcquire.acquire_device(bridge.name)
     if bridge.ipv4.bootproto == 'dhcp':
         ifacetracking.add(bridge.name)
     ifdown(bridge.name)
     self._removeSourceRoute(bridge)
     _remove_device(bridge.name)
     self.configApplier.removeBridge(bridge.name)
     self.net_info.del_bridge(bridge.name)
     if bridge.port:
         bridge.port.remove()
Example #8
0
    def _addSourceRoute(self, netEnt):
        """For ifcfg tracking can be done together with route/rule addition"""
        ipv4 = netEnt.ipv4
        if ipv4.bootproto != 'dhcp' and netEnt.master is None:
            valid_args = (ipv4.address and ipv4.netmask and
                          ipv4.gateway not in (None, '0.0.0.0'))
            if valid_args:
                sroute = StaticSourceRoute(netEnt.name, ipv4.address,
                                           ipv4.netmask, ipv4.gateway)
                self.configureSourceRoute(*sroute.requested_config())

            else:
                logging.warning(
                    'Invalid input for source routing: '
                    'name=%s, addr=%s, netmask=%s, gateway=%s',
                    netEnt.name, ipv4.address, ipv4.netmask, ipv4.gateway)

        if netEnt.ipv4.bootproto == 'dhcp':
            ifacetracking.add(netEnt.name)
Example #9
0
File: ifcfg.py Project: EdDev/vdsm
    def _addSourceRoute(self, netEnt):
        """For ifcfg tracking can be done together with route/rule addition"""
        ipv4 = netEnt.ipv4
        if ipv4.bootproto != 'dhcp' and netEnt.master is None:
            valid_args = (ipv4.address and ipv4.netmask and
                          ipv4.gateway not in (None, '0.0.0.0'))
            if valid_args:
                sroute = StaticSourceRoute(netEnt.name, ipv4.address,
                                           ipv4.netmask, ipv4.gateway)
                self.configureSourceRoute(*sroute.requested_config())

            else:
                logging.warning(
                    'Invalid input for source routing: '
                    'name=%s, addr=%s, netmask=%s, gateway=%s',
                    netEnt.name, ipv4.address, ipv4.netmask, ipv4.gateway)

        if netEnt.ipv4.bootproto == 'dhcp':
            ifacetracking.add(netEnt.name)
Example #10
0
def _setup_dynamic_src_routing(networks):
    for net_name, net_attrs in six.viewitems(networks):
        is_remove = net_attrs.get('remove', False)
        is_dynamic = net_attrs.get('bootproto') == 'dhcp'
        if is_dynamic and not is_remove:
            ifacetracking.add(_get_network_iface(net_name, net_attrs))