Exemple #1
0
    def setUp(self):
        self.datastore_manager = MagicMock()
        self.datastore_manager.get_datastore_ids.return_value = [
            "datastore1", "datastore2"
        ]

        self.host_upgrade = HostUpgrade(self.datastore_manager)
        self.timeout = self.TIMEOUT
Exemple #2
0
class HostUpgradeTestCase(unittest.TestCase):
    TIMEOUT = 6000

    def setUp(self):
        self.datastore_manager = MagicMock()
        self.datastore_manager.get_datastore_ids.return_value = [
            "datastore1", "datastore2"
        ]

        self.host_upgrade = HostUpgrade(self.datastore_manager)
        self.timeout = self.TIMEOUT

    def tearDown(self):
        self.host_upgrade._task_runner.stop()

    @patch("host.upgrade.softlink_generator.SoftLinkGenerator.process")
    def test_lifecycle(self, process):
        assert_that(not self.host_upgrade.in_progress())
        self.host_upgrade.start(self.timeout)
        self.host_upgrade._task_runner.wait_for_task_end()

        assert_that(not self.host_upgrade.in_progress())
        self.assertEqual(process.call_count, 1)

    @patch("host.upgrade.softlink_generator.SoftLinkGenerator.process")
    def test_upgrade_exception(self, process):
        process.side_effect = Exception("create_symlinks failed.")

        assert_that(not self.host_upgrade.in_progress())
        self.host_upgrade.start(self.timeout)
        self.host_upgrade._task_runner.wait_for_task_end()

        assert_that(not self.host_upgrade.in_progress())
        self.assertEqual(process.call_count, 1)
Exemple #3
0
class HostUpgradeTestCase(unittest.TestCase):
    TIMEOUT = 6000

    def setUp(self):
        self.datastore_manager = MagicMock()
        self.datastore_manager.get_datastore_ids.return_value = ["datastore1", "datastore2"]

        self.host_upgrade = HostUpgrade(self.datastore_manager)
        self.timeout = self.TIMEOUT

    def tearDown(self):
        self.host_upgrade._task_runner.stop()

    def test_lifecycle(self):
        assert_that(not self.host_upgrade.in_progress())
        self.host_upgrade.start(self.timeout)
        self.host_upgrade._task_runner.wait_for_task_end()

        assert_that(not self.host_upgrade.in_progress())
Exemple #4
0
    def init(self):
        # Load agent config
        config = common.services.get(ServiceName.AGENT_CONFIG)

        # Create the hypervisor object
        hv = hypervisor.Hypervisor(config)

        # When configuration changes, notify hypervisor
        config.on_config_change(config.CPU_OVERCOMMIT, hv.set_cpu_overcommit)
        config.on_config_change(config.MEMORY_OVERCOMMIT,
                                hv.set_memory_overcommit)

        # Register hypervisor in services
        common.services.register(ServiceName.HYPERVISOR, hv)

        # Create the upgrade object
        upgrade = HostUpgrade(hv.datastore_manager)
        common.services.register(ServiceName.UPGRADE, upgrade)

        # Create host handler
        host_handler = HostHandler(hv)
        common.services.register(Host.Iface, host_handler)
        if config.hypervisor == "esx":
            common.services.register(ServiceName.VIM_CLIENT,
                                     hv.hypervisor.vim_client)

        # Load num_threads
        num_threads = config.host_service_threads

        # Define and add thrift service
        service = common.plugin.ThriftService(
            name="Host",
            service=Host,
            handler=host_handler,
            num_threads=num_threads,
        )
        self.add_thrift_service(service)
    def setUp(self):
        self.datastore_manager = MagicMock()
        self.datastore_manager.get_datastore_ids.return_value = ["datastore1", "datastore2"]

        self.host_upgrade = HostUpgrade(self.datastore_manager)
        self.timeout = self.TIMEOUT