提交 8fec3520 编写于 作者: Z Zhenghua Lyu 提交者: GitHub

Add cgroup memory dir check in gpcheckresgroupimpl.

上级 5e81aa40
......@@ -49,6 +49,9 @@ class cgroup(object):
self.validate_permission("cpuacct/gpdb/cpuacct.usage", "r")
self.validate_permission("cpuacct/gpdb/cpuacct.stat", "r")
self.validate_permission("memory/memory.limit_in_bytes", "r")
self.validate_permission("memory/memory.memsw.limit_in_bytes", "r")
def die(self, msg):
exit(self.impl + self.error_prefix + msg)
......
......@@ -24,6 +24,7 @@ class GpCheckResGroupImplCGroup(unittest.TestCase):
os.mkdir(os.path.join(self.cgroup_mntpnt, "cpu"), 0755)
os.mkdir(os.path.join(self.cgroup_mntpnt, "cpuacct"), 0755)
os.mkdir(os.path.join(self.cgroup_mntpnt, "memory"), 0755)
self.cgroup = gpcheckresgroupimpl.cgroup()
self.cgroup.mount_point = self.cgroup_mntpnt
......@@ -40,6 +41,9 @@ class GpCheckResGroupImplCGroup(unittest.TestCase):
self.touch(os.path.join(self.cgroup_mntpnt, "cpuacct", "gpdb", "cpuacct.usage"), 0400)
self.touch(os.path.join(self.cgroup_mntpnt, "cpuacct", "gpdb", "cpuacct.stat"), 0400)
self.touch(os.path.join(self.cgroup_mntpnt, "memory", "memory.limit_in_bytes"), 0400)
self.touch(os.path.join(self.cgroup_mntpnt, "memory", "memory.memsw.limit_in_bytes"), 0400)
def tearDown(self):
shutil.rmtree(self.cgroup_mntpnt)
self.cgroup = None
......@@ -151,5 +155,16 @@ class GpCheckResGroupImplCGroup(unittest.TestCase):
with self.assertRaisesRegexp(AssertionError, "file '.*/cpuacct/gpdb/cpuacct.stat' permission denied: require permission 'r'"):
self.cgroup.validate_all()
def test_when_memory_limit_in_bytes_missing(self):
os.unlink(os.path.join(self.cgroup_mntpnt, "memory", "memory.limit_in_bytes"))
with self.assertRaisesRegexp(AssertionError, "file '.*/memory/memory.limit_in_bytes' does not exist"):
self.cgroup.validate_all()
def test_when_memsw_limit_in_bytes_bad_permission(self):
os.chmod(os.path.join(self.cgroup_mntpnt, "memory", "memory.memsw.limit_in_bytes"), 0100)
with self.assertRaisesRegexp(AssertionError, "file '.*/memory/memory.memsw.limit_in_bytes' permission denied: require permission 'r'"):
self.cgroup.validate_all()
if __name__ == '__main__':
unittest.main()
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册