def teardown(self): if (self.default_gateway, self.df_iface) == (None, None): execute(['ip', 'ro', 'del', 'default', 'via', self.gateway, 'dev', self.iface]) elif ((self.default_gateway, self.df_iface) != (self.gateway, self.iface)): execute(['ip', 'ro', 'change', 'default', 'via', self.default_gateway, 'dev', self.df_iface])
def check_exist(iface): rc, _, err = execute(['ip', 'link', 'show', iface]) if rc == 1 and 'does not exist' in err: return False elif rc: msg = 'ip link show {0} failed with {1}'.format(iface, err) raise CommandFailed(msg) return True
def setup(self): self.is_up = check_up(self.iface) if self.is_up is False: rc, out, err = execute(['ip', 'link', 'set', 'dev', self.iface, 'up']) if rc: msg = 'Cannot up interface {0}. Err: {1}'.format( self.iface, err) raise CommandFailed(msg)
def setup(self): self.default_gateway, self.df_iface = get_default_gateway() rc = None if (self.default_gateway, self.df_iface) == (None, None): rc, out, err = execute( ['ip', 'ro', 'add', 'default', 'via', self.gateway, 'dev', self.iface]) elif ((self.default_gateway, self.df_iface) != (self.gateway, self.iface)): rc, out, err = execute( ['ip', 'ro', 'change', 'default', 'via', self.gateway, 'dev', self.iface]) if rc: msg = ('Cannot add default gateway {0} on iface {1}.' ' Err: {2}'.format(self.gateway, self.iface, err)) raise CommandFailed(msg)
def setup(self): self.is_present = check_ifaddress_present(self.iface, self.addr) if self.is_present is False: rc, out, err = execute(['ip', 'a', 'add', self.addr, 'dev', self.iface]) if rc: msg = 'Cannot add address {0} to {1}. Err: {2}'.format( self.addr, self.iface, err) raise CommandFailed(msg)
def setup(self): self.is_present = check_exist(self.iface) if self.is_present is False: rc, out, err = execute( ['ip', 'link', 'add', 'link', self.parent, 'name', self.iface, 'type', 'vlan', 'id', self.vlan]) if rc: msg = ( 'Cannot create tagged interface {0}.' ' With parent {1}. Err: {2}'.format( self.iface, self.parent, err)) raise CommandFailed(msg) super(Vlan, self).setup()
def setup(self): self.is_up = check_up(self.iface) if self.is_up is False: rc, out, err = execute(['ip', 'link', 'set', 'dev', self.iface, 'up']) if rc: msg = 'Cannot up interface {0}. Err: {1}'.format( self.iface, err) raise CommandFailed(msg) logger.info('Waiting %s seconds for %s interface is UP...', consts.LINK_UP_TIMEOUT, self.iface) deadline = time.time() + consts.LINK_UP_TIMEOUT while time.time() < deadline: if check_ready(self.iface): logger.info('Interface %s is UP', self.iface) return time.sleep(1) raise CommandFailed('Link protocol on interface %s ' 'isn\'t UP'.format(self.iface))
def teardown(self): if self.is_up is False: execute(['ip', 'link', 'set', 'dev', self.iface, 'down'])
def log_network_info(stage): logger.info('Logging networking info at %s', stage) stdout = execute(['ip', 'a'])[1] logger.info('ip a: %s', stdout) stdout = execute(['ip', 'ro'])[1] logger.info('ip ro: %s', stdout)
def check_up(iface): rc, stdout, _ = execute(['ip', 'link', 'show', iface]) return 'UP' in stdout
def teardown(self): if self.is_present is False: execute(['ip', 'a', 'del', self.addr, 'dev', self.iface])
def teardown(self): super(Vlan, self).teardown() if self.is_present is False: execute(['ip', 'link', 'delete', self.iface])
def check_ready(iface): rc, stdout, _ = execute(['ip', '-o', 'link', 'show', iface]) return 'state UP' in stdout