# # Copyright (c) 2009 Platform Computing Inc # # This program is free software; you can redistribute it and/or modify # it under the terms of version 2 of the GNU General Public License as # published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA # # from kusu.genconfig import Report import os import sys import string from kusu.pvfs import pvfshelper class thisReport(Report): def toolHelp(self): print self.gettext("genconfig_pvfs2_fs_conf_Help") def runPlugin(self, pluginargs): # Find all nodegroups with 'component-pvfs-ioserver' enabled iosrv = pvfshelper.getNodegroupsWithCompEnabled(self.db, 'component-pvfs-ioserver') # Find all nodegroups with 'component-pvfs-metaserver' enabled metasrv = pvfshelper.getNodegroupsWithCompEnabled(self.db, 'component-pvfs-metaserver') iosrv_nodes = [] for ngname in iosrv: iosrv_nodes += pvfshelper.getNodesForNodegroup(self.db, ngname) metasrv_nodes = [] for ngname in metasrv: metasrv_nodes += pvfshelper.getNodesForNodegroup(self.db, ngname) cmd = ("pvfs2-genconfig -q --proto tcp --tcpport 3334 " "--ioservers %s " "--metaservers %s " "--storage /pvfs2-storage-space " "--logfile /tmp/pvfs2-server.log -" % (",".join(iosrv_nodes), ",".join(metasrv_nodes))) os.system(cmd)