RefStack/ProcessFlow

Test Execution Flow
execute_test.py

TCUP Workflow
tcup_driver.py

Configuration File Load Order
Configuration Files:
 * common_config
 * custom_config
 * cloud_config

Fields in custom_config and cloud_config are disjoint. Common config files are part of the RefStack distro.
 * The values in this file define the baseline configuration settings and are applied system-wide to all tests.  If only this file has contents, any cloud within the OpenStack CI infrastructure should pass all the tests run.
 * Custom config files are only loaded in the remote RefStack product. The file is for use in preparing the user's cloud for submission to RefStack.org for certification  The purpose of custom_config is for vendor to customize values that are not exposed in the RefStack GUI.
 * Cloud config files are used to load specific configuration directives for testing the user's cloud architecture.

Here is the logic behind the ordering: RefStack run by RefStack.org:
 * 1) Load in the common_config which is pre-defined in the refstack code. These are values that refstack thinks should be applied to all tests (system-wide).
 * 2) Add/update with cloud_config, which are values entered by individual user and stored in the cloud DB, specific to the cloud to be tested.
 * This load is last because the values are explicitly entered by end-user to run the test. They are cloud/test specific. It would be confusing to the user if these values are overwritten.

''Note: For refstack.org, custom_config will be ignored. All certification tests will be executed against the complete set of versioned, Interop Working Group specified tests."

Remote Run RefStack:
 * 1) Load in the common_config which is pre-defined in the refstack code. These are values that refstack thinks should be applied to all tests (system-wide).
 * 2) Add/update with custom_config (from a editable config file), so vendor who installs its own copy of refstack can add in their system-wide config or overwrite those pre-defined by refstack.
 * 3) Add/update with cloud_config, which are values entered by individual user and stored in the cloud DB, specific to the cloud to be tested.