# Buggy code
def __init__(self):
    # Core options
    self.jobStore = os.path.abspath("./toil")
    self.logLevel = getLogLevelString()
    self.workDir = None
    self.stats = False

    # Because the stats option needs the jobStore to persist past the end of the run,
    # the clean default value depends the specified stats option and is determined in setOptions
    self.clean = None

    # Restarting the workflow options
    self.restart = False

    # Batch system options
    self.batchSystem = "singleMachine"
    self.scale = 1
    self.mesosMasterAddress = "localhost:5050"
    self.parasolCommand = "parasol"
    self.parasolMaxBatches = 10000

    # Resource requirements
    self.defaultMemory = 2147483648
    self.defaultCores = 1
    self.defaultDisk = 2147483648
    self.defaultCache = 2147483648  # Cache is 2GB
    self.maxCores = sys.maxint
    self.maxMemory = sys.maxint
    self.maxDisk = sys.maxint

    # Retrying/rescuing jobs
    self.retryCount = 0
    self.maxJobDuration = sys.maxint
    self.rescueJobsFrequency = 3600

    # Misc
    self.maxLogFileSize = 50120
    self.sseKey = None
    self.cseKey = None

    # Debug options
    self.badWorker = 0.0
    self.badWorkerFailInterval = 0.01


# Traceback (ConfigParser.NoSectionError)
DEBUG:toil.batchSystems.mesos.executor:Starting executor
I0924 22:47:08.587648 43191 exec.cpp:132] Version: 0.22.0
I0924 22:47:08.592193 43192 exec.cpp:206] Executor registered on slave 20150924-214557-83886090-5050-44087-S8
INFO:toil.batchSystems.mesos.executor:Registered with framework
DEBUG:toil.batchSystems.mesos.executor:Running task 0
DEBUG:toil.batchSystems.mesos.executor:Sending status update ...
DEBUG:toil.batchSystems.mesos.executor:Sent status update
DEBUG:toil.batchSystems.mesos.executor:Invoking command: '/usr/bin/python2.7 -E /usr/local/lib/python2.7/dist-packages/toil/worker.py azure:hgvm:tree2 683b1010_55c3_4978_a7e7_853f17ed1803'
DEBUG:toil.batchSystems.mesos.executor:Sent stats message
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/toil/worker.py", line 408, in <module>
main()
File "/usr/local/lib/python2.7/dist-packages/toil/worker.py", line 89, in main
jobStore = loadJobStore(jobStoreString)
File "/usr/local/lib/python2.7/dist-packages/toil/common.py", line 366, in loadJobStore
return AzureJobStore( account, namePrefix, config=config )
File "/usr/local/lib/python2.7/dist-packages/toil/jobStores/azureJobStore.py", line 78, in __init__
account_key = _fetchAzureAccountKey(accountName)
File "/usr/local/lib/python2.7/dist-packages/toil/jobStores/azureJobStore.py", line 63, in _fetchAzureAccountKey
return configParser.get('AzureStorageCredentials', accountName)
File "/usr/lib/python2.7/ConfigParser.py", line 330, in get
raise NoSectionError(section)
ConfigParser.NoSectionError: No section: 'AzureStorageCredentials'
DEBUG:toil.batchSystems.mesos.executor:Sending status update ...
DEBUG:toil.batchSystems.mesos.executor:Sent status update
I0924 22:47:09.738494 43200 exec.cpp:379] Executor asked to shutdown
CRITICAL:toil.batchSystems.mesos.executor:Shutting down executor...
CRITICAL:toil.batchSystems.mesos.executor:Executor shut down

# Fixed code
def __init__(self):
    # Core options
    self.jobStore = os.path.abspath("./toil")
    self.logLevel = getLogLevelString()
    self.workDir = None
    self.stats = False

    # Because the stats option needs the jobStore to persist past the end of the run,
    # the clean default value depends the specified stats option and is determined in setOptions
    self.clean = None

    # Restarting the workflow options
    self.restart = False

    # Batch system options
    self.batchSystem = "singleMachine"
    self.scale = 1
    self.mesosMasterAddress = "localhost:5050"
    self.parasolCommand = "parasol"
    self.parasolMaxBatches = 10000
    self.environment = {}

    # Resource requirements
    self.defaultMemory = 2147483648
    self.defaultCores = 1
    self.defaultDisk = 2147483648
    self.defaultCache = 2147483648  # Cache is 2GB
    self.maxCores = sys.maxint
    self.maxMemory = sys.maxint
    self.maxDisk = sys.maxint

    # Retrying/rescuing jobs
    self.retryCount = 0
    self.maxJobDuration = sys.maxint
    self.rescueJobsFrequency = 3600

    # Misc
    self.maxLogFileSize = 50120
    self.sseKey = None
    self.cseKey = None

    # Debug options
    self.badWorker = 0.0
    self.badWorkerFailInterval = 0.01