summaryrefslogtreecommitdiffstats
path: root/ATFInit.py
diff options
context:
space:
mode:
Diffstat (limited to 'ATFInit.py')
-rwxr-xr-xATFInit.py233
1 files changed, 233 insertions, 0 deletions
diff --git a/ATFInit.py b/ATFInit.py
new file mode 100755
index 0000000..7f28aca
--- /dev/null
+++ b/ATFInit.py
@@ -0,0 +1,233 @@
+#!/usr/bin/env python
+
+import re
+import ConfigParser
+import ATFUtils
+
+########################################################################
+## GlobalParameter file ConfigParser Object
+########################################################################
+Config = ConfigParser.ConfigParser()
+
+def initialize():
+ """
+ Description:
+ Initialize ATFUtils.Logger, TestEnvironments
+
+ Parameters:
+ None
+
+ Returns:
+ Success: 0
+ Failure: 1
+ """
+
+ if ATFUtils.LogObj.create('ATF_LOG'):
+ return 1
+
+ if parseGPFile():
+ return 1
+
+ ATFUtils.TestEnvObj.create_servershostlist()
+ ATFUtils.TestEnvObj.create_clientshostlist()
+ return 0
+
+def ConfigSectionMap(section):
+ """
+ Description:
+ Get the key=value pair for the Section 'section'
+ in the GlobalParam File
+
+ Parameters:
+ section: Section Name in the GlobalParam File
+
+ Returns:
+ Success: Dictionary: List of key=value pairs from section 'section'
+ Failure: 1
+ """
+
+ dict1 = {}
+
+ try:
+ options = Config.options(section)
+
+ except ConfigParser.NoSectionError:
+ return 1
+
+ else:
+ for option in options:
+ dict1[option] = Config.get(section, option, raw=True)
+
+ return dict1
+
+def parseGPFile():
+ """
+ Description:
+ Parse Global Parameter file
+
+ Parameters:
+ filename: Name of GlobalParam File
+
+ Returns:
+ Success: 0
+ Failure: 1
+ """
+
+ filename = ATFUtils.TestEnvObj.get_globalparamfile()
+ status = Config.read(filename)
+
+ if len(status) == 0:
+ ATFUtils.Logger.error("GlobalParam File: " + filename + "Not Found")
+ return 1
+ else:
+ ### Parse Section: [Hosts] ###
+ Map = ConfigSectionMap('Hosts')
+
+ if Map == 1:
+ ATFUtils.Logger.error(
+ "Section [Hosts] Not Found In GlobalParam File: " +
+ filename)
+ return 1
+ else:
+ for key in Map.keys():
+ name = key
+ host = Map[key]
+ name = name.lower()
+ ATFUtils.TestEnvObj.add_host(name, host)
+
+ ### Parse Section: [Users] ###
+ Map = ConfigSectionMap("Users")
+
+ if Map == 1:
+ ATFUtils.Logger.error(
+ "Section [Users] Not Found In GlobalParam File")
+ return 1
+ else:
+ for key in Map.keys():
+ name = key
+ user = Map[key]
+ name = name.lower()
+ ATFUtils.TestEnvObj.add_user(name, user)
+
+ ### Parse Section: [Servers] ###
+
+ Map = ConfigSectionMap('Servers')
+
+ if Map == 1:
+ ATFUtils.Logger.error(
+ "Section [Servers] Not Found In GlobalParam File")
+ return 1
+ else:
+ for key in Map.keys():
+ name = key
+ value = Map[key]
+ user, host = re.split('@', value)
+ name = name.lower()
+ if ATFUtils.TestEnvObj.add_server(name, host, user):
+ return 1
+ else:
+ continue
+
+ ### Parse Section: [Clients] ###
+ Map = ConfigSectionMap('Clients')
+
+ if Map == 1:
+ ATFUtils.Logger.error(
+ "Section [Clients] Not Found in GlobalParam File")
+ return 1
+ else:
+ for key in Map.keys():
+ name = key
+ value = Map[key]
+ user, host = re.split('@', value)
+ name = name.lower()
+
+ if ATFUtils.TestEnvObj.add_client(name, host, user):
+ return 1
+ else:
+ continue
+
+ ### Parse Section: [ExportDirs] ###
+ Map = ConfigSectionMap('ExportDirs')
+
+ if Map == 1:
+ ATFUtils.Logger.error(
+ "Section [ExportDirs] Not Found in GlobalParam File")
+ return 1
+ else:
+ for key in Map.keys():
+ exportname = key
+ exportdir = Map[key]
+ exportname = exportname.lower()
+ ATFUtils.TestEnvObj.add_exportdir(exportname, exportdir)
+
+ ### Parse Section: [MountPoints] ###
+ Map = ConfigSectionMap('MountPoints')
+
+ if Map == 1:
+ ATFUtils.Logger.error(
+ "Section [MountPoints] Not Found in GlobalParam File")
+ return 1
+ else:
+ for key in Map.keys():
+ mountname = key
+ mountpoint = Map[key]
+ mountname = mountname.lower()
+ ATFUtils.TestEnvObj.add_mountpoint(mountname, mountpoint)
+
+ ### Parse Section: [Volumes] ###
+ Map = ConfigSectionMap('Volumes')
+
+ if Map == 1:
+ ATFUtils.Logger.error(
+ "Section [Volumes] Not Found in GlobalParam File")
+ return 1
+ else:
+ for key in Map.keys():
+ volumekey = key
+ volumename = Map[volumekey]
+ volumekey = volumekey.lower()
+ ATFUtils.TestEnvObj.add_volume(volumekey, volumename)
+
+ ### Parse Section: [GlusterfsVersion] ###
+ Map = ConfigSectionMap('GlusterfsVersion')
+
+ if Map == 1:
+ ATFUtils.Logger.warning("Section: [GlusterfsVersion] Not Found")
+ else:
+ GlusterfsVersion = Map['version']
+ if GlusterfsVersion == None:
+ GlusterfsVersion = ''
+
+ ATFUtils.TestsObj.set_version(GlusterfsVersion)
+
+ try:
+ fhr = open(filename, "r")
+
+ except IOError:
+ ATFUtils.Logger.error("IOError:Cannot Open GlobalParam File " +
+ filename + "For Logging to Summary Log")
+
+ else:
+ summarylog = ATFUtils.get_environ('ATF_SUMMARYLOG')
+ try:
+ fhw = open(summarylog, "a")
+
+ except:
+ print "IOError: Cannot Open Summary Log FIle " + summarylog
+ ATFUtils.Logger.warning (
+ "Unable to write GlobalParam Contents to SummaryLog: " +
+ summarylog)
+
+ fhr.close()
+
+ else:
+ lines = fhr.readlines()
+ fhw.write(("-" * 50) + "\nExported GlobalParam File: \n" +
+ ("-" * 50) + "\n")
+ fhw.writelines(lines)
+
+ fhw.close()
+ fhr.close()
+
+ return 0