Sean Dague | e263c82 | 2014-12-05 14:25:28 -0500 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # |
Dean Troyer | 4a43b7b | 2012-08-28 17:43:40 -0500 | [diff] [blame] | 3 | # stackrc |
| 4 | # |
Dean Troyer | 0bd2410 | 2012-03-08 00:33:54 -0600 | [diff] [blame] | 5 | # Find the other rc files |
Peter Feiner | 388e36c | 2013-10-24 18:51:44 -0400 | [diff] [blame] | 6 | RC_DIR=$(cd $(dirname "${BASH_SOURCE:-$0}") && pwd) |
Dean Troyer | 0bd2410 | 2012-03-08 00:33:54 -0600 | [diff] [blame] | 7 | |
Adam Gandelman | 0e4cd03 | 2014-10-03 13:27:17 -0700 | [diff] [blame] | 8 | # Source required devstack functions and globals |
| 9 | source $RC_DIR/functions |
| 10 | |
Dean Troyer | 1214d9d | 2012-07-06 09:39:07 -0500 | [diff] [blame] | 11 | # Destination path for installation |
| 12 | DEST=/opt/stack |
| 13 | |
Dean Troyer | c83a7e1 | 2012-11-29 11:47:58 -0600 | [diff] [blame] | 14 | # Destination for working data |
| 15 | DATA_DIR=${DEST}/data |
| 16 | |
Dean Troyer | 9fc8792 | 2013-05-22 17:19:06 -0500 | [diff] [blame] | 17 | # Destination for status files |
| 18 | SERVICE_DIR=${DEST}/status |
| 19 | |
Dean Troyer | 74759aa | 2013-01-24 14:19:55 -0600 | [diff] [blame] | 20 | # Determine stack user |
| 21 | if [[ $EUID -eq 0 ]]; then |
| 22 | STACK_USER=stack |
| 23 | else |
| 24 | STACK_USER=$(whoami) |
| 25 | fi |
Attila Fazekas | 91b8d13 | 2013-01-06 22:40:09 +0100 | [diff] [blame] | 26 | |
Bartosz Górski | 0abde39 | 2014-02-28 14:15:19 +0100 | [diff] [blame] | 27 | # Specify region name Region |
| 28 | REGION_NAME=${REGION_NAME:-RegionOne} |
| 29 | |
Chmouel Boudjnah | 8da5656 | 2012-03-09 14:21:40 +0000 | [diff] [blame] | 30 | # Specify which services to launch. These generally correspond to |
Dean Troyer | 4a43b7b | 2012-08-28 17:43:40 -0500 | [diff] [blame] | 31 | # screen tabs. To change the default list, use the ``enable_service`` and |
Dean Troyer | a79617c | 2014-04-13 18:16:54 -0500 | [diff] [blame] | 32 | # ``disable_service`` functions in ``local.conf``. |
| 33 | # For example, to enable Swift add this to ``local.conf``: |
| 34 | # enable_service s-proxy s-object s-container s-account |
Mark McClain | b05c876 | 2013-07-06 23:29:39 -0400 | [diff] [blame] | 35 | # In order to enable Neutron (a single node setup) add the following |
Shuichiro MAKIGAKI | b968b0c | 2015-01-04 17:53:12 +0900 | [diff] [blame] | 36 | # settings in ``local.conf``: |
| 37 | # [[local|localrc]] |
Oleg Bondarev | 1f11f9a | 2013-03-25 05:34:23 -0700 | [diff] [blame] | 38 | # disable_service n-net |
| 39 | # enable_service q-svc |
| 40 | # enable_service q-agt |
| 41 | # enable_service q-dhcp |
| 42 | # enable_service q-l3 |
| 43 | # enable_service q-meta |
Oleg Bondarev | 1f11f9a | 2013-03-25 05:34:23 -0700 | [diff] [blame] | 44 | # # Optional, to enable tempest configuration as part of devstack |
| 45 | # enable_service tempest |
Sean Dague | 5375329 | 2014-12-04 19:38:15 -0500 | [diff] [blame^] | 46 | function isset { |
| 47 | local nounset=$(set +o | grep nounset) |
| 48 | set +o nounset |
| 49 | [[ -n "${!1+x}" ]] |
| 50 | result=$? |
| 51 | $nounset |
| 52 | return $result |
| 53 | } |
Sean Dague | a42541a | 2014-02-13 09:39:15 -0500 | [diff] [blame] | 54 | |
Sean Dague | fafb62b | 2014-06-30 16:49:30 -0400 | [diff] [blame] | 55 | # this allows us to pass ENABLED_SERVICES |
Sean Dague | 5375329 | 2014-12-04 19:38:15 -0500 | [diff] [blame^] | 56 | if ! isset ENABLED_SERVICES ; then |
Sean Dague | fafb62b | 2014-06-30 16:49:30 -0400 | [diff] [blame] | 57 | # core compute (glance / keystone / nova (+ nova-network)) |
Dean Troyer | 2bfb9af | 2014-11-07 07:44:25 -0600 | [diff] [blame] | 58 | ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,n-sch,n-xvnc,n-cauth |
Sean Dague | fafb62b | 2014-06-30 16:49:30 -0400 | [diff] [blame] | 59 | # cinder |
| 60 | ENABLED_SERVICES+=,c-sch,c-api,c-vol |
| 61 | # heat |
| 62 | ENABLED_SERVICES+=,h-eng,h-api,h-api-cfn,h-api-cw |
| 63 | # dashboard |
| 64 | ENABLED_SERVICES+=,horizon |
| 65 | # additional services |
| 66 | ENABLED_SERVICES+=,rabbit,tempest,mysql |
| 67 | fi |
Chmouel Boudjnah | 8da5656 | 2012-03-09 14:21:40 +0000 | [diff] [blame] | 68 | |
ihrachyshka | cbea344 | 2014-06-28 18:09:54 +0200 | [diff] [blame] | 69 | # SQLAlchemy supports multiple database drivers for each database server |
| 70 | # type. For example, deployer may use MySQLdb, MySQLConnector, or oursql |
| 71 | # to access MySQL database. |
| 72 | # |
| 73 | # When defined, the variable controls which database driver is used to |
| 74 | # connect to database server. Otherwise using default driver defined for |
| 75 | # each database type. |
| 76 | # |
| 77 | # You can find the list of currently supported drivers for each database |
| 78 | # type at: http://docs.sqlalchemy.org/en/rel_0_9/core/engines.html |
| 79 | # SQLALCHEMY_DATABASE_DRIVER="mysqldb" |
| 80 | |
Morgan Fainberg | 46455a3 | 2014-06-20 10:37:18 -0700 | [diff] [blame] | 81 | # Global toggle for enabling services under mod_wsgi. If this is set to |
| 82 | # ``True`` all services that use HTTPD + mod_wsgi as the preferred method of |
| 83 | # deployment, will be deployed under Apache. If this is set to ``False`` all |
| 84 | # services will rely on the local toggle variable (e.g. ``KEYSTONE_USE_MOD_WSGI``) |
| 85 | ENABLE_HTTPD_MOD_WSGI_SERVICES=True |
| 86 | |
Dean Troyer | 4237f59 | 2014-01-29 16:22:11 -0600 | [diff] [blame] | 87 | # Tell Tempest which services are available. The default is set here as |
| 88 | # Tempest falls late in the configuration sequence. This differs from |
| 89 | # ``ENABLED_SERVICES`` in that the project names are used here rather than |
| 90 | # the service names, i.e.: TEMPEST_SERVICES="key,glance,nova" |
| 91 | TEMPEST_SERVICES="" |
| 92 | |
Dean Troyer | 67787e6 | 2012-05-02 11:48:15 -0500 | [diff] [blame] | 93 | # Set the default Nova APIs to enable |
Andrew Laski | 6e7e1c9 | 2012-10-31 16:11:37 -0400 | [diff] [blame] | 94 | NOVA_ENABLED_APIS=ec2,osapi_compute,metadata |
Dean Troyer | 67787e6 | 2012-05-02 11:48:15 -0500 | [diff] [blame] | 95 | |
Dean Troyer | 3005e17 | 2013-01-24 14:14:28 -0600 | [diff] [blame] | 96 | # Configure Identity API version: 2.0, 3 |
| 97 | IDENTITY_API_VERSION=2.0 |
| 98 | |
Vishvananda Ishaya | 58e2134 | 2013-02-11 16:48:12 -0800 | [diff] [blame] | 99 | # Whether to use 'dev mode' for screen windows. Dev mode works by |
| 100 | # stuffing text into the screen windows so that a developer can use |
| 101 | # ctrl-c, up-arrow, enter to restart the service. Starting services |
| 102 | # this way is slightly unreliable, and a bit slower, so this can |
Dean Troyer | 681f3fd | 2013-02-27 19:00:39 -0600 | [diff] [blame] | 103 | # be disabled for automated testing by setting this value to False. |
| 104 | USE_SCREEN=True |
Vishvananda Ishaya | 58e2134 | 2013-02-11 16:48:12 -0800 | [diff] [blame] | 105 | |
Maru Newby | a81dcaa | 2013-03-26 00:15:34 -0400 | [diff] [blame] | 106 | # allow local overrides of env variables, including repo config |
Dean Troyer | 893e663 | 2013-09-13 15:05:51 -0500 | [diff] [blame] | 107 | if [[ -f $RC_DIR/localrc ]]; then |
| 108 | # Old-style user-supplied config |
Maru Newby | a81dcaa | 2013-03-26 00:15:34 -0400 | [diff] [blame] | 109 | source $RC_DIR/localrc |
Dean Troyer | 893e663 | 2013-09-13 15:05:51 -0500 | [diff] [blame] | 110 | elif [[ -f $RC_DIR/.localrc.auto ]]; then |
| 111 | # New-style user-supplied config extracted from local.conf |
| 112 | source $RC_DIR/.localrc.auto |
Maru Newby | a81dcaa | 2013-03-26 00:15:34 -0400 | [diff] [blame] | 113 | fi |
| 114 | |
Jeremy Stanley | c4f4734 | 2014-01-25 01:10:31 +0000 | [diff] [blame] | 115 | # This can be used to turn database query logging on and off |
| 116 | # (currently only implemented for MySQL backend) |
Sean Dague | 5375329 | 2014-12-04 19:38:15 -0500 | [diff] [blame^] | 117 | DATABASE_QUERY_LOGGING=$(trueorfalse True DATABASE_QUERY_LOGGING) |
Dean Troyer | cc6b443 | 2013-04-08 15:38:03 -0500 | [diff] [blame] | 118 | |
Ian Wienand | d53ad0b | 2014-02-20 13:55:13 +1100 | [diff] [blame] | 119 | # Set a timeout for git operations. If git is still running when the |
| 120 | # timeout expires, the command will be retried up to 3 times. This is |
| 121 | # in the format for timeout(1); |
| 122 | # |
| 123 | # DURATION is a floating point number with an optional suffix: 's' |
| 124 | # for seconds (the default), 'm' for minutes, 'h' for hours or 'd' |
| 125 | # for days. |
| 126 | # |
| 127 | # Zero disables timeouts |
| 128 | GIT_TIMEOUT=${GIT_TIMEOUT:-0} |
| 129 | |
Sean Dague | def1534 | 2014-10-27 12:26:04 -0400 | [diff] [blame] | 130 | # Requirements enforcing mode |
| 131 | # |
| 132 | # - strict (default) : ensure all project requirements files match |
| 133 | # what's in global requirements. |
| 134 | # |
| 135 | # - soft : enforce requirements on everything in |
| 136 | # requirements/projects.txt, but do soft updates on all other |
| 137 | # repositories (i.e. sync versions for requirements that are in g-r, |
| 138 | # but pass through any extras) |
| 139 | REQUIREMENTS_MODE=${REQUIREMENTS_MODE:-strict} |
| 140 | |
Dean Troyer | 4a43b7b | 2012-08-28 17:43:40 -0500 | [diff] [blame] | 141 | # Repositories |
| 142 | # ------------ |
| 143 | |
Monty Taylor | d5b18ec | 2012-07-26 09:21:01 -0500 | [diff] [blame] | 144 | # Base GIT Repo URL |
Dean Troyer | 3324f19 | 2014-09-18 09:26:39 -0500 | [diff] [blame] | 145 | # Another option is https://git.openstack.org |
Steve Kowalik | 047cac5 | 2013-11-07 22:36:10 +1100 | [diff] [blame] | 146 | GIT_BASE=${GIT_BASE:-git://git.openstack.org} |
Monty Taylor | d5b18ec | 2012-07-26 09:21:01 -0500 | [diff] [blame] | 147 | |
Sean Dague | 07d7e5b | 2014-11-17 07:10:14 -0500 | [diff] [blame] | 148 | # Which libraries should we install from git instead of using released |
| 149 | # versions on pypi? |
| 150 | # |
| 151 | # By default devstack is now installing libraries from pypi instead of |
| 152 | # from git repositories by default. This works great if you are |
| 153 | # developing server components, but if you want to develop libraries |
| 154 | # and see them live in devstack you need to tell devstack it should |
| 155 | # install them from git. |
| 156 | # |
| 157 | # ex: LIBS_FROM_GIT=python-keystoneclient,oslo.config |
| 158 | # |
| 159 | # Will install those 2 libraries from git, the rest from pypi. |
| 160 | |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 161 | ############## |
| 162 | # |
| 163 | # OpenStack Server Components |
| 164 | # |
| 165 | ############## |
| 166 | |
John H. Tran | 9336164 | 2012-07-26 11:22:05 -0700 | [diff] [blame] | 167 | # metering service |
Maru Newby | a81dcaa | 2013-03-26 00:15:34 -0400 | [diff] [blame] | 168 | CEILOMETER_REPO=${CEILOMETER_REPO:-${GIT_BASE}/openstack/ceilometer.git} |
| 169 | CEILOMETER_BRANCH=${CEILOMETER_BRANCH:-master} |
John H. Tran | 9336164 | 2012-07-26 11:22:05 -0700 | [diff] [blame] | 170 | |
Sean Dague | ee5ae7b | 2014-11-13 13:23:27 -0500 | [diff] [blame] | 171 | # block storage service |
Maru Newby | a81dcaa | 2013-03-26 00:15:34 -0400 | [diff] [blame] | 172 | CINDER_REPO=${CINDER_REPO:-${GIT_BASE}/openstack/cinder.git} |
| 173 | CINDER_BRANCH=${CINDER_BRANCH:-master} |
Dean Troyer | 67787e6 | 2012-05-02 11:48:15 -0500 | [diff] [blame] | 174 | |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 175 | # image catalog service |
| 176 | GLANCE_REPO=${GLANCE_REPO:-${GIT_BASE}/openstack/glance.git} |
| 177 | GLANCE_BRANCH=${GLANCE_BRANCH:-master} |
| 178 | |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 179 | # heat service |
| 180 | HEAT_REPO=${HEAT_REPO:-${GIT_BASE}/openstack/heat.git} |
| 181 | HEAT_BRANCH=${HEAT_BRANCH:-master} |
| 182 | |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 183 | # django powered web control panel for openstack |
| 184 | HORIZON_REPO=${HORIZON_REPO:-${GIT_BASE}/openstack/horizon.git} |
| 185 | HORIZON_BRANCH=${HORIZON_BRANCH:-master} |
| 186 | |
Jim Rollenhagen | f00766b | 2014-08-15 01:08:11 +0000 | [diff] [blame] | 187 | # baremetal provisioning service |
Roman Prykhodchenko | ce696b6 | 2013-08-09 10:40:45 +0300 | [diff] [blame] | 188 | IRONIC_REPO=${IRONIC_REPO:-${GIT_BASE}/openstack/ironic.git} |
| 189 | IRONIC_BRANCH=${IRONIC_BRANCH:-master} |
Roman Prykhodchenko | 43e0066 | 2013-10-15 17:03:15 +0300 | [diff] [blame] | 190 | |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 191 | # unified auth system (manages accounts/tokens) |
| 192 | KEYSTONE_REPO=${KEYSTONE_REPO:-${GIT_BASE}/openstack/keystone.git} |
| 193 | KEYSTONE_BRANCH=${KEYSTONE_BRANCH:-master} |
| 194 | |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 195 | # neutron service |
| 196 | NEUTRON_REPO=${NEUTRON_REPO:-${GIT_BASE}/openstack/neutron.git} |
| 197 | NEUTRON_BRANCH=${NEUTRON_BRANCH:-master} |
Morgan Fainberg | 58936fd | 2014-06-24 12:26:07 -0700 | [diff] [blame] | 198 | |
Kyle Mestery | 20b839f | 2014-12-08 06:17:27 +0000 | [diff] [blame] | 199 | # neutron fwaas service |
| 200 | NEUTRON_FWAAS_REPO=${NEUTRON_FWAAS_REPO:-${GIT_BASE}/openstack/neutron-fwaas.git} |
| 201 | NEUTRON_FWAAS_BRANCH=${NEUTRON_FWAAS_BRANCH:-master} |
| 202 | |
| 203 | # neutron lbaas service |
| 204 | NEUTRON_LBAAS_REPO=${NEUTRON_LBAAS_REPO:-${GIT_BASE}/openstack/neutron-lbaas.git} |
| 205 | NEUTRON_LBAAS_BRANCH=${NEUTRON_LBAAS_BRANCH:-master} |
| 206 | |
| 207 | # neutron vpnaas service |
| 208 | NEUTRON_VPNAAS_REPO=${NEUTRON_VPNAAS_REPO:-${GIT_BASE}/openstack/neutron-vpnaas.git} |
| 209 | NEUTRON_VPNAAS_BRANCH=${NEUTRON_VPNAAS_BRANCH:-master} |
| 210 | |
Anthony Young | 096fb5a | 2011-09-26 13:14:46 -0700 | [diff] [blame] | 211 | # compute service |
Maru Newby | a81dcaa | 2013-03-26 00:15:34 -0400 | [diff] [blame] | 212 | NOVA_REPO=${NOVA_REPO:-${GIT_BASE}/openstack/nova.git} |
| 213 | NOVA_BRANCH=${NOVA_BRANCH:-master} |
Anthony Young | 096fb5a | 2011-09-26 13:14:46 -0700 | [diff] [blame] | 214 | |
Sean Dague | ee5ae7b | 2014-11-13 13:23:27 -0500 | [diff] [blame] | 215 | # data processing service |
| 216 | SAHARA_REPO=${SAHARA_REPO:-${GIT_BASE}/openstack/sahara.git} |
| 217 | SAHARA_BRANCH=${SAHARA_BRANCH:-master} |
| 218 | |
| 219 | # object storage service |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 220 | SWIFT_REPO=${SWIFT_REPO:-${GIT_BASE}/openstack/swift.git} |
| 221 | SWIFT_BRANCH=${SWIFT_BRANCH:-master} |
| 222 | |
| 223 | # trove service |
| 224 | TROVE_REPO=${TROVE_REPO:-${GIT_BASE}/openstack/trove.git} |
| 225 | TROVE_BRANCH=${TROVE_BRANCH:-master} |
| 226 | |
| 227 | ############## |
| 228 | # |
| 229 | # Testing Components |
| 230 | # |
| 231 | ############## |
| 232 | |
| 233 | # consolidated openstack requirements |
| 234 | REQUIREMENTS_REPO=${REQUIREMENTS_REPO:-${GIT_BASE}/openstack/requirements.git} |
| 235 | REQUIREMENTS_BRANCH=${REQUIREMENTS_BRANCH:-master} |
| 236 | |
| 237 | # Tempest test suite |
| 238 | TEMPEST_REPO=${TEMPEST_REPO:-${GIT_BASE}/openstack/tempest.git} |
| 239 | TEMPEST_BRANCH=${TEMPEST_BRANCH:-master} |
| 240 | |
| 241 | # TODO(sdague): this should end up as a library component like below |
Sean Dague | 91b2290 | 2014-11-18 07:13:35 -0500 | [diff] [blame] | 242 | GITREPO["tempest-lib"]=${TEMPEST_LIB_REPO:-${GIT_BASE}/openstack/tempest-lib.git} |
| 243 | GITBRANCH["tempest-lib"]=${TEMPEST_LIB_BRANCH:-master} |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 244 | |
| 245 | |
| 246 | ############## |
| 247 | # |
| 248 | # OpenStack Client Library Componets |
| 249 | # |
| 250 | ############## |
| 251 | |
| 252 | # ceilometer client library |
Sean Dague | e08ab10 | 2014-11-13 17:09:28 -0500 | [diff] [blame] | 253 | GITREPO["python-ceilometerclient"]=${CEILOMETERCLIENT_REPO:-${GIT_BASE}/openstack/python-ceilometerclient.git} |
| 254 | GITBRANCH["python-ceilometerclient"]=${CEILOMETERCLIENT_BRANCH:-master} |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 255 | |
| 256 | # volume client |
Sean Dague | e08ab10 | 2014-11-13 17:09:28 -0500 | [diff] [blame] | 257 | GITREPO["python-cinderclient"]=${CINDERCLIENT_REPO:-${GIT_BASE}/openstack/python-cinderclient.git} |
Chris Dent | 425e844 | 2014-11-14 11:09:16 +0000 | [diff] [blame] | 258 | GITBRANCH["python-cinderclient"]=${CINDERCLIENT_BRANCH:-master} |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 259 | |
| 260 | # python glance client library |
Sean Dague | e08ab10 | 2014-11-13 17:09:28 -0500 | [diff] [blame] | 261 | GITREPO["python-glanceclient"]=${GLANCECLIENT_REPO:-${GIT_BASE}/openstack/python-glanceclient.git} |
| 262 | GITBRANCH["python-glanceclient"]=${GLANCECLIENT_BRANCH:-master} |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 263 | |
| 264 | # python heat client library |
Sean Dague | e08ab10 | 2014-11-13 17:09:28 -0500 | [diff] [blame] | 265 | GITREPO["python-heatclient"]=${HEATCLIENT_REPO:-${GIT_BASE}/openstack/python-heatclient.git} |
| 266 | GITBRANCH["python-heatclient"]=${HEATCLIENT_BRANCH:-master} |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 267 | |
| 268 | # ironic client |
Sean Dague | e08ab10 | 2014-11-13 17:09:28 -0500 | [diff] [blame] | 269 | GITREPO["python-ironicclient"]=${IRONICCLIENT_REPO:-${GIT_BASE}/openstack/python-ironicclient.git} |
| 270 | GITBRANCH["python-ironicclient"]=${IRONICCLIENT_BRANCH:-master} |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 271 | |
| 272 | # python keystone client library to nova that horizon uses |
Sean Dague | e08ab10 | 2014-11-13 17:09:28 -0500 | [diff] [blame] | 273 | GITREPO["python-keystoneclient"]=${KEYSTONECLIENT_REPO:-${GIT_BASE}/openstack/python-keystoneclient.git} |
| 274 | GITBRANCH["python-keystoneclient"]=${KEYSTONECLIENT_BRANCH:-master} |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 275 | |
| 276 | # neutron client |
Sean Dague | e08ab10 | 2014-11-13 17:09:28 -0500 | [diff] [blame] | 277 | GITREPO["python-neutronclient"]=${NEUTRONCLIENT_REPO:-${GIT_BASE}/openstack/python-neutronclient.git} |
| 278 | GITBRANCH["python-neutronclient"]=${NEUTRONCLIENT_BRANCH:-master} |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 279 | |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 280 | # python client library to nova that horizon (and others) use |
Sean Dague | e08ab10 | 2014-11-13 17:09:28 -0500 | [diff] [blame] | 281 | GITREPO["python-novaclient"]=${NOVACLIENT_REPO:-${GIT_BASE}/openstack/python-novaclient.git} |
| 282 | GITBRANCH["python-novaclient"]=${NOVACLIENT_BRANCH:-master} |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 283 | |
Sean Dague | ee5ae7b | 2014-11-13 13:23:27 -0500 | [diff] [blame] | 284 | # python saharaclient |
| 285 | GITREPO["python-saharaclient"]=${SAHARACLIENT_REPO:-${GIT_BASE}/openstack/python-saharaclient.git} |
| 286 | GITBRANCH["python-saharaclient"]=${SAHARACLIENT_BRANCH:-master} |
| 287 | |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 288 | # python swift client library |
Sean Dague | e08ab10 | 2014-11-13 17:09:28 -0500 | [diff] [blame] | 289 | GITREPO["python-swiftclient"]=${SWIFTCLIENT_REPO:-${GIT_BASE}/openstack/python-swiftclient.git} |
| 290 | GITBRANCH["python-swiftclient"]=${SWIFTCLIENT_BRANCH:-master} |
Steve Baker | 122ab70 | 2014-05-05 16:06:17 +1200 | [diff] [blame] | 291 | |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 292 | # trove client library test |
Sean Dague | e08ab10 | 2014-11-13 17:09:28 -0500 | [diff] [blame] | 293 | GITREPO["python-troveclient"]=${TROVECLIENT_REPO:-${GIT_BASE}/openstack/python-troveclient.git} |
| 294 | GITBRANCH["python-troveclient"]=${TROVECLIENT_BRANCH:-master} |
Steve Baker | 122ab70 | 2014-05-05 16:06:17 +1200 | [diff] [blame] | 295 | |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 296 | # consolidated openstack python client |
Sean Dague | e08ab10 | 2014-11-13 17:09:28 -0500 | [diff] [blame] | 297 | GITREPO["python-openstackclient"]=${OPENSTACKCLIENT_REPO:-${GIT_BASE}/openstack/python-openstackclient.git} |
| 298 | GITBRANCH["python-openstackclient"]=${OPENSTACKCLIENT_BRANCH:-master} |
Sean Dague | aecd189 | 2014-11-19 15:19:51 -0500 | [diff] [blame] | 299 | # this doesn't exist in a lib file, so set it here |
| 300 | GITDIR["python-openstackclient"]=$DEST/python-openstackclient |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 301 | |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 302 | ################### |
| 303 | # |
| 304 | # Oslo Libraries |
| 305 | # |
| 306 | ################### |
Steve Baker | 122ab70 | 2014-05-05 16:06:17 +1200 | [diff] [blame] | 307 | |
Doug Hellmann | 6b1cb10 | 2014-02-10 09:59:43 -0800 | [diff] [blame] | 308 | # cliff command line framework |
Sean Dague | cc52406 | 2014-10-01 09:06:43 -0400 | [diff] [blame] | 309 | GITREPO["cliff"]=${CLIFF_REPO:-${GIT_BASE}/openstack/cliff.git} |
| 310 | GITBRANCH["cliff"]=${CLIFF_BRANCH:-master} |
Doug Hellmann | 6b1cb10 | 2014-02-10 09:59:43 -0800 | [diff] [blame] | 311 | |
Davanum Srinivas | 0b9464d | 2014-08-27 12:50:17 -0400 | [diff] [blame] | 312 | # oslo.concurrency |
Sean Dague | cc52406 | 2014-10-01 09:06:43 -0400 | [diff] [blame] | 313 | GITREPO["oslo.concurrency"]=${OSLOCON_REPO:-${GIT_BASE}/openstack/oslo.concurrency.git} |
Sean Dague | b7cda38 | 2014-10-03 08:00:52 -0400 | [diff] [blame] | 314 | GITBRANCH["oslo.concurrency"]=${OSLOCON_BRANCH:-master} |
Davanum Srinivas | 0b9464d | 2014-08-27 12:50:17 -0400 | [diff] [blame] | 315 | |
Sean Dague | 1b6b531 | 2013-07-31 06:46:34 -0400 | [diff] [blame] | 316 | # oslo.config |
Sean Dague | cc52406 | 2014-10-01 09:06:43 -0400 | [diff] [blame] | 317 | GITREPO["oslo.config"]=${OSLOCFG_REPO:-${GIT_BASE}/openstack/oslo.config.git} |
| 318 | GITBRANCH["oslo.config"]=${OSLOCFG_BRANCH:-master} |
Sean Dague | 1b6b531 | 2013-07-31 06:46:34 -0400 | [diff] [blame] | 319 | |
Davanum Srinivas | 958111e | 2014-11-17 17:35:40 -0500 | [diff] [blame] | 320 | # oslo.context |
| 321 | GITREPO["oslo.context"]=${OSLOCTX_REPO:-${GIT_BASE}/openstack/oslo.context.git} |
| 322 | GITBRANCH["oslo.context"]=${OSLOCTX_BRANCH:-master} |
| 323 | |
Victor Sergeyev | da945f3 | 2014-04-28 15:44:29 +0300 | [diff] [blame] | 324 | # oslo.db |
Sean Dague | b7cda38 | 2014-10-03 08:00:52 -0400 | [diff] [blame] | 325 | GITREPO["oslo.db"]=${OSLODB_REPO:-${GIT_BASE}/openstack/oslo.db.git} |
| 326 | GITBRANCH["oslo.db"]=${OSLODB_BRANCH:-master} |
Victor Sergeyev | da945f3 | 2014-04-28 15:44:29 +0300 | [diff] [blame] | 327 | |
Doug Hellmann | cd5c813 | 2014-07-02 11:58:35 -0700 | [diff] [blame] | 328 | # oslo.i18n |
Sean Dague | b7cda38 | 2014-10-03 08:00:52 -0400 | [diff] [blame] | 329 | GITREPO["oslo.i18n"]=${OSLOI18N_REPO:-${GIT_BASE}/openstack/oslo.i18n.git} |
| 330 | GITBRANCH["oslo.i18n"]=${OSLOI18N_BRANCH:-master} |
Doug Hellmann | cd5c813 | 2014-07-02 11:58:35 -0700 | [diff] [blame] | 331 | |
Davanum Srinivas | 13249f8 | 2014-09-02 09:50:21 -0400 | [diff] [blame] | 332 | # oslo.log |
Sean Dague | b7cda38 | 2014-10-03 08:00:52 -0400 | [diff] [blame] | 333 | GITREPO["oslo.log"]=${OSLOLOG_REPO:-${GIT_BASE}/openstack/oslo.log.git} |
| 334 | GITBRANCH["oslo.log"]=${OSLOLOG_BRANCH:-master} |
Davanum Srinivas | 13249f8 | 2014-09-02 09:50:21 -0400 | [diff] [blame] | 335 | |
Sean Dague | 1b6b531 | 2013-07-31 06:46:34 -0400 | [diff] [blame] | 336 | # oslo.messaging |
Sean Dague | b7cda38 | 2014-10-03 08:00:52 -0400 | [diff] [blame] | 337 | GITREPO["oslo.messaging"]=${OSLOMSG_REPO:-${GIT_BASE}/openstack/oslo.messaging.git} |
| 338 | GITBRANCH["oslo.messaging"]=${OSLOMSG_BRANCH:-master} |
Sean Dague | 1b6b531 | 2013-07-31 06:46:34 -0400 | [diff] [blame] | 339 | |
Davanum Srinivas | 0b9464d | 2014-08-27 12:50:17 -0400 | [diff] [blame] | 340 | # oslo.middleware |
Sean Dague | cc52406 | 2014-10-01 09:06:43 -0400 | [diff] [blame] | 341 | GITREPO["oslo.middleware"]=${OSLOMID_REPO:-${GIT_BASE}/openstack/oslo.middleware.git} |
| 342 | GITBRANCH["oslo.middleware"]=${OSLOMID_BRANCH:-master} |
Davanum Srinivas | 0b9464d | 2014-08-27 12:50:17 -0400 | [diff] [blame] | 343 | |
Thierry Carrez | 0915e0c | 2014-01-02 15:05:41 +0100 | [diff] [blame] | 344 | # oslo.rootwrap |
Sean Dague | b7cda38 | 2014-10-03 08:00:52 -0400 | [diff] [blame] | 345 | GITREPO["oslo.rootwrap"]=${OSLORWRAP_REPO:-${GIT_BASE}/openstack/oslo.rootwrap.git} |
| 346 | GITBRANCH["oslo.rootwrap"]=${OSLORWRAP_BRANCH:-master} |
Thierry Carrez | 0915e0c | 2014-01-02 15:05:41 +0100 | [diff] [blame] | 347 | |
Doug Hellmann | 5cd17f7 | 2014-08-27 09:42:41 -0400 | [diff] [blame] | 348 | # oslo.serialization |
Sean Dague | b7cda38 | 2014-10-03 08:00:52 -0400 | [diff] [blame] | 349 | GITREPO["oslo.serialization"]=${OSLOSERIALIZATION_REPO:-${GIT_BASE}/openstack/oslo.serialization.git} |
| 350 | GITBRANCH["oslo.serialization"]=${OSLOSERIALIZATION_BRANCH:-master} |
Doug Hellmann | 5cd17f7 | 2014-08-27 09:42:41 -0400 | [diff] [blame] | 351 | |
| 352 | # oslo.utils |
Sean Dague | b7cda38 | 2014-10-03 08:00:52 -0400 | [diff] [blame] | 353 | GITREPO["oslo.utils"]=${OSLOUTILS_REPO:-${GIT_BASE}/openstack/oslo.utils.git} |
| 354 | GITBRANCH["oslo.utils"]=${OSLOUTILS_BRANCH:-master} |
Doug Hellmann | 5cd17f7 | 2014-08-27 09:42:41 -0400 | [diff] [blame] | 355 | |
Davanum Srinivas | f5aa05c | 2014-02-21 22:03:59 -0500 | [diff] [blame] | 356 | # oslo.vmware |
Sean Dague | b7cda38 | 2014-10-03 08:00:52 -0400 | [diff] [blame] | 357 | GITREPO["oslo.vmware"]=${OSLOVMWARE_REPO:-${GIT_BASE}/openstack/oslo.vmware.git} |
| 358 | GITBRANCH["oslo.vmware"]=${OSLOVMWARE_BRANCH:-master} |
Davanum Srinivas | f5aa05c | 2014-02-21 22:03:59 -0500 | [diff] [blame] | 359 | |
Doug Hellmann | 6b1cb10 | 2014-02-10 09:59:43 -0800 | [diff] [blame] | 360 | # pycadf auditing library |
Sean Dague | cc52406 | 2014-10-01 09:06:43 -0400 | [diff] [blame] | 361 | GITREPO["pycadf"]=${PYCADF_REPO:-${GIT_BASE}/openstack/pycadf.git} |
| 362 | GITBRANCH["pycadf"]=${PYCADF_BRANCH:-master} |
Doug Hellmann | 6b1cb10 | 2014-02-10 09:59:43 -0800 | [diff] [blame] | 363 | |
| 364 | # stevedore plugin manager |
Sean Dague | cc52406 | 2014-10-01 09:06:43 -0400 | [diff] [blame] | 365 | GITREPO["stevedore"]=${STEVEDORE_REPO:-${GIT_BASE}/openstack/stevedore.git} |
| 366 | GITBRANCH["stevedore"]=${STEVEDORE_BRANCH:-master} |
Doug Hellmann | 6b1cb10 | 2014-02-10 09:59:43 -0800 | [diff] [blame] | 367 | |
| 368 | # taskflow plugin manager |
Sean Dague | cc52406 | 2014-10-01 09:06:43 -0400 | [diff] [blame] | 369 | GITREPO["taskflow"]=${TASKFLOW_REPO:-${GIT_BASE}/openstack/taskflow.git} |
| 370 | GITBRANCH["taskflow"]=${TASKFLOW_BRANCH:-master} |
Doug Hellmann | 6b1cb10 | 2014-02-10 09:59:43 -0800 | [diff] [blame] | 371 | |
Julien Danjou | c187b88 | 2014-12-09 15:41:55 +0100 | [diff] [blame] | 372 | # tooz plugin manager |
| 373 | GITREPO["tooz"]=${TOOZ_REPO:-${GIT_BASE}/openstack/tooz.git} |
| 374 | GITBRANCH["tooz"]=${TOOZ_BRANCH:-master} |
| 375 | |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 376 | # pbr drives the setuptools configs |
Sean Dague | cc52406 | 2014-10-01 09:06:43 -0400 | [diff] [blame] | 377 | GITREPO["pbr"]=${PBR_REPO:-${GIT_BASE}/openstack-dev/pbr.git} |
| 378 | GITBRANCH["pbr"]=${PBR_BRANCH:-master} |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 379 | |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 380 | ################## |
| 381 | # |
| 382 | # Libraries managed by OpenStack programs (non oslo) |
| 383 | # |
| 384 | ################## |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 385 | |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 386 | # glance store library |
Sean Dague | ee5ae7b | 2014-11-13 13:23:27 -0500 | [diff] [blame] | 387 | GITREPO["glance_store"]=${GLANCE_STORE_REPO:-${GIT_BASE}/openstack/glance_store.git} |
| 388 | GITBRANCH["glance_store"]=${GLANCE_STORE_BRANCH:-master} |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 389 | |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 390 | # heat-cfntools server agent |
| 391 | HEAT_CFNTOOLS_REPO=${HEAT_CFNTOOLS_REPO:-${GIT_BASE}/openstack/heat-cfntools.git} |
| 392 | HEAT_CFNTOOLS_BRANCH=${HEAT_CFNTOOLS_BRANCH:-master} |
Sean Dague | 0392a10 | 2013-07-31 13:07:45 -0400 | [diff] [blame] | 393 | |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 394 | # heat example templates and elements |
| 395 | HEAT_TEMPLATES_REPO=${HEAT_TEMPLATES_REPO:-${GIT_BASE}/openstack/heat-templates.git} |
| 396 | HEAT_TEMPLATES_BRANCH=${HEAT_TEMPLATES_BRANCH:-master} |
| 397 | |
| 398 | # django openstack_auth library |
Sean Dague | 3c8973a | 2014-11-14 09:31:02 -0500 | [diff] [blame] | 399 | GITREPO["django_openstack_auth"]=${HORIZONAUTH_REPO:-${GIT_BASE}/openstack/django_openstack_auth.git} |
| 400 | GITBRANCH["django_openstack_auth"]=${HORIZONAUTH_BRANCH:-master} |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 401 | |
| 402 | # keystone middleware |
Sean Dague | 658312c | 2014-11-14 11:35:56 -0500 | [diff] [blame] | 403 | GITREPO["keystonemiddleware"]=${KEYSTONEMIDDLEWARE_REPO:-${GIT_BASE}/openstack/keystonemiddleware.git} |
| 404 | GITBRANCH["keystonemiddleware"]=${KEYSTONEMIDDLEWARE_BRANCH:-master} |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 405 | |
| 406 | # s3 support for swift |
Chmouel Boudjnah | 43577d5 | 2014-03-25 23:45:05 +0000 | [diff] [blame] | 407 | SWIFT3_REPO=${SWIFT3_REPO:-${GIT_BASE}/stackforge/swift3.git} |
Maru Newby | a81dcaa | 2013-03-26 00:15:34 -0400 | [diff] [blame] | 408 | SWIFT3_BRANCH=${SWIFT3_BRANCH:-master} |
Joe Gordon | 42b1aa9 | 2012-05-24 14:11:01 -0700 | [diff] [blame] | 409 | |
Chmouel Boudjnah | fda9df8 | 2012-05-22 10:27:08 +0000 | [diff] [blame] | 410 | |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 411 | ################## |
| 412 | # |
| 413 | # TripleO Components |
| 414 | # |
| 415 | ################## |
Dean Troyer | b0e57cf | 2011-11-04 12:13:43 -0500 | [diff] [blame] | 416 | |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 417 | # diskimage-builder |
| 418 | DIB_REPO=${DIB_REPO:-${GIT_BASE}/openstack/diskimage-builder.git} |
| 419 | DIB_BRANCH=${DIB_BRANCH:-master} |
| 420 | |
| 421 | # os-apply-config configuration template tool |
| 422 | OAC_REPO=${OAC_REPO:-${GIT_BASE}/openstack/os-apply-config.git} |
| 423 | OAC_BRANCH=${OAC_BRANCH:-master} |
| 424 | |
| 425 | # os-collect-config configuration agent |
| 426 | OCC_REPO=${OCC_REPO:-${GIT_BASE}/openstack/os-collect-config.git} |
| 427 | OCC_BRANCH=${OCC_BRANCH:-master} |
| 428 | |
| 429 | # os-refresh-config configuration run-parts tool |
| 430 | ORC_REPO=${ORC_REPO:-${GIT_BASE}/openstack/os-refresh-config.git} |
| 431 | ORC_BRANCH=${ORC_BRANCH:-master} |
Matthew Treinish | 3472386 | 2014-09-08 14:01:21 -0400 | [diff] [blame] | 432 | |
Steve Baker | 122ab70 | 2014-05-05 16:06:17 +1200 | [diff] [blame] | 433 | # Tripleo elements for diskimage-builder images |
| 434 | TIE_REPO=${TIE_REPO:-${GIT_BASE}/openstack/tripleo-image-elements.git} |
| 435 | TIE_BRANCH=${TIE_BRANCH:-master} |
Devananda van der Veen | f35cf91 | 2012-11-12 17:58:38 -0800 | [diff] [blame] | 436 | |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 437 | ################# |
| 438 | # |
| 439 | # Additional Libraries |
| 440 | # |
| 441 | ################# |
Monty Taylor | 5e15949 | 2013-05-08 14:29:52 -0400 | [diff] [blame] | 442 | |
Sean Dague | 6832272 | 2013-10-21 18:11:40 -0400 | [diff] [blame] | 443 | # stackforge libraries that are used by OpenStack core services |
| 444 | # wsme |
| 445 | WSME_REPO=${WSME_REPO:-${GIT_BASE}/stackforge/wsme.git} |
| 446 | WSME_BRANCH=${WSME_BRANCH:-master} |
| 447 | |
| 448 | # pecan |
| 449 | PECAN_REPO=${PECAN_REPO:-${GIT_BASE}/stackforge/pecan.git} |
| 450 | PECAN_BRANCH=${PECAN_BRANCH:-master} |
| 451 | |
Ihar Hrachyshka | cf355aa | 2014-08-14 14:39:00 +0200 | [diff] [blame] | 452 | # sqlalchemy-migrate |
| 453 | SQLALCHEMY_MIGRATE_REPO=${SQLALCHEMY_MIGRATE_REPO:-${GIT_BASE}/stackforge/sqlalchemy-migrate.git} |
| 454 | SQLALCHEMY_MIGRATE_BRANCH=${SQLALCHEMY_MIGRATE_BRANCH:-master} |
| 455 | |
Sean Dague | 6832272 | 2013-10-21 18:11:40 -0400 | [diff] [blame] | 456 | |
Sean Dague | 24516d0 | 2014-10-02 12:29:08 -0400 | [diff] [blame] | 457 | ################# |
| 458 | # |
| 459 | # 3rd Party Components (non pip installable) |
| 460 | # |
| 461 | # NOTE(sdague): these should be converted to release version installs or removed |
| 462 | # |
| 463 | ################# |
| 464 | |
| 465 | # ironic python agent |
| 466 | IRONIC_PYTHON_AGENT_REPO=${IRONIC_PYTHON_AGENT_REPO:-${GIT_BASE}/openstack/ironic-python-agent.git} |
| 467 | IRONIC_PYTHON_AGENT_BRANCH=${IRONIC_PYTHON_AGENT_BRANCH:-master} |
| 468 | |
| 469 | # a websockets/html5 or flash powered VNC console for vm instances |
| 470 | NOVNC_REPO=${NOVNC_REPO:-https://github.com/kanaka/noVNC.git} |
| 471 | NOVNC_BRANCH=${NOVNC_BRANCH:-master} |
| 472 | |
| 473 | # ryu service |
| 474 | RYU_REPO=${RYU_REPO:-https://github.com/osrg/ryu.git} |
| 475 | RYU_BRANCH=${RYU_BRANCH:-master} |
| 476 | |
| 477 | # a websockets/html5 or flash powered SPICE console for vm instances |
| 478 | SPICE_REPO=${SPICE_REPO:-http://anongit.freedesktop.org/git/spice/spice-html5.git} |
| 479 | SPICE_BRANCH=${SPICE_BRANCH:-master} |
| 480 | |
| 481 | |
| 482 | |
Devananda van der Veen | c0c6f00 | 2012-07-06 17:49:12 -0700 | [diff] [blame] | 483 | # Nova hypervisor configuration. We default to libvirt with **kvm** but will |
| 484 | # drop back to **qemu** if we are unable to load the kvm module. ``stack.sh`` can |
Bob Ball | 32e1603 | 2013-07-29 15:51:43 +0100 | [diff] [blame] | 485 | # also install an **LXC**, **OpenVZ** or **XenAPI** based system. If xenserver-core |
| 486 | # is installed, the default will be XenAPI |
| 487 | DEFAULT_VIRT_DRIVER=libvirt |
| 488 | is_package_installed xenserver-core && DEFAULT_VIRT_DRIVER=xenserver |
| 489 | VIRT_DRIVER=${VIRT_DRIVER:-$DEFAULT_VIRT_DRIVER} |
Bob Ball | 337bd81 | 2013-05-16 14:27:01 +0100 | [diff] [blame] | 490 | case "$VIRT_DRIVER" in |
Alexander Gordeev | 06fb29c | 2014-01-31 18:02:07 +0400 | [diff] [blame] | 491 | ironic|libvirt) |
Bob Ball | 337bd81 | 2013-05-16 14:27:01 +0100 | [diff] [blame] | 492 | LIBVIRT_TYPE=${LIBVIRT_TYPE:-kvm} |
| 493 | if [[ "$os_VENDOR" =~ (Debian) ]]; then |
| 494 | LIBVIRT_GROUP=libvirt |
| 495 | else |
| 496 | LIBVIRT_GROUP=libvirtd |
| 497 | fi |
| 498 | ;; |
Joe Gordon | 2c94ee5 | 2013-08-02 02:02:01 +0000 | [diff] [blame] | 499 | fake) |
| 500 | NUMBER_FAKE_NOVA_COMPUTE=${NUMBER_FAKE_NOVA_COMPUTE:-1} |
| 501 | ;; |
Bob Ball | 337bd81 | 2013-05-16 14:27:01 +0100 | [diff] [blame] | 502 | xenserver) |
Mark McClain | b05c876 | 2013-07-06 23:29:39 -0400 | [diff] [blame] | 503 | # Xen config common to nova and neutron |
Bob Ball | 337bd81 | 2013-05-16 14:27:01 +0100 | [diff] [blame] | 504 | XENAPI_USER=${XENAPI_USER:-"root"} |
Mate Lakat | d15c8a0 | 2014-02-04 12:38:14 +0000 | [diff] [blame] | 505 | # This user will be used for dom0 - domU communication |
| 506 | # should be able to log in to dom0 without a password |
| 507 | # will be used to install the plugins |
| 508 | DOMZERO_USER=${DOMZERO_USER:-"domzero"} |
Bob Ball | 337bd81 | 2013-05-16 14:27:01 +0100 | [diff] [blame] | 509 | ;; |
| 510 | *) |
| 511 | ;; |
| 512 | esac |
Devananda van der Veen | c0c6f00 | 2012-07-06 17:49:12 -0700 | [diff] [blame] | 513 | |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 514 | |
| 515 | # Images |
| 516 | # ------ |
| 517 | |
| 518 | # Specify a comma-separated list of images to download and install into glance. |
| 519 | # Supported urls here are: |
Scott Moser | 4f6d7b6 | 2011-12-08 16:22:51 -0500 | [diff] [blame] | 520 | # * "uec-style" images: |
| 521 | # If the file ends in .tar.gz, uncompress the tarball and and select the first |
| 522 | # .img file inside it as the image. If present, use "*-vmlinuz*" as the kernel |
| 523 | # and "*-initrd*" as the ramdisk |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 524 | # example: http://cloud-images.ubuntu.com/releases/precise/release/ubuntu-12.04-server-cloudimg-amd64.tar.gz |
Scott Moser | 4f6d7b6 | 2011-12-08 16:22:51 -0500 | [diff] [blame] | 525 | # * disk image (*.img,*.img.gz) |
| 526 | # if file ends in .img, then it will be uploaded and registered as a to |
| 527 | # glance as a disk image. If it ends in .gz, it is uncompressed first. |
Jason Kölker | 64a9066 | 2012-01-23 11:17:27 -0600 | [diff] [blame] | 528 | # example: |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 529 | # http://cloud-images.ubuntu.com/releases/precise/release/ubuntu-12.04-server-cloudimg-armel-disk1.img |
Adalberto Medeiros | 5397153 | 2014-07-10 16:55:49 -0300 | [diff] [blame] | 530 | # http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-rootfs.img.gz |
Dean Troyer | 4a43b7b | 2012-08-28 17:43:40 -0500 | [diff] [blame] | 531 | # * OpenVZ image: |
| 532 | # OpenVZ uses its own format of image, and does not support UEC style images |
| 533 | |
Scott Moser | 3584e55 | 2011-12-08 16:23:27 -0500 | [diff] [blame] | 534 | #IMAGE_URLS="http://smoser.brickies.net/ubuntu/ttylinux-uec/ttylinux-uec-amd64-11.2_2.6.35-15_1.tar.gz" # old ttylinux-uec image |
Adalberto Medeiros | 5397153 | 2014-07-10 16:55:49 -0300 | [diff] [blame] | 535 | #IMAGE_URLS="http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-disk.img" # cirros full disk image |
Attila Fazekas | 2d4c8da | 2014-03-19 10:42:01 +0100 | [diff] [blame] | 536 | |
| 537 | CIRROS_VERSION=${CIRROS_VERSION:-"0.3.2"} |
Adalberto Medeiros | 5397153 | 2014-07-10 16:55:49 -0300 | [diff] [blame] | 538 | CIRROS_ARCH=${CIRROS_ARCH:-"x86_64"} |
Dean Troyer | 4a43b7b | 2012-08-28 17:43:40 -0500 | [diff] [blame] | 539 | |
| 540 | # Set default image based on ``VIRT_DRIVER`` and ``LIBVIRT_TYPE``, either of |
Shuichiro MAKIGAKI | b968b0c | 2015-01-04 17:53:12 +0900 | [diff] [blame] | 541 | # which may be set in ``local.conf``. Also allow ``DEFAULT_IMAGE_NAME`` and |
| 542 | # ``IMAGE_URLS`` to be set in the `localrc` section of ``local.conf``. |
Devananda van der Veen | c0c6f00 | 2012-07-06 17:49:12 -0700 | [diff] [blame] | 543 | case "$VIRT_DRIVER" in |
Nachi Ueno | fda946e | 2012-10-24 17:26:02 -0700 | [diff] [blame] | 544 | openvz) |
Monty Taylor | a49ee32 | 2013-07-27 15:36:53 -0400 | [diff] [blame] | 545 | DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-ubuntu-12.04-x86_64} |
Monty Taylor | a8ca815 | 2013-07-31 13:12:30 -0400 | [diff] [blame] | 546 | IMAGE_URLS=${IMAGE_URLS:-"http://download.openvz.org/template/precreated/ubuntu-12.04-x86_64.tar.gz"};; |
Devananda van der Veen | c0c6f00 | 2012-07-06 17:49:12 -0700 | [diff] [blame] | 547 | libvirt) |
| 548 | case "$LIBVIRT_TYPE" in |
| 549 | lxc) # the cirros root disk in the uec tarball is empty, so it will not work for lxc |
Adalberto Medeiros | 5397153 | 2014-07-10 16:55:49 -0300 | [diff] [blame] | 550 | DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-rootfs} |
| 551 | IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-rootfs.img.gz"};; |
Devananda van der Veen | c0c6f00 | 2012-07-06 17:49:12 -0700 | [diff] [blame] | 552 | *) # otherwise, use the uec style image (with kernel, ramdisk, disk) |
Adalberto Medeiros | 5397153 | 2014-07-10 16:55:49 -0300 | [diff] [blame] | 553 | DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-uec} |
| 554 | IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-uec.tar.gz"};; |
Devananda van der Veen | c0c6f00 | 2012-07-06 17:49:12 -0700 | [diff] [blame] | 555 | esac |
| 556 | ;; |
hartsocks | a418af9 | 2013-04-24 14:49:56 -0700 | [diff] [blame] | 557 | vsphere) |
Eric Brown | 641722b | 2014-04-21 08:44:32 -0700 | [diff] [blame] | 558 | DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-0.3.2-i386-disk.vmdk} |
| 559 | IMAGE_URLS=${IMAGE_URLS:-"http://partnerweb.vmware.com/programs/vmdkimage/cirros-0.3.2-i386-disk.vmdk"};; |
Mate Lakat | c75c78a | 2014-01-21 15:01:01 +0000 | [diff] [blame] | 560 | xenserver) |
| 561 | DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-0.3.0-x86_64-disk} |
Bob Ball | 5c64a46 | 2014-07-16 13:14:11 +0100 | [diff] [blame] | 562 | IMAGE_URLS=${IMAGE_URLS:-"https://github.com/downloads/citrix-openstack/warehouse/cirros-0.3.0-x86_64-disk.vhd.tgz"} |
| 563 | IMAGE_URLS+=",http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-uec.tar.gz";; |
Jim Rollenhagen | a6a4546 | 2014-08-05 18:08:29 +0000 | [diff] [blame] | 564 | ironic) |
| 565 | # Ironic can do both partition and full disk images, depending on the driver |
| 566 | if [[ "$IRONIC_DEPLOY_DRIVER" == "agent_ssh" ]]; then |
| 567 | DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-x86_64-disk} |
| 568 | else |
| 569 | DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-x86_64-uec} |
| 570 | fi |
| 571 | IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-uec.tar.gz"} |
| 572 | IMAGE_URLS+=",http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-disk.img";; |
Dean Troyer | 1a6d449 | 2013-06-03 16:47:36 -0500 | [diff] [blame] | 573 | *) # Default to Cirros with kernel, ramdisk and disk image |
Adalberto Medeiros | 5397153 | 2014-07-10 16:55:49 -0300 | [diff] [blame] | 574 | DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-uec} |
| 575 | IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-uec.tar.gz"};; |
Scott Moser | a368218 | 2011-12-16 10:29:10 -0500 | [diff] [blame] | 576 | esac |
Anthony Young | 0ab1d46 | 2011-10-13 23:03:23 -0700 | [diff] [blame] | 577 | |
Sean Dague | 4418d1f | 2014-04-24 16:06:51 -0400 | [diff] [blame] | 578 | # Use 64bit fedora image if heat is enabled |
| 579 | if [[ "$ENABLED_SERVICES" =~ 'h-api' ]]; then |
Bob Ball | 527f21c | 2014-04-28 08:30:18 +0100 | [diff] [blame] | 580 | case "$VIRT_DRIVER" in |
Sean Dague | 2f8e08b | 2014-12-05 08:31:16 -0500 | [diff] [blame] | 581 | libvirt|ironic) |
Steve Baker | 6d012cf | 2014-12-12 00:52:59 +0000 | [diff] [blame] | 582 | HEAT_CFN_IMAGE_URL=${HEAT_CFN_IMAGE_URL:-"https://download.fedoraproject.org/pub/alt/openstack/20/x86_64/Fedora-x86_64-20-20140618-sda.qcow2"} |
Bob Ball | 527f21c | 2014-04-28 08:30:18 +0100 | [diff] [blame] | 583 | IMAGE_URLS+=",$HEAT_CFN_IMAGE_URL" |
| 584 | ;; |
| 585 | *) |
| 586 | ;; |
| 587 | esac |
Steve Baker | 8c1b95e | 2013-12-16 11:04:03 +1300 | [diff] [blame] | 588 | fi |
Sean Dague | fafb62b | 2014-06-30 16:49:30 -0400 | [diff] [blame] | 589 | |
Nikhil Manchanda | 3ec8a90 | 2014-10-26 15:41:15 -0700 | [diff] [blame] | 590 | # Trove needs a custom image for its work |
Sean Dague | fafb62b | 2014-06-30 16:49:30 -0400 | [diff] [blame] | 591 | if [[ "$ENABLED_SERVICES" =~ 'tr-api' ]]; then |
| 592 | case "$VIRT_DRIVER" in |
Sean Dague | 2f8e08b | 2014-12-05 08:31:16 -0500 | [diff] [blame] | 593 | libvirt|ironic|xenapi) |
Nikhil Manchanda | 3ec8a90 | 2014-10-26 15:41:15 -0700 | [diff] [blame] | 594 | TROVE_GUEST_IMAGE_URL=${TROVE_GUEST_IMAGE_URL:-"http://tarballs.openstack.org/trove/images/ubuntu/mysql.qcow2"} |
Sean Dague | fafb62b | 2014-06-30 16:49:30 -0400 | [diff] [blame] | 595 | IMAGE_URLS+=",${TROVE_GUEST_IMAGE_URL}" |
| 596 | ;; |
| 597 | *) |
| 598 | ;; |
| 599 | esac |
| 600 | fi |
| 601 | |
Sean Dague | b623860 | 2014-04-17 21:56:53 -0400 | [diff] [blame] | 602 | # Staging Area for New Images, have them here for at least 24hrs for nodepool |
| 603 | # to cache them otherwise the failure rates in the gate are too high |
Sean Dague | 5375329 | 2014-12-04 19:38:15 -0500 | [diff] [blame^] | 604 | PRECACHE_IMAGES=$(trueorfalse False PRECACHE_IMAGES) |
Sean Dague | b623860 | 2014-04-17 21:56:53 -0400 | [diff] [blame] | 605 | if [[ "$PRECACHE_IMAGES" == "True" ]]; then |
Sean Dague | 4418d1f | 2014-04-24 16:06:51 -0400 | [diff] [blame] | 606 | # staging in update for nodepool |
Steve Baker | 6d012cf | 2014-12-12 00:52:59 +0000 | [diff] [blame] | 607 | IMAGE_URL="https://download.fedoraproject.org/pub/alt/openstack/20/x86_64/Fedora-x86_64-20-20140618-sda.qcow2" |
Attila Fazekas | bfcb2ff | 2014-06-26 12:38:20 +0200 | [diff] [blame] | 608 | if ! [[ "$IMAGE_URLS" =~ "$IMAGE_URL" ]]; then |
| 609 | IMAGE_URLS+=",$IMAGE_URL" |
| 610 | fi |
Sean Dague | b623860 | 2014-04-17 21:56:53 -0400 | [diff] [blame] | 611 | fi |
Sean Dague | ad13ba2 | 2014-04-03 10:43:33 -0400 | [diff] [blame] | 612 | |
Matthew Treinish | 4c03034 | 2013-06-20 17:02:44 -0400 | [diff] [blame] | 613 | # 10Gb default volume backing file size |
| 614 | VOLUME_BACKING_FILE_SIZE=${VOLUME_BACKING_FILE_SIZE:-10250M} |
Nachi Ueno | fda946e | 2012-10-24 17:26:02 -0700 | [diff] [blame] | 615 | |
Dean Troyer | 0971833 | 2014-07-03 10:46:57 -0500 | [diff] [blame] | 616 | # Prefixes for volume and instance names |
Dean Troyer | b323691 | 2013-03-17 15:17:05 -0500 | [diff] [blame] | 617 | VOLUME_NAME_PREFIX=${VOLUME_NAME_PREFIX:-volume-} |
| 618 | INSTANCE_NAME_PREFIX=${INSTANCE_NAME_PREFIX:-instance-} |
| 619 | |
Dean Troyer | b7490da | 2013-03-18 16:07:56 -0500 | [diff] [blame] | 620 | # Set default port for nova-objectstore |
| 621 | S3_SERVICE_PORT=${S3_SERVICE_PORT:-3333} |
| 622 | |
| 623 | # Common network names |
Nachi Ueno | fda946e | 2012-10-24 17:26:02 -0700 | [diff] [blame] | 624 | PRIVATE_NETWORK_NAME=${PRIVATE_NETWORK_NAME:-"private"} |
Aaron Rosen | 640f1e4 | 2013-03-26 16:52:53 -0700 | [diff] [blame] | 625 | PUBLIC_NETWORK_NAME=${PUBLIC_NETWORK_NAME:-"public"} |
Dean Troyer | 681f3fd | 2013-02-27 19:00:39 -0600 | [diff] [blame] | 626 | |
| 627 | # Compatibility until it's eradicated from CI |
| 628 | USE_SCREEN=${SCREEN_DEV:-$USE_SCREEN} |
Sean Dague | 584d90e | 2013-03-29 14:34:53 -0400 | [diff] [blame] | 629 | |
Jiajun Liu | f02be85 | 2013-05-22 08:55:25 +0000 | [diff] [blame] | 630 | # Set default screen name |
| 631 | SCREEN_NAME=${SCREEN_NAME:-stack} |
| 632 | |
Christian Berendt | 71d5630 | 2013-07-22 11:37:42 +0200 | [diff] [blame] | 633 | # Do not install packages tagged with 'testonly' by default |
| 634 | INSTALL_TESTONLY_PACKAGES=${INSTALL_TESTONLY_PACKAGES:-False} |
| 635 | |
Sean Dague | fd98edb | 2013-10-24 14:57:59 -0400 | [diff] [blame] | 636 | # Undo requirements changes by global requirements |
| 637 | UNDO_REQUIREMENTS=${UNDO_REQUIREMENTS:-True} |
| 638 | |
Rob Crittenden | 26867a6 | 2014-07-23 20:29:57 -0400 | [diff] [blame] | 639 | # Allow the use of an alternate protocol (such as https) for service endpoints |
| 640 | SERVICE_PROTOCOL=${SERVICE_PROTOCOL:-http} |
| 641 | |
Dean Troyer | 05bd7b8 | 2014-09-16 17:25:33 -0500 | [diff] [blame] | 642 | # Sets the maximum number of workers for most services to reduce |
Bob Ball | 2f72050 | 2014-08-28 14:50:04 +0100 | [diff] [blame] | 643 | # the memory used where there are a large number of CPUs present |
| 644 | # (the default number of workers for many services is the number of CPUs) |
Dean Troyer | 05bd7b8 | 2014-09-16 17:25:33 -0500 | [diff] [blame] | 645 | # Also sets the minimum number of workers to 2. |
| 646 | API_WORKERS=${API_WORKERS:=$(( ($(nproc)/2)<2 ? 2 : ($(nproc)/2) ))} |
Bob Ball | 2f72050 | 2014-08-28 14:50:04 +0100 | [diff] [blame] | 647 | |
John Griffith | 44e16e0 | 2014-09-19 10:26:51 -0600 | [diff] [blame] | 648 | # Service startup timeout |
| 649 | SERVICE_TIMEOUT=${SERVICE_TIMEOUT:-60} |
| 650 | |
Daniel P. Berrange | 63d25d9 | 2014-12-09 15:21:22 +0000 | [diff] [blame] | 651 | # Support alternative yum -- in future Fedora 'dnf' will become the |
| 652 | # only supported installer, but for now 'yum' and 'dnf' are both |
| 653 | # available in parallel with compatible CLIs. Allow manual switching |
| 654 | # till we get to the point we need to handle this automatically |
| 655 | YUM=${YUM:-yum} |
| 656 | |
Sean Dague | 5375329 | 2014-12-04 19:38:15 -0500 | [diff] [blame^] | 657 | # Common Configuration |
| 658 | # -------------------- |
| 659 | |
| 660 | # Set ``OFFLINE`` to ``True`` to configure ``stack.sh`` to run cleanly without |
| 661 | # Internet access. ``stack.sh`` must have been previously run with Internet |
| 662 | # access to install prerequisites and fetch repositories. |
| 663 | OFFLINE=$(trueorfalse False OFFLINE) |
| 664 | |
| 665 | # Set ``ERROR_ON_CLONE`` to ``True`` to configure ``stack.sh`` to exit if |
| 666 | # the destination git repository does not exist during the ``git_clone`` |
| 667 | # operation. |
| 668 | ERROR_ON_CLONE=$(trueorfalse False ERROR_ON_CLONE) |
| 669 | |
| 670 | # Whether to enable the debug log level in OpenStack services |
| 671 | ENABLE_DEBUG_LOG_LEVEL=$(trueorfalse True ENABLE_DEBUG_LOG_LEVEL) |
| 672 | |
| 673 | # Set fixed and floating range here so we can make sure not to use addresses |
| 674 | # from either range when attempting to guess the IP to use for the host. |
| 675 | # Note that setting FIXED_RANGE may be necessary when running DevStack |
| 676 | # in an OpenStack cloud that uses either of these address ranges internally. |
| 677 | FLOATING_RANGE=${FLOATING_RANGE:-172.24.4.0/24} |
| 678 | FIXED_RANGE=${FIXED_RANGE:-10.0.0.0/24} |
| 679 | FIXED_NETWORK_SIZE=${FIXED_NETWORK_SIZE:-256} |
| 680 | HOST_IP_IFACE=${HOST_IP_IFACE:-} |
| 681 | HOST_IP=${HOST_IP:-} |
| 682 | |
| 683 | HOST_IP=$(get_default_host_ip $FIXED_RANGE $FLOATING_RANGE "$HOST_IP_IFACE" "$HOST_IP") |
| 684 | if [ "$HOST_IP" == "" ]; then |
| 685 | die $LINENO "Could not determine host ip address. See local.conf for suggestions on setting HOST_IP." |
| 686 | fi |
| 687 | |
| 688 | # Allow the use of an alternate hostname (such as localhost/127.0.0.1) for service endpoints. |
| 689 | SERVICE_HOST=${SERVICE_HOST:-$HOST_IP} |
| 690 | |
| 691 | # Configure services to use syslog instead of writing to individual log files |
| 692 | SYSLOG=$(trueorfalse False SYSLOG) |
| 693 | SYSLOG_HOST=${SYSLOG_HOST:-$HOST_IP} |
| 694 | SYSLOG_PORT=${SYSLOG_PORT:-516} |
| 695 | |
| 696 | # Use color for logging output (only available if syslog is not used) |
| 697 | LOG_COLOR=$(trueorfalse True LOG_COLOR) |
| 698 | |
| 699 | # Set global ``GIT_DEPTH=<number>`` to limit the history depth of the git clone |
| 700 | GIT_DEPTH=${GIT_DEPTH:-1} |
| 701 | |
| 702 | # Use native SSL for servers in SSL_ENABLED_SERVICES |
| 703 | USE_SSL=$(trueorfalse False USE_SSL) |
| 704 | |
John Griffith | 44e16e0 | 2014-09-19 10:26:51 -0600 | [diff] [blame] | 705 | # Following entries need to be last items in file |
| 706 | |
Sean Dague | 584d90e | 2013-03-29 14:34:53 -0400 | [diff] [blame] | 707 | # Local variables: |
| 708 | # mode: shell-script |
| 709 | # End: |