Пример #1
0
    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))
Пример #2
0
    def setUp(self):
        self.original_fd = RwNetns.get_current_netfd()
        logger.debug("Original netfd: {}".format(self.original_fd))

        if os.geteuid() != 0:
            exit(
                "You need to have root privileges to run this script. Exiting."
            )
Пример #3
0
    def __init__(self, netns_name, bind_resolv_conf=True):
        if not isinstance(netns_name, six.string_types):
            raise TypeError("netns is expected to be a string: %s", netns_name)

        self._netns_name = netns_name
        self._current_fd = RwNetns.get_current_netfd()
        self._bind_resolv_conf = bind_resolv_conf

        if self._current_fd <= 0:
            self._log_event(GetNetnsFdFailed(), rc=self._current_fd)
            raise NetworkNamespaceException("Get current namespace fd failed with rc == %s."
                                            % self._current_fd)
Пример #4
0
    def __init__(self, netns_name, bind_resolv_conf=True):
        if not isinstance(netns_name, six.string_types):
            raise TypeError("netns is expected to be a string: %s", netns_name)

        self._netns_name = netns_name
        self._current_fd = RwNetns.get_current_netfd()
        self._bind_resolv_conf = bind_resolv_conf

        if self._current_fd <= 0:
            self._log_event(GetNetnsFdFailed(), rc=self._current_fd)
            raise NetworkNamespaceException(
                "Get current namespace fd failed with rc == %s." %
                self._current_fd)
Пример #5
0
    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))
Пример #6
0
    def setUp(self):
        self.original_fd = RwNetns.get_current_netfd()
        logger.debug("Original netfd: {}" .format(self.original_fd))
 
        if os.geteuid() != 0:
           exit("You need to have root privileges to run this script. Exiting.")