Example #1
0
 def test_02_ldmsctl(self):
     logfile = "ldmsctl.log"
     self.smp = LDMSD(port=self.SMP_PORT,
                      xprt=self.XPRT,
                      verbose="DEBUG",
                      logfile=logfile)
     self.smp.run()
     if not on_timeout(self.is_logfile_ready, filename=logfile):
         raise Exception(
             "ldmsd log file isn't created within 1 second after ldmsd is started."
         )
     name_len = self.getMaxMsgSz("ldmsctl")
     line = self.getGreetingCfgCmd(name_len)
     cfg = tempfile.NamedTemporaryFile()
     cfg.write(line)
     cfg.file.flush()
     # ldmsd_controller subprocess
     ctrl = LDMSD_Controller(port=self.SMP_PORT,
                             xprt=self.XPRT,
                             source=cfg.name,
                             ldmsctl=True)
     ctrl.run()
     msg = self.getLogMsg(name_len)
     self.assertTrue(
         on_timeout(self.is_msg_in_logfile, filename=logfile, msg=msg))
Example #2
0
 def test_04_setgroup_rm(self):
     """`setgroup_rm` test"""
     ctrl = LDMSD_Controller(port=self.SMP_PORT, xprt=self.XPRT)
     ctrl.run()
     ctrl.read_pty()  # discard the welcome message and the prompt
     lines = ctrl.comm_pty("setgroup_rm name=my/grp instance=smp/set7")
     time.sleep(3 * self.INTERVAL_SEC)
     self._verify_smp()
     self._verify_agg(["smp/meminfo"])
Example #3
0
 def test_02_empty_grp(self):
     """Empty the plugin group so that we can test the manual group"""
     ctrl = LDMSD_Controller(port=self.SMP_PORT, xprt=self.XPRT)
     ctrl.run()
     ctrl.read_pty()  # discard the welcome message and the prompt
     lines = ctrl.comm_pty("config name=grptest members=0x0")
     self._verify_smp()
     # Now, only set0 and set4 shold be updated on the agg
     self._verify_agg([])
Example #4
0
 def test_01_plugin_mod(self):
     # Now, setup the ldmsd_controller subprocess
     ctrl = LDMSD_Controller(port=self.SMP_PORT, xprt=self.XPRT)
     ctrl.run()
     ctrl.read_pty()  # discard the welcome message and the prompt
     lines = ctrl.comm_pty("config name=grptest members=0x11")
     self._verify_smp()
     # Now, only set0 and set4 shold be updated on the agg
     self._verify_agg(['smp/set0', 'smp/set4'])
Example #5
0
 def test_06_setgroup_del(self):
     ctrl = LDMSD_Controller(port=self.SMP_PORT, xprt=self.XPRT)
     ctrl.run()
     ctrl.read_pty()  # discard the welcome message and the prompt
     cmd = "setgroup_del name=my/grp"
     lines = ctrl.comm_pty(cmd)
     time.sleep(3 * self.INTERVAL_SEC)
     x = LdmsWrap(self.AGG_PORT)
     s = x.get("my/grp")
     self.assertEqual(s, None)
Example #6
0
 def test_05_setgroup_mod(self):
     """`setgroup_mod` test"""
     ctrl = LDMSD_Controller(port=self.SMP_PORT, xprt=self.XPRT)
     ctrl.run()
     ctrl.read_pty()  # discard the welcome message and the prompt
     cmd = "setgroup_mod name=my/grp interval=%d" % (60 * self.INTERVAL_US)
     lines = ctrl.comm_pty(cmd)
     time.sleep(3 * self.INTERVAL_SEC)
     self._verify_smp()
     self._verify_agg([])
Example #7
0
 def test_03_setgroup_add_ins(self):
     """`setgroup_add` and `setgroup_ins` commands"""
     ctrl = LDMSD_Controller(port = self.SMP_PORT, xprt = self.XPRT)
     ctrl.run()
     ctrl.read_pty() # discard the welcome message and the prompt
     cmd = "setgroup_add name=my/grp interval=%(interval)d" % {
                 "interval": self.INTERVAL_US,
             }
     lines = ctrl.comm_pty(cmd)
     lines = ctrl.comm_pty("setgroup_ins name=my/grp instance=smp/meminfo,smp/set7")
     time.sleep(3 * self.INTERVAL_SEC)
     self._verify_smp()
     self._verify_agg(["smp/meminfo", "smp/set7"])
Example #8
0
    def test_01_req_noexp(self):
        """Request over xprt shall not be command-expanded"""
        ctrl = LDMSD_Controller(port=self.SMP_PORT, xprt=self.XPRT)
        ctrl.run()
        ctrl.read_pty()
        ctrl.write_pty("env X=$(hostname)\n")
        ctrl.write_pty("load name=vmstat\n")
        ctrl.write_pty("config name=vmstat producer=${X} \
                               instance=${X}/vmstat\
                               schema=vmstat\n")
        ctrl.write_pty("start name=vmstat interval=1000000 offset=0\n")
        time.sleep(0.2)

        host = socket.gethostname()
        xprt = ldms.LDMS_xprt_new(self.XPRT)
        rc = ldms.LDMS_xprt_connect_by_name(xprt, "localhost", "10001")
        self.assertEqual(rc, 0)
        dir_resp = ldms.LDMS_xprt_dir(xprt)
        dir_resp.sort()
        expected = [host + "/$(whoami)/meminfo", "$(hostname)/vmstat"]
        expected.sort()
        self.assertEqual(dir_resp, expected)