def tearDownClass(cls):

        with open(cls.TMP_CONF_FILE, "r") as yml_file:
            node_info = yaml.load(yml_file)

        node = CNode(node_info)
        node.init()
        node.stop()

        if os.path.exists(cls.TMP_CONF_FILE):
            os.unlink(cls.TMP_CONF_FILE)

        workspace = os.path.join(config.infrasim_home, "test")
        if os.path.exists(workspace):
            shutil.rmtree(workspace)
    def tearDownClass(cls):

        with open(cls.TMP_CONF_FILE, "r") as yml_file:
            node_info = yaml.load(yml_file)

        ipmiconsole.stop(node_info["name"])

        node = CNode(node_info)
        node.init()
        node.stop()

        if os.path.exists(cls.TMP_CONF_FILE):
            os.unlink(cls.TMP_CONF_FILE)

        workspace = os.path.join(config.infrasim_home, "test")
        if os.path.exists(workspace):
            shutil.rmtree(workspace)
Exemple #3
0
    def tearDownClass(cls):
        cls.channel.send('quit\n')
        cls.channel.close()
        cls.ssh.close()

        with open(cls.TMP_CONF_FILE, "r") as yml_file:
            node_info = yaml.load(yml_file)

        console.stop(node_info["name"])

        node = CNode(node_info)
        node.init()
        node.stop()

        if os.path.exists(cls.TMP_CONF_FILE):
            os.unlink(cls.TMP_CONF_FILE)

        workspace = os.path.join(config.infrasim_home, "test")
        if os.path.exists(workspace):
            shutil.rmtree(workspace)
    def test_ipmi_console_stops_followed_by_node_destroy(self):
        node_info = FakeConfig().get_node_info()
        self.node_name = node_info.get("name", "test")
        self.node_workspace = os.path.join(
            config.infrasim_home, self.node_name)
        node = CNode(node_info)
        node.init()
        node.precheck()
        node.start()
        time.sleep(3)

        ps_ipmi_console_cmd = "ps ax | grep ipmi-console"
        start_ipmi_console_cmd = "ipmi-console start {}".format(
            self.node_name)

        returncode = run_command(
            start_ipmi_console_cmd, stdout=subprocess.PIPE,
            stderr=subprocess.PIPE)[0]
        self.assertEqual(returncode, 0)
        output = run_command(
            ps_ipmi_console_cmd, stdout=subprocess.PIPE,
            stderr=subprocess.PIPE)[1]
        assert start_ipmi_console_cmd in output
        time.sleep(20)

        node.stop()
        node.terminate_workspace()

        # ipmi-console polls every 3s to see vbmc status, wait a while for
        # possible resource collection
        for _ in range(10):
            time.sleep(3)
            output = run_command(
                ps_ipmi_console_cmd, stdout=subprocess.PIPE,
                stderr=subprocess.PIPE)[1]
            if start_ipmi_console_cmd not in output:
                break
            else:
                assert False
    def test_ipmi_console_stops_followed_by_node_destroy(self):
        node_info = FakeConfig().get_node_info()
        self.node_name = node_info.get("name", "test")
        self.node_workspace = os.path.join(config.infrasim_home,
                                           self.node_name)
        node = CNode(node_info)
        node.init()
        node.precheck()
        node.start()
        time.sleep(3)

        ps_ipmi_console_cmd = "ps ax | grep ipmi-console"
        start_ipmi_console_cmd = "ipmi-console start {}".format(self.node_name)

        returncode = run_command(start_ipmi_console_cmd,
                                 stdout=subprocess.PIPE,
                                 stderr=subprocess.PIPE)[0]
        self.assertEqual(returncode, 0)
        output = run_command(ps_ipmi_console_cmd,
                             stdout=subprocess.PIPE,
                             stderr=subprocess.PIPE)[1]
        assert start_ipmi_console_cmd in output
        time.sleep(20)

        node.stop()
        node.terminate_workspace()

        # ipmi-console polls every 3s to see vbmc status, wait a while for
        # possible resource collection
        for _ in range(10):
            time.sleep(3)
            output = run_command(ps_ipmi_console_cmd,
                                 stdout=subprocess.PIPE,
                                 stderr=subprocess.PIPE)[1]
            if start_ipmi_console_cmd not in output:
                break
            else:
                assert False