Esempio n. 1
0
class CartCoRpcOneNodeTest(Test):
    """
    Runs CaRT ghost rank RPC test

    #:avocado: tags=all,cart,pr,ghost_rank_rpc,one_node
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Test teardown """
        print("Run TearDown\n")

    def test_cart_ghost_rank_rpc(self):
        """
        Test ghost rank RPC

        #:avocado: tags=all,cart,pr,ghost_rank_rpc,one_node
        """

        cmd = self.utils.build_cmd(self, self.env, "test_servers")

        self.utils.launch_test(self, cmd)
Esempio n. 2
0
class CartBarrierFiveNodeTest(Test):
    """
    Runs basic CaRT barrier tests

    :avocado: tags=all,barrier,five_node
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Test tear down """
        print("Run TearDown\n")

    def test_cart_barrier(self):
        """
        Test CaRT barrier

        :avocado: tags=all,barrier,five_node
        """

        cmd = self.utils.build_cmd(self, self.env, "srv")

        print("\nTest cmd : %s\n" % cmd)

        self.utils.launch_test(self, cmd)
Esempio n. 3
0
class CartCoRpcOneNodeTest(TestWithoutServers):
    """
    Runs CaRT ghost rank RPC test

    :avocado: recursive
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Tear down """
        self.report_timeout()
        self._teardown_errors.extend(self.utils.cleanup_processes())
        super(CartCoRpcOneNodeTest, self).tearDown()

    def test_cart_ghost_rank_rpc(self):
        """
        Test ghost rank RPC

        #:avocado: tags=all,cart,pr,daily_regression,ghost_rank_rpc,one_node
        """

        cmd = self.utils.build_cmd(self, self.env, "test_servers")

        self.utils.launch_test(self, cmd)
Esempio n. 4
0
class CartCoRpcTwoNodeTest(Test):
    """
    Runs basic CaRT CoRPC tests

    :avocado: tags=all,cart,pr,corpc,two_node
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Test tear down """
        print("Run TearDown\n")

    def test_cart_corpc(self):
        """
        Test CaRT CoRPC

        :avocado: tags=all,cart,pr,corpc,two_node
        """

        cmd = self.utils.build_cmd(self, self.env, "test_servers")

        self.utils.launch_test(self, cmd)
Esempio n. 5
0
class CartCoRpcOneNodeTest(Test):
    """
    Runs basic CaRT CoRPC tests

    :avocado: tags=all,corpc,one_node
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Test teardown """
        print("Run TearDown\n")

    def test_cart_corpc(self):
        """
        Test CaRT CoRPC

        :avocado: tags=all,corpc,one_node
        """

        cmd = self.utils.build_cmd(self, self.env, "srv")

        print("\nTest cmd : %s\n" % cmd)

        self.utils.launch_test(self, cmd)
Esempio n. 6
0
class GroupTest(Test):
    """
    Runs GroupTests for primary and secondary resizeable groups

    :avocado: tags=all,group_test,one_node,no_pmix
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Test tear down """
        print("Run TearDown\n")

    def test_group(self):
        """
        Test CaRT NoPmix Launcher

        :avocado: tags=all,group_test,one_node
        """

        log_mask = self.params.get("D_LOG_MASK", "/run/defaultENV/")
        crt_phy_addr = self.params.get("CRT_PHY_ADDR_STR", "/run/defaultENV/")
        ofi_interface = self.params.get("OFI_INTERFACE", "/run/defaultENV/")

        srv_cmd = self.utils.build_cmd(self, self.env, "srv")

        cmd = srv_cmd
        self.utils.launch_test(self, cmd)
Esempio n. 7
0
class GroupTest(Test):
    """
    Runs GroupTests for primary and secondary resizeable groups

    :avocado: tags=all,cart,pr,group_test,one_node,no_pmix
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Test tear down """
        print("Run TearDown\n")

    def test_group(self):
        """
        Test CaRT NoPmix Launcher

        :avocado: tags=all,cart,pr,group_test,one_node
        """

        srv_cmd = self.utils.build_cmd(self, self.env, "test_servers")

        cmd = srv_cmd
        self.utils.launch_test(self, cmd)
Esempio n. 8
0
class CartCoRpcFiveNodeTest(TestWithoutServers):
    """
    Runs basic CaRT CoRPC tests

    :avocado: recursive
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Tear down """
        super(CartCoRpcFiveNodeTest, self).tearDown()
        self.utils.cleanup_processes()

    def test_cart_corpc(self):
        """
        Test CaRT CoRPC

        :avocado: tags=all,cart,pr,daily_regression,corpc,five_node
        """

        cmd = self.utils.build_cmd(self, self.env, "test_servers")

        self.utils.launch_test(self, cmd)
Esempio n. 9
0
class GroupTest(TestWithoutServers):
    """
    Runs GroupTests for primary and secondary resizeable groups

    :avocado: recursive
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Tear down """
        super(GroupTest, self).tearDown()
        self.utils.cleanup_processes()

    def test_group(self):
        """
        Test CaRT NoPmix Launcher

        :avocado: tags=all,cart,pr,daily_regression,group_test,one_node
        """

        srv_cmd = self.utils.build_cmd(self, self.env, "test_servers")

        cmd = srv_cmd
        self.utils.launch_test(self, cmd)
Esempio n. 10
0
class CartCtlFiveNodeTest(Test):
    """
    Runs basic CaRT ctl tests

    :avocado: tags=all,ctl,five_node
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Test tear down """
        print("Run TearDown\n")

    def test_cart_ctl(self):
        """
        Test CaRT ctl

        :avocado: tags=all,ctl,five_node
        """

        urifile = self.utils.create_uri_file()

        srvcmd = self.utils.build_cmd(self, self.env, "srv", True, urifile)

        print("\nServer cmd : %s\n" % srvcmd)

        try:
            srv_rtn = self.utils.launch_cmd_bg(self, srvcmd)
        except Exception as e:
            print("Exception in launching server : {}".format(e))
            self.fail("Test failed.\n")

        # Verify the server is still running.
        if not self.utils.check_process(srv_rtn):
            procrtn = self.utils.stop_process(srv_rtn)
            self.fail("Server did not launch, return code %s" \
                       % procrtn)

        time.sleep(5)

        clicmd = self.utils.build_cmd(self, self.env, "cli1", False, urifile)
        print("\nClient cmd : %s\n" % clicmd)
        self.utils.launch_test(self, clicmd, srv_rtn)
        clicmd = self.utils.build_cmd(self, self.env, "cli2", False, urifile)
        print("\nClient cmd : %s\n" % clicmd)
        self.utils.launch_test(self, clicmd, srv_rtn)

        self.utils.stop_process(srv_rtn)
Esempio n. 11
0
class CartCtlFiveNodeTest(TestWithoutServers):
    """
    Runs basic CaRT ctl tests

    :avocado: recursive
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Tear down """
        super(CartCtlFiveNodeTest, self).tearDown()
        self.utils.cleanup_processes()

    def test_cart_ctl(self):
        """
        Test CaRT ctl

        :avocado: tags=all,cart,pr,daily_regression,ctl,five_node
        """

        srvcmd = self.utils.build_cmd(self, self.env, "test_servers")

        try:
            srv_rtn = self.utils.launch_cmd_bg(self, srvcmd)
        # pylint: disable=broad-except
        except Exception as e:
            self.utils.print("Exception in launching server : {}".format(e))
            self.fail("Test failed.\n")

        # Verify the server is still running.
        if not self.utils.check_process(srv_rtn):
            procrtn = self.utils.stop_process(srv_rtn)
            self.fail("Server did not launch, return code %s" \
                       % procrtn)

        time.sleep(5)

        for index in range(2):
            clicmd = self.utils.build_cmd(self,
                                          self.env,
                                          "test_clients",
                                          index=index)
            self.utils.launch_test(self, clicmd, srv_rtn)

        self.utils.stop_process(srv_rtn)
Esempio n. 12
0
class CartSelfThreeNodeTest(TestWithoutServers):
    """
    Runs basic CaRT self test

    :avocado: recursive
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Tear down """
        self.report_timeout()
        self._teardown_errors.extend(self.utils.cleanup_processes())
        super(CartSelfThreeNodeTest, self).tearDown()

    def test_cart_selftest(self):
        """
        Test CaRT Self Test

        :avocado: tags=all,cart,pr,daily_regression,selftest,three_node
        """

        srvcmd = self.utils.build_cmd(self, self.env, "test_servers")

        try:
            srv_rtn = self.utils.launch_cmd_bg(self, srvcmd)
        # pylint: disable=broad-except
        except Exception as e:
            self.utils.print("Exception in launching server : {}".format(e))
            self.fail("Test failed.\n")

        # Verify the server is still running.
        if not self.utils.check_process(srv_rtn):
            procrtn = self.utils.stop_process(srv_rtn)
            self.fail("Server did not launch, return code %s" \
                       % procrtn)

        for index in range(3):
            clicmd = self.utils.build_cmd(
                self, self.env, "test_clients", index=index)
            self.utils.launch_test(self, clicmd, srv_rtn)

        # Give few seconds for servers to fully shut down before exiting
        # from this test.
        if not self.utils.wait_process(srv_rtn, 5):
            self.utils.stop_process(srv_rtn)
Esempio n. 13
0
class CartCtlFiveNodeTest(Test):
    """
    Runs basic CaRT ctl tests

    :avocado: tags=all,cart,pr,ctl,five_node
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Test tear down """
        print("Run TearDown\n")

    @skipForTicket("DAOS-5547")
    def test_cart_ctl(self):
        """
        Test CaRT ctl

        :avocado: tags=all,cart,pr,ctl,five_node
        """

        srvcmd = self.utils.build_cmd(self, self.env, "test_servers")

        try:
            srv_rtn = self.utils.launch_cmd_bg(self, srvcmd)
        # pylint: disable=broad-except
        except Exception as e:
            self.utils.print("Exception in launching server : {}".format(e))
            self.fail("Test failed.\n")

        # Verify the server is still running.
        if not self.utils.check_process(srv_rtn):
            procrtn = self.utils.stop_process(srv_rtn)
            self.fail("Server did not launch, return code %s" \
                       % procrtn)

        time.sleep(5)

        clicmd = self.utils.build_cmd(self, self.env, "test_clients_1")
        self.utils.launch_test(self, clicmd, srv_rtn)
        clicmd = self.utils.build_cmd(self, self.env, "test_clients_2")
        self.utils.launch_test(self, clicmd, srv_rtn)

        self.utils.stop_process(srv_rtn)
Esempio n. 14
0
class CartRpcOneNodeSwimNotificationOnRankEvictionTest(TestWithoutServers):
    """
    Runs basic CaRT RPC tests

    :avocado: recursive
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """Tear down."""
        print("tearDown() start")
        super(CartRpcOneNodeSwimNotificationOnRankEvictionTest,
              self).tearDown()

    def test_cart_rpc(self):
        """
        Test CaRT RPC

        :avocado: tags=all,cart,pr,rpc,one_node,swim_rank_eviction
        """
        srvcmd = self.utils.build_cmd(self, self.env, "test_servers")

        try:
            srv_rtn = self.utils.launch_cmd_bg(self, srvcmd)
        # pylint: disable=broad-except
        except Exception as e:
            self.utils.print("Exception in launching server : {}".format(e))
            self.fail("Test failed.\n")

        # Verify the server is still running.
        if not self.utils.check_process(srv_rtn):
            procrtn = self.utils.stop_process(srv_rtn)
            self.fail("Server did not launch, return code %s" \
                       % procrtn)

        for index in range(6):
            clicmd = self.utils.build_cmd(self,
                                          self.env,
                                          "test_clients",
                                          index=index)
            self.utils.launch_test(self, clicmd, srv_rtn)
class CartNoPmixLauncherOneNodeTest(Test):
    """
    Runs basic CaRT no_pmix_launcher tests

    :avocado: tags=all,no_pmix_launcher,one_node
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Test tear down """
        print("Run TearDown\n")

    def test_cart_no_pmix_launcher(self):
        """
        Test CaRT NoPmix Launcher

        :avocado: tags=all,no_pmix_launcher,one_node
        """

        cli_bin = self.params.get("cli_bin", '/run/tests/*/')
        cli_arg = self.params.get("cli_arg", '/run/tests/*/')
        cli_ppn = self.params.get("cli_ppn", '/run/tests/*/')
        log_mask = self.params.get("D_LOG_MASK", "/run/defaultENV/")
        crt_phy_addr = self.params.get("CRT_PHY_ADDR_STR",
                                          "/run/defaultENV/")
        ofi_interface = self.params.get("OFI_INTERFACE", "/run/defaultENV/")

        srv_cmd = self.utils.build_cmd(self, self.env, "srv")

        cmd = srv_cmd + " : -np {}".format(cli_ppn)
        cmd += " -x CRT_PHY_ADDR_STR={}".format(crt_phy_addr)
        cmd += " -x OFI_INTERFACE={}".format(ofi_interface)
        cmd += " -x D_LOG_MASK={}".format(log_mask)
        cmd += " {}".format(cli_bin)
        cmd += " {}".format(cli_arg)

        print("\nTest cmd : %s\n" % cmd)
        self.utils.launch_test(self, cmd)
Esempio n. 16
0
class CartSelfThreeNodeTest(Test):
    """
    Runs basic CaRT self test

    :avocado: tags=all,cart,pr,selftest,three_node
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Test tear down """
        print("Run TearDown\n")

    def test_cart_selftest(self):
        """
        Test CaRT Self Test

        :avocado: tags=all,cart,pr,selftest,three_node
        """

        srvcmd = self.utils.build_cmd(self, self.env, "test_servers")

        try:
            srv_rtn = self.utils.launch_cmd_bg(self, srvcmd)
        # pylint: disable=broad-except
        except Exception as e:
            self.utils.print("Exception in launching server : {}".format(e))
            self.fail("Test failed.\n")

        # Verify the server is still running.
        if not self.utils.check_process(srv_rtn):
            procrtn = self.utils.stop_process(srv_rtn)
            self.fail("Server did not launch, return code %s" \
                       % procrtn)

        for index in range(3):
            clicmd = self.utils.build_cmd(
                self, self.env, "test_clients", index=index)
            self.utils.launch_test(self, clicmd, srv_rtn)
class CartNoPmixLauncherOneNodeTest(TestWithoutServers):
    """
    Runs basic CaRT no_pmix_launcher tests

    :avocado: recursive
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Tear down """
        self.report_timeout()
        self._teardown_errors.extend(self.utils.cleanup_processes())
        super(CartNoPmixLauncherOneNodeTest, self).tearDown()

    def test_cart_no_pmix_launcher(self):
        """
        Test CaRT NoPmix Launcher

        :avocado: tags=all,cart,pr,daily_regression,no_pmix_launcher,one_node
        """

        cli_bin = self.params.get("test_clients_bin", '/run/tests/*/')
        cli_arg = self.params.get("test_clients_arg", '/run/tests/*/')
        cli_ppn = self.params.get("test_clients_ppn", '/run/tests/*/')
        log_mask = self.params.get("D_LOG_MASK", "/run/defaultENV/")
        crt_phy_addr = self.params.get("CRT_PHY_ADDR_STR", "/run/defaultENV/")
        ofi_interface = self.params.get("OFI_INTERFACE", "/run/defaultENV/")

        srv_cmd = self.utils.build_cmd(self, self.env, "test_servers")

        cmd = srv_cmd + " : -np {}".format(cli_ppn)
        cmd += " -x CRT_PHY_ADDR_STR={}".format(crt_phy_addr)
        cmd += " -x OFI_INTERFACE={}".format(ofi_interface)
        cmd += " -x D_LOG_MASK={}".format(log_mask)
        cmd += " {}".format(cli_bin)
        cmd += " {}".format(cli_arg)

        self.utils.launch_test(self, cmd)
Esempio n. 18
0
class CartSelfTwoNodeTest(Test):
    """
    Runs basic CaRT self test

    :avocado: tags=all,selftest,two_node
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Test tear down """
        print("Run TearDown\n")

    def test_cart_selftest(self):
        """
        Test CaRT Self Test

        :avocado: tags=all,selftest,two_node
        """

        urifile = self.utils.create_uri_file()

        srvcmd = self.utils.build_cmd(self, self.env, "srv", True, urifile)
        clicmd = self.utils.build_cmd(self, self.env, "cli", False, urifile)

        print("\nServer cmd : %s\n" % srvcmd)
        print("\nClient cmd : %s\n" % clicmd)

        srv_rtn = self.utils.launch_cmd_bg(self, srvcmd)

        # Verify the server is still running.
        if not self.utils.check_process(srv_rtn):
            procrtn = self.utils.stop_process(srv_rtn)
            self.fail("Server did not launch, return code %s" % procrtn)

        self.utils.launch_test(self, clicmd, srv_rtn)

        self.utils.stop_process(srv_rtn)
Esempio n. 19
0
class CartCoRpcTwoNodeTest(TestWithoutServers):
    """
    Runs basic CaRT CoRPC tests

    :avocado: recursive
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def test_cart_corpc(self):
        """
        Test CaRT CoRPC

        :avocado: tags=all,cart,pr,daily_regression,corpc,two_node
        """

        cmd = self.utils.build_cmd(self, self.env, "test_servers")

        self.utils.launch_test(self, cmd)
class CartCoRpcOneNodeTest(TestWithoutServers):
    """
    Runs CaRT ghost rank RPC test

    :avocado: recursive
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def test_cart_ghost_rank_rpc(self):
        """
        Test ghost rank RPC

        #:avocado: tags=all,cart,pr,daily_regression,ghost_rank_rpc,one_node
        """

        cmd = self.utils.build_cmd(self, self.env, "test_servers")

        self.utils.launch_test(self, cmd)
Esempio n. 21
0
class CartGroupTiersThreeNodeTest(Test):
    """
    Runs basic CaRT group tier tests

    :avocado: tags=all,group_tiers,three_node
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Test tear down """
        print("Run TearDown\n")

    def test_group_tier(self):
        """
        Test CaRT group_tier

        :avocado: tags=all,multi_tier,group_tiers,three_node
        """
        urifile1 = self.utils.create_uri_file()

        srvcmd = self.utils.build_cmd(self, self.env, "srv1", True, urifile1)

        urifile2 = self.utils.create_uri_file()

        srv2cmd = self.utils.build_cmd(self, self.env, "srv2", True, urifile2)

        try:
            srv2_rtn = self.utils.launch_cmd_bg(self, srv2cmd)
        except Exception as e:
            self.utils.print("Exception in launching server : {}".format(e))
            self.fail("Test failed.\n")

        time.sleep(8)

        try:
            srv_rtn = self.utils.launch_cmd_bg(self, srvcmd)
        except Exception as e:
            self.utils.print("Exception in launching server : {}".format(e))
            self.fail("Test failed.\n")

        time.sleep(4)

        clicmd = self.utils.build_cmd(self, self.env, "cli1", False, urifile2)

        self.utils.launch_test(self, clicmd, srv_rtn, srv2_rtn)

        clicmd = self.utils.build_cmd(self, self.env, "cli2", False, urifile1)

        self.utils.launch_test(self, clicmd, srv_rtn, srv2_rtn)

        # Stop the server
        self.utils.print("Stopping server process 2 {}".format(srv2_rtn))
        procrtn2 = self.utils.stop_process(srv2_rtn)

        self.utils.print("Stopping server process 1 {}".format(srv_rtn))
        procrtn1 = self.utils.stop_process(srv_rtn)

        if procrtn2 or procrtn1:
            self.fail("Test failed. \
                       server 1 ret code {} \
                       server 2 ret code {}".format(procrtn1, procrtn2))
Esempio n. 22
0
class CartCtlOneNodeTest(Test):
    """
    Runs basic CaRT ctl tests

    :avocado: tags=all,ctl,one_node
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)

    def tearDown(self):
        """ Test tear down """
        print("Run TearDown\n")

    def test_cart_ctl(self):
        """
        Test CaRT ctl

        :avocado: tags=all,ctl,one_node
        """

        srvcmd = self.utils.build_cmd(self, self.env, "srv")

        try:
            srv_rtn = self.utils.launch_cmd_bg(self, srvcmd)
        except Exception as e:
            self.utils.print("Exception in launching server : {}".format(e))
            self.fail("Test failed.\n")

        # Verify the server is still running.
        if not self.utils.check_process(srv_rtn):
            procrtn = self.utils.stop_process(srv_rtn)
            self.fail("Server did not launch, return code %s" \
                       % procrtn)

        clicmd = self.utils.build_cmd(self, self.env, "cli1")
        self.utils.launch_test(self, clicmd, srv_rtn)
        clicmd = self.utils.build_cmd(self, self.env, "cli2")
        self.utils.launch_test(self, clicmd, srv_rtn)
        clicmd = self.utils.build_cmd(self, self.env, "cli3")
        self.utils.launch_test(self, clicmd, srv_rtn)
        clicmd = self.utils.build_cmd(self, self.env, "cli4")
        self.utils.launch_test(self, clicmd, srv_rtn)
        clicmd = self.utils.build_cmd(self, self.env, "cli5")
        self.utils.launch_test(self, clicmd, srv_rtn)
        clicmd = self.utils.build_cmd(self, self.env, "cli6")
        self.utils.launch_test(self, clicmd, srv_rtn)
Esempio n. 23
0
class CartSingletonOneNodeTest(Test):
    """
    Runs basic CaRT singleton tests

    :avocado: tags=all,singleton,one_node
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)
        self.tempdir = tempfile.mkdtemp()

    def tearDown(self):
        """ Test tear down """
        print("Run TearDown\n")
        shutil.rmtree(self.tempdir)

    def test_cart_singleton(self):
        """
        Test CaRT Singleton

        :avocado: tags=all,singleton,one_node
        """

        srvcmd = self.utils.build_cmd(self, self.env, "srv")

        srvcmd += " -p {} -s".format(self.tempdir)

        try:
            srv_rtn = self.utils.launch_cmd_bg(self, srvcmd)
        except Exception as e:
            self.utils.print("Exception in launching server : {}".format(e))
            self.fail("Test failed.\n")

        time.sleep(5)

        # Verify the server is still running.
        if not self.utils.check_process(srv_rtn):
            procrtn = self.utils.stop_process(srv_rtn)
            self.fail("Server did not launch, return code %s" \
                       % procrtn)

        os.environ["CRT_PHY_ADDR_STR"] = self.params.get("CRT_PHY_ADDR_STR",
                                                         '/run/defaultENV/')
        os.environ["OFI_INTERFACE"] = self.params.get("OFI_INTERFACE",
                                                      '/run/defaultENV/')
        os.environ["CRT_CTX_NUM"] = self.params.get("cli_CRT_CTX_NUM",
                                                    '/run/defaultENV/')
        os.environ["CRT_CTX_SHARE_ADDR"] = self.params.get("CRT_CTX_SHARE_ADDR",
                                               '/run/env_CRT_CTX_SHARE_ADDR/*/')

        clicmd = self.params.get("cli_bin", '/run/tests/*/')

        clicmd += " -p {} -s".format(self.tempdir)

        self.utils.launch_test(self, clicmd, srv_rtn)

        # Stop the server
        self.utils.print("Stopping server process {}".format(srv_rtn))
        procrtn = self.utils.stop_process(srv_rtn)

        if procrtn:
            self.fail("Test failed. Server ret code {}".format(procrtn))
Esempio n. 24
0
class CartSingletonTwoNodeTest(Test):
    """
    Runs basic CaRT singleton tests

    :avocado: tags=all,singleton,two_node
    """
    def setUp(self):
        """ Test setup """
        print("Running setup\n")
        self.utils = CartUtils()
        self.env = self.utils.get_env(self)
        self.tempdir = tempfile.mkdtemp()
        os.environ["CRT_PHY_ADDR_STR"] = self.params.get("CRT_PHY_ADDR_STR",
                                                         '/run/defaultENV/')
        os.environ["OFI_INTERFACE"] = self.params.get("OFI_INTERFACE",
                                                      '/run/defaultENV/')
        os.environ["CRT_CTX_NUM"] = self.params.get("cli_CRT_CTX_NUM",
                                                    '/run/defaultENV/')
        os.environ["CRT_CTX_SHARE_ADDR"] = self.params.get("CRT_CTX_SHARE_ADDR",
                                               '/run/env_CRT_CTX_SHARE_ADDR/*/')

    def tearDown(self):
        """ Test tear down """
        print("Run TearDown\n")
        shutil.rmtree(self.tempdir)

    def test_cart_singleton(self):
        """
        Test CaRT Singleton

        :avocado: tags=all,singleton,two_node
        """
        urifile = self.utils.create_uri_file()

        srvcmd = self.utils.build_cmd(self, self.env, "srv", True, urifile)

        srvcmd += " -p {} -s".format(self.tempdir)

        try:
            srv_rtn = self.utils.launch_cmd_bg(self, srvcmd)
        except Exception as e:
            self.utils.print("Exception in launching server : {}".format(e))
            self.fail("Test failed.\n")

        time.sleep(5)

        # Verify the server is still running.
        if not self.utils.check_process(srv_rtn):
            procrtn = self.utils.stop_process(srv_rtn)
            self.fail("Server did not launch, return code %s" \
                       % procrtn)

        clicmd = self.params.get("cli_bin", '/run/tests/*/')

        clicmd += " -p {} -s".format(self.tempdir)

        self.utils.launch_test(self, clicmd, srv_rtn)

        # Stop the server
        self.utils.print("Stopping server process {}".format(srv_rtn))
        procrtn = self.utils.stop_process(srv_rtn)

        if procrtn:
            self.fail("Test failed. Server ret code {}".format(procrtn))

    def test_multi_tier_singleton_attach(self):
        """
        Test CaRT Multi_tier singleton attach test on two nodes

        :avocado: tags=all,singleton,multi_tier,two_node
        """
        urifile = self.utils.create_uri_file()

        srvcmd = self.utils.build_cmd(self, self.env, "srv", True, urifile)

        srvcmd += " -p {} -s -m".format(self.tempdir)

        srv2_bin = self.params.get("srv2_bin", '/run/tests/*/')
        srv2_ctx = self.params.get("srv2_CRT_CTX_NUM",
                                                        '/run/defaultENV/')

        srv2_hos = self.params.get("srv2", '/run/hosts/*/')
        srv2_ppn = self.params.get("srv2_ppn", '/run/tests/*/')
        hostfile = self.utils.write_host_file(srv2_hos, srv2_ppn)

        srvcmd += " : {} -x CRT_CTX_NUM={} -N {} --hostfile {} {}".format(self.env,
                                      srv2_ctx, srv2_ppn, hostfile, srv2_bin)

        try:
            srv_rtn = self.utils.launch_cmd_bg(self, srvcmd)
        except Exception as e:
            self.utils.print("Exception in launching server : {}".format(e))
            self.fail("Test failed.\n")

        time.sleep(10)

        # Verify the server is still running.
        if not self.utils.check_process(srv_rtn):
            procrtn = self.utils.stop_process(srv_rtn)
            self.fail("Server did not launch, return code %s" \
                       % procrtn)

        clicmd = self.params.get("cli_bin", '/run/tests/*/')

        clicmd += " -p {} -s -m".format(self.tempdir)

        self.utils.launch_test(self, clicmd, srv_rtn)

        # Stop the server
        self.utils.print("Stopping server process {}".format(srv_rtn))
        procrtn = self.utils.stop_process(srv_rtn)

        if procrtn:
            self.fail("Test failed. Server ret code {}".format(procrtn))

    def test_multi_tier_without_singleton_attach(self):
        """
        Test CaRT Multi_tier without singleton attach test on two nodes

        :avocado: tags=all,singleton,multi_tier,two_node
        """
        urifile = self.utils.create_uri_file()

        srvcmd = self.utils.build_cmd(self, self.env, "srv", True, urifile)

        srvcmd += " -m"

        srv2cmd = self.utils.build_cmd(self, self.env, "srv2", False, urifile)

        try:
            srv_rtn = self.utils.launch_cmd_bg(self, srvcmd)
        except Exception as e:
            self.utils.print("Exception in launching server : {}".format(e))
            self.fail("Test failed.\n")

        time.sleep(10)

        try:
            srv2_rtn = self.utils.launch_cmd_bg(self, srv2cmd)
        except Exception as e:
            self.utils.print("Exception in launching server : {}".format(e))
            self.fail("Test failed.\n")

        # Verify the server is still running.
        if not self.utils.check_process(srv_rtn):
            procrtn = self.utils.stop_process(srv_rtn)
            self.fail("Server did not launch, return code %s" \
                       % procrtn)

        clicmd = self.utils.build_cmd(self, self.env, "cli", False, urifile)

        clicmd += " -m"

        self.utils.launch_test(self, clicmd, srv_rtn, srv2_rtn)

        # Stop the server
        self.utils.print("Stopping server process {}".format(srv_rtn))
        procrtn1 = self.utils.stop_process(srv_rtn)

        self.utils.print("Stopping server process {}".format(srv2_rtn))
        procrtn2 = self.utils.stop_process(srv2_rtn)

        if procrtn1 or procrtn2:
            self.fail("Test failed. \
                       Server ret code {} {}".format(procrtn1, procrtn2))