From 97953c7e1168d7ccc992920703251020eb09dd89 Mon Sep 17 00:00:00 2001 From: Edison Su Date: Tue, 31 Jan 2012 14:34:26 -0800 Subject: [PATCH] disable nfs directory cache on kvm host Reviewed-by: Frank --- python/lib/cloudutils/serviceConfig.py | 27 ++++++++++++++++++++++++++ python/lib/cloudutils/syscfg.py | 2 ++ 2 files changed, 29 insertions(+) diff --git a/python/lib/cloudutils/serviceConfig.py b/python/lib/cloudutils/serviceConfig.py index 30be0410ce7..e8f5f9bdbba 100755 --- a/python/lib/cloudutils/serviceConfig.py +++ b/python/lib/cloudutils/serviceConfig.py @@ -321,6 +321,33 @@ class cgroupConfig(serviceCfgBase): logging.debug(formatExceptionInfo()) return False +class nfsConfig(serviceCfgBase): + def __init__(self, syscfg): + super(nfsConfig, self).__init__(syscfg) + self.serviceName = "Nfs" + + def config(self): + try: + if not os.path.exists("/etc/nfsmount.conf"): + return True + + cfo = configFileOps("/etc/nfsmount.conf") + cfo.addEntry("AC", "False") + cfo.save() + + self.syscfg.svo.enableService("rpcbind") + self.syscfg.svo.stopService("rpcbind") + self.syscfg.svo.startService("rpcbind") + + self.syscfg.svo.enableService("nfs") + self.syscfg.svo.stopService("nfs") + self.syscfg.svo.startService("nfs") + + return True + except: + logging.debug(formatExceptionInfo()) + return False + class securityPolicyConfigUbuntu(serviceCfgBase): def __init__(self, syscfg): super(securityPolicyConfigUbuntu, self).__init__(syscfg) diff --git a/python/lib/cloudutils/syscfg.py b/python/lib/cloudutils/syscfg.py index 493dd863164..35ce3f37ca2 100755 --- a/python/lib/cloudutils/syscfg.py +++ b/python/lib/cloudutils/syscfg.py @@ -128,6 +128,7 @@ class sysConfigAgentUbuntu(sysConfigAgent): networkConfigUbuntu(self), libvirtConfigUbuntu(self), firewallConfigUbuntu(self), + nfsConfig(self), cloudAgentConfig(self)] #it covers RHEL6/Fedora13/Fedora14 @@ -139,6 +140,7 @@ class sysConfigRedhat6(sysConfigAgentRedhatBase): networkConfigRedhat(self), libvirtConfigRedhat(self), firewallConfigAgent(self), + nfsConfig(self), cloudAgentConfig(self)] #It covers RHEL5/CentOS5, the mainly difference is that there is no cgroup