# Buggy code
def __enter__(self):
    """
    Derive configuration from the command line options, load the job store and, on restart,
    consolidate the derived configuration with the one from the previous invocation of the
    workflow.
    """
    setLoggingFromOptions(self.options)
    self._inContextManager = True
    self.config = Config()
    self.config.setOptions(self.options)
    self._jobStore = self.loadOrCreateJobStore(
        self.config.jobStore, config=None if self.config.restart else self.config
    )
    if self.config.restart:
        # Reload configuration from job store
        self.config = self._jobStore.config
        self.config.setOptions(self.options)
        self.config.workflowAttemptNumber += 1
        self._jobStore.writeConfigToStore()

    return self


# Traceback (toil.jobStores.abstractJobStore.NoSuchFileException)
cmarkello@c1master1:~$ toil clean azure:hgvm:hgvmevaljobstore
2016-05-13 23:08:36,438 INFO:toil.lib.bioio: Logging set at level: INFO
2016-05-13 23:08:36,445 INFO:toil.utils.toilClean: Parsed arguments
2016-05-13 23:08:36,445 INFO:toil.utils.toilClean: Checking if we have files for toil
2016-05-13 23:08:36,525 INFO:requests.packages.urllib3.connectionpool: Starting new HTTPS connection (1): hgvm.table.core.windows.net
2016-05-13 23:08:36,724 INFO:requests.packages.urllib3.connectionpool: Starting new HTTPS connection (1): hgvm.blob.core.windows.net
Traceback (most recent call last):
File "/usr/local/bin/toil", line 9, in <module>
load_entry_point('toil==3.2.0a2', 'console_scripts', 'toil')()
File "/usr/local/lib/python2.7/dist-packages/toil/utils/toilMain.py", line 30, in main
module.main()
File "/usr/local/lib/python2.7/dist-packages/toil/utils/toilClean.py", line 53, in main
jobStore = Toil.loadOrCreateJobStore(options.jobStore)
File "/usr/local/lib/python2.7/dist-packages/toil/common.py", line 589, in loadOrCreateJobStore
return AzureJobStore(account, namePrefix, config=config)
File "/usr/local/lib/python2.7/dist-packages/toil/jobStores/azureJobStore.py", line 120, in __init__
super(AzureJobStore, self).__init__(config=config)
File "/usr/local/lib/python2.7/dist-packages/toil/jobStores/abstractJobStore.py", line 141, in __init__
with self.readSharedFileStream("config.pickle") as fileHandle:
File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/usr/local/lib/python2.7/dist-packages/toil/jobStores/azureJobStore.py", line 318, in readSharedFileStream
raise NoSuchFileException(sharedFileID)
toil.jobStores.abstractJobStore.NoSuchFileException: File 'a77581f6_ad82_5142_acb7_5a6b01eab3fb' does not exist

# Fixed code
def __enter__(self):
    """
    Derive configuration from the command line options, load the job store and, on restart,
    consolidate the derived configuration with the one from the previous invocation of the
    workflow.
    """
    setLoggingFromOptions(self.options)
    config = Config()
    config.setOptions(self.options)
    jobStore = self.getJobStore(config.jobStore)
    if not config.restart:
        config.workflowAttemptNumber = 0
        jobStore.initialize(config)
    else:
        jobStore.resume()
        # Merge configuration from job store with command line options
        config = jobStore.config
        config.setOptions(self.options)
        config.workflowAttemptNumber += 1
        jobStore.writeConfig()
    self.config = config
    self._jobStore = jobStore
    self._inContextManager = True
    return self