Change-Id: I46ff885184a2b5b71caca905c27f28d8b1304011
| ... | ... |
@@ -88,6 +88,30 @@ to be in the sub-script, such as testing for keystone being enabled in |
| 88 | 88 |
``configure_swift()``. |
| 89 | 89 |
|
| 90 | 90 |
|
| 91 |
+stackrc |
|
| 92 |
+------- |
|
| 93 |
+ |
|
| 94 |
+``stackrc`` is the global configuration file for DevStack. It is responsible for |
|
| 95 |
+calling ``localrc`` if it exists so configuration can be overridden by the user. |
|
| 96 |
+ |
|
| 97 |
+The criteria for what belongs in ``stackrc`` can be vaguely summarized as |
|
| 98 |
+follows: |
|
| 99 |
+ |
|
| 100 |
+* All project respositories and branches (for historical reasons) |
|
| 101 |
+* Global configuration that may be referenced in ``localrc``, i.e. ``DEST``, ``DATA_DIR`` |
|
| 102 |
+* Global service configuration like ``ENABLED_SERVICES`` |
|
| 103 |
+* Variables used by multiple services that do not have a clear owner, i.e. |
|
| 104 |
+ ``VOLUME_BACKING_FILE_SIZE`` (nova-volumes and cinder) or ``PUBLIC_NETWORK_NAME`` |
|
| 105 |
+ (nova-network and quantum) |
|
| 106 |
+* Variables that can not be cleanly declared in a project file due to |
|
| 107 |
+ dependency ordering, i.e. the order of sourcing the project files can |
|
| 108 |
+ not be changed for other reasons but the earlier file needs to dereference a |
|
| 109 |
+ variable set in the later file. This should be rare. |
|
| 110 |
+ |
|
| 111 |
+Also, variable declarations in ``stackrc`` do NOT allow overriding (the form |
|
| 112 |
+``FOO=${FOO:-baz}``); if they did then they can already be changed in ``localrc``
|
|
| 113 |
+and can stay in the project file. |
|
| 114 |
+ |
|
| 91 | 115 |
Documentation |
| 92 | 116 |
------------- |
| 93 | 117 |
|