stackrc is the primary configuration file for DevStack. It contains all of the settings that control the services started and the repositories used to download the source for those services. stackrc sources the localrc section of local.conf to perform the default overrides.
Specify which services to launch. These generally correspond to screen tabs. The default includes: Glance (API and Registry), Keystone, Nova (API, Certificate, Object Store, Compute, Network, Scheduler, VNC proxies, Certificate Authentication), Cinder (Scheduler, API, Volume), Horizon, MySQL, RabbitMQ, Tempest.
Other services that are not enabled by default can be enabled in localrc. For example, to add Swift, use the following service names:
enable_service s-proxy s-object s-container s-account
A service can similarly be disabled:
The Git repositories used to check out the source for each service are controlled by a pair of variables set for each service. *_REPO points to the repository and *_BRANCH selects which branch to check out. These may be overridden in local.conf to pull source from a different repo for testing, such as a Gerrit branch proposal. GIT_BASE points to the primary repository server.
To pull a branch directly from Gerrit, get the repo and branch from the Gerrit review page:
git fetch https://review.openstack.org/p/openstack/nova refs/changes/50/5050/1 && git checkout FETCH_HEAD
The repo is the stanza following fetch and the branch is the stanza following that: