'Constructor
Args:
bindings: [dict] The parameter bindings for overriding the test
scenario configuration.
agent: [SpinnakerAgent] The Spinnaker agent to bind to the scenario.'

def __init__(self, bindings, agent=None):

    super(SpinnakerTestScenario, self).__init__(bindings, agent)
    agent = self.agent
    bindings = self.bindings
    if (agent is not None):
        for (key, value) in agent.runtime_config.items():
            try:
                if bindings[key]:
                    continue
            except KeyError:
                pass
            bindings[key] = value
    JournalLogger.begin_context('Configure    Scenario    Bindings')
    self.__platform_support = {}
    for klas in PLATFORM_SUPPORT_CLASSES:
        try:
            support = klas(self)
            self.__platform_support[support.platform_name] = support
        except:
            logger = logging.getLogger(__name__)
            logger.exception('Failed    to    initialize    support    class    %s:\n%s', str(klas), traceback.format_exc())
    try:
        self._do_init_bindings()
    except:
        logger = logging.getLogger(__name__)
        logger.exception('Failed    to    initialize    spinnaker    agent.')
        raise
    finally:
        JournalLogger.end_context()
