def test_netns_change(self): create_rc = RwNetns.create_context("bar") self.assertTrue(create_rc >= 0) logger.debug("Create Context Bar Rc:{}".format(create_rc)) bar_fd = RwNetns.get_netfd("bar") self.assertTrue(bar_fd >= 0) logger.debug("Get bar fd: {}".format(bar_fd)) change_rc = RwNetns.change("bar") self.assertEqual(change_rc, 0) logger.debug("Change Context Bar Rc:{}".format(change_rc)) current_fd = RwNetns.get_current_netfd() self.assertTrue(current_fd >= 0) logger.debug("Current netfd:{}".format(current_fd)) change_fd_rc = RwNetns.change_fd(self.original_fd) self.assertEqual(change_fd_rc, 0) logger.debug("Change fd {} Rc: {}".format(self.original_fd, change_fd_rc)) delete_rc = RwNetns.delete_context("bar") self.assertEqual(delete_rc, 0) logger.debug("Delete Context Foo Rc: {}".format(delete_rc))
def enter(self): self._log_event(EnteringNetns()) if NetnsEnvironment.current_netns is not None: self._log_event(MultipleNetnsError(), current_netns_name=NetnsEnvironment.current_netns.name) raise NetworkNamespaceException("Cannot enter more than one network namespace (already in %s)", NetnsEnvironment.current_netns.name) change_rc = RwNetns.change(self._netns_name) if change_rc != 0: self._log_event(ChangeNetnsFailed(), rc=change_rc) raise NetworkNamespaceException("Change to namespace (%s) failed with rc == %s." % (self._netns_name, change_rc)) if self._bind_resolv_conf: self._mount_resolv_conf()
def enter(self): self._log_event(EnteringNetns()) if NetnsEnvironment.current_netns is not None: self._log_event( MultipleNetnsError(), current_netns_name=NetnsEnvironment.current_netns.name) raise NetworkNamespaceException( "Cannot enter more than one network namespace (already in %s)", NetnsEnvironment.current_netns.name) change_rc = RwNetns.change(self._netns_name) if change_rc != 0: self._log_event(ChangeNetnsFailed(), rc=change_rc) raise NetworkNamespaceException( "Change to namespace (%s) failed with rc == %s." % (self._netns_name, change_rc)) if self._bind_resolv_conf: self._mount_resolv_conf()
def test_netns_change(self): create_rc = RwNetns.create_context("bar") self.assertTrue(create_rc >= 0) logger.debug("Create Context Bar Rc:{}" .format(create_rc)) bar_fd = RwNetns.get_netfd("bar") self.assertTrue(bar_fd >= 0) logger.debug("Get bar fd: {}" .format(bar_fd)) change_rc = RwNetns.change("bar") self.assertEqual(change_rc,0) logger.debug("Change Context Bar Rc:{}" .format(change_rc)) current_fd = RwNetns.get_current_netfd() self.assertTrue(current_fd >= 0) logger.debug("Current netfd:{}" .format(current_fd)) change_fd_rc = RwNetns.change_fd(self.original_fd) self.assertEqual(change_fd_rc,0) logger.debug("Change fd {} Rc: {}" .format(self.original_fd, change_fd_rc)) delete_rc = RwNetns.delete_context("bar") self.assertEqual(delete_rc,0) logger.debug("Delete Context Foo Rc: {}" .format(delete_rc))