'Load the persisted configuration, upgrading the configuration format
if an older version is detected.'

def load_configuration(self):

    self._process_v1_config(file_name='current_configuration.v1.json', archive_name='current_configuration.v1.old.json')
    if self._config_path.exists():
        config_json = self._config_path.getContent()
        config_dict = loads(config_json)
        config_version = config_dict['version']
        if (config_version < _CONFIG_VERSION):
            with _LOG_UPGRADE(self.logger, configuration=config_json, source_version=config_version, target_version=_CONFIG_VERSION):
                config_json = migrate_configuration(config_version, _CONFIG_VERSION, config_json, ConfigurationMigration)
        config = wire_decode(config_json)
        self._deployment = config.deployment
        self._sync_save(config.deployment)
    else:
        self._deployment = Deployment()
        self._sync_save(self._deployment)
