* Clean up interactive configuration
* Complete moving initialization of service-specific varialbes into the
service lib/* files.
* Cosmetic cleanups
Change-Id: Iea14359bd224dd5533201d4c7cb1437d5382c4d1
... | ... |
@@ -53,6 +53,11 @@ fi |
53 | 53 |
# Support for multi lvm backend configuration (default is no support) |
54 | 54 |
CINDER_MULTI_LVM_BACKEND=$(trueorfalse False $CINDER_MULTI_LVM_BACKEND) |
55 | 55 |
|
56 |
+# Should cinder perform secure deletion of volumes? |
|
57 |
+# Defaults to true, can be set to False to avoid this bug when testing: |
|
58 |
+# https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1023755 |
|
59 |
+CINDER_SECURE_DELETE=`trueorfalse True $CINDER_SECURE_DELETE` |
|
60 |
+ |
|
56 | 61 |
# Name of the lvm volume groups to use/create for iscsi volumes |
57 | 62 |
# VOLUME_GROUP2 is used only if CINDER_MULTI_LVM_BACKEND = True |
58 | 63 |
VOLUME_GROUP=${VOLUME_GROUP:-stack-volumes} |
... | ... |
@@ -59,6 +59,9 @@ KEYSTONE_SERVICE_PORT=${KEYSTONE_SERVICE_PORT:-5000} |
59 | 59 |
KEYSTONE_SERVICE_PORT_INT=${KEYSTONE_SERVICE_PORT_INT:-5001} |
60 | 60 |
KEYSTONE_SERVICE_PROTOCOL=${KEYSTONE_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL} |
61 | 61 |
|
62 |
+# Set the tenant for service accounts in Keystone |
|
63 |
+SERVICE_TENANT_NAME=${SERVICE_TENANT_NAME:-service} |
|
64 |
+ |
|
62 | 65 |
|
63 | 66 |
# Entry Points |
64 | 67 |
# ------------ |
... | ... |
@@ -28,6 +28,7 @@ set +o xtrace |
28 | 28 |
SWIFT_DIR=$DEST/swift |
29 | 29 |
SWIFTCLIENT_DIR=$DEST/python-swiftclient |
30 | 30 |
SWIFT_AUTH_CACHE_DIR=${SWIFT_AUTH_CACHE_DIR:-/var/cache/swift} |
31 |
+SWIFT3_DIR=$DEST/swift3 |
|
31 | 32 |
|
32 | 33 |
# TODO: add logging to different location. |
33 | 34 |
|
... | ... |
@@ -40,6 +41,12 @@ SWIFT_DATA_DIR=${SWIFT_DATA_DIR:-${DATA_DIR}/swift} |
40 | 40 |
# TODO(dtroyer): remove SWIFT_CONFIG_DIR after cutting stable/grizzly |
41 | 41 |
SWIFT_CONF_DIR=${SWIFT_CONF_DIR:-${SWIFT_CONFIG_DIR:-/etc/swift}} |
42 | 42 |
|
43 |
+if is_service_enabled s-proxy && is_service_enabled swift3; then |
|
44 |
+ # If we are using swift3, we can default the s3 port to swift instead |
|
45 |
+ # of nova-objectstore |
|
46 |
+ S3_SERVICE_PORT=${S3_SERVICE_PORT:-8080} |
|
47 |
+fi |
|
48 |
+ |
|
43 | 49 |
# DevStack will create a loop-back disk formatted as XFS to store the |
44 | 50 |
# swift data. Set ``SWIFT_LOOPBACK_DISK_SIZE`` to the disk size in |
45 | 51 |
# kilobytes. |
... | ... |
@@ -269,14 +269,12 @@ source $TOP_DIR/lib/ldap |
269 | 269 |
# Set the destination directories for OpenStack projects |
270 | 270 |
HORIZON_DIR=$DEST/horizon |
271 | 271 |
OPENSTACKCLIENT_DIR=$DEST/python-openstackclient |
272 |
-NOVNC_DIR=$DEST/noVNC |
|
273 |
-SPICE_DIR=$DEST/spice-html5 |
|
274 |
-SWIFT3_DIR=$DEST/swift3 |
|
275 | 272 |
|
276 |
-# Should cinder perform secure deletion of volumes? |
|
277 |
-# Defaults to true, can be set to False to avoid this bug when testing: |
|
278 |
-# https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1023755 |
|
279 |
-CINDER_SECURE_DELETE=`trueorfalse True $CINDER_SECURE_DELETE` |
|
273 |
+ |
|
274 |
+# Interactive Configuration |
|
275 |
+# ------------------------- |
|
276 |
+ |
|
277 |
+# Do all interactive config up front before the logging spew begins |
|
280 | 278 |
|
281 | 279 |
# Generic helper to configure passwords |
282 | 280 |
function read_password { |
... | ... |
@@ -322,7 +320,6 @@ function read_password { |
322 | 322 |
|
323 | 323 |
|
324 | 324 |
# Database Configuration |
325 |
-# ---------------------- |
|
326 | 325 |
|
327 | 326 |
# To select between database backends, add the following to ``localrc``: |
328 | 327 |
# |
... | ... |
@@ -335,8 +332,7 @@ function read_password { |
335 | 335 |
initialize_database_backends && echo "Using $DATABASE_TYPE database backend" || echo "No database enabled" |
336 | 336 |
|
337 | 337 |
|
338 |
-# RabbitMQ or Qpid |
|
339 |
-# -------------------------- |
|
338 |
+# Queue Configuration |
|
340 | 339 |
|
341 | 340 |
# Rabbit connection info |
342 | 341 |
if is_service_enabled rabbit; then |
... | ... |
@@ -344,53 +340,45 @@ if is_service_enabled rabbit; then |
344 | 344 |
read_password RABBIT_PASSWORD "ENTER A PASSWORD TO USE FOR RABBIT." |
345 | 345 |
fi |
346 | 346 |
|
347 |
-if is_service_enabled s-proxy; then |
|
348 |
- # If we are using swift3, we can default the s3 port to swift instead |
|
349 |
- # of nova-objectstore |
|
350 |
- if is_service_enabled swift3;then |
|
351 |
- S3_SERVICE_PORT=${S3_SERVICE_PORT:-8080} |
|
352 |
- fi |
|
353 |
- # We only ask for Swift Hash if we have enabled swift service. |
|
354 |
- # ``SWIFT_HASH`` is a random unique string for a swift cluster that |
|
355 |
- # can never change. |
|
356 |
- read_password SWIFT_HASH "ENTER A RANDOM SWIFT HASH." |
|
357 |
-fi |
|
358 |
- |
|
359 |
-# Set default port for nova-objectstore |
|
360 |
-S3_SERVICE_PORT=${S3_SERVICE_PORT:-3333} |
|
361 |
- |
|
362 | 347 |
|
363 | 348 |
# Keystone |
364 |
-# -------- |
|
365 | 349 |
|
366 |
-# The ``SERVICE_TOKEN`` is used to bootstrap the Keystone database. It is |
|
367 |
-# just a string and is not a 'real' Keystone token. |
|
368 |
-read_password SERVICE_TOKEN "ENTER A SERVICE_TOKEN TO USE FOR THE SERVICE ADMIN TOKEN." |
|
369 |
-# Services authenticate to Identity with servicename/``SERVICE_PASSWORD`` |
|
370 |
-read_password SERVICE_PASSWORD "ENTER A SERVICE_PASSWORD TO USE FOR THE SERVICE AUTHENTICATION." |
|
371 |
-# Horizon currently truncates usernames and passwords at 20 characters |
|
372 |
-read_password ADMIN_PASSWORD "ENTER A PASSWORD TO USE FOR HORIZON AND KEYSTONE (20 CHARS OR LESS)." |
|
373 |
-# Keystone can now optionally install OpenLDAP by adding ldap to the list |
|
374 |
-# of enabled services in the localrc file (e.g. ENABLED_SERVICES=key,ldap). |
|
375 |
-# If OpenLDAP has already been installed but you need to clear out |
|
376 |
-# the Keystone contents of LDAP set KEYSTONE_CLEAR_LDAP to yes |
|
377 |
-# (e.g. KEYSTONE_CLEAR_LDAP=yes ) in the localrc file. To enable the |
|
378 |
-# Keystone Identity Driver (keystone.identity.backends.ldap.Identity) |
|
379 |
-# set KEYSTONE_IDENTITY_BACKEND to ldap (e.g. KEYSTONE_IDENTITY_BACKEND=ldap) |
|
380 |
-# in the localrc file. |
|
350 |
+if is_service_enabled key; then |
|
351 |
+ # The ``SERVICE_TOKEN`` is used to bootstrap the Keystone database. It is |
|
352 |
+ # just a string and is not a 'real' Keystone token. |
|
353 |
+ read_password SERVICE_TOKEN "ENTER A SERVICE_TOKEN TO USE FOR THE SERVICE ADMIN TOKEN." |
|
354 |
+ # Services authenticate to Identity with servicename/``SERVICE_PASSWORD`` |
|
355 |
+ read_password SERVICE_PASSWORD "ENTER A SERVICE_PASSWORD TO USE FOR THE SERVICE AUTHENTICATION." |
|
356 |
+ # Horizon currently truncates usernames and passwords at 20 characters |
|
357 |
+ read_password ADMIN_PASSWORD "ENTER A PASSWORD TO USE FOR HORIZON AND KEYSTONE (20 CHARS OR LESS)." |
|
358 |
+ |
|
359 |
+ # Keystone can now optionally install OpenLDAP by enabling the ``ldap`` |
|
360 |
+ # service in ``localrc`` (e.g. ``enable_service ldap``). |
|
361 |
+ # To clean out the Keystone contents in OpenLDAP set ``KEYSTONE_CLEAR_LDAP`` |
|
362 |
+ # to ``yes`` (e.g. ``KEYSTONE_CLEAR_LDAP=yes``) in ``localrc``. To enable the |
|
363 |
+ # Keystone Identity Driver (``keystone.identity.backends.ldap.Identity``) |
|
364 |
+ # set ``KEYSTONE_IDENTITY_BACKEND`` to ``ldap`` (e.g. |
|
365 |
+ # ``KEYSTONE_IDENTITY_BACKEND=ldap``) in ``localrc``. |
|
366 |
+ |
|
367 |
+ # only request ldap password if the service is enabled |
|
368 |
+ if is_service_enabled ldap; then |
|
369 |
+ read_password LDAP_PASSWORD "ENTER A PASSWORD TO USE FOR LDAP" |
|
370 |
+ fi |
|
371 |
+fi |
|
381 | 372 |
|
382 | 373 |
|
383 |
-# only request ldap password if the service is enabled |
|
384 |
-if is_service_enabled ldap; then |
|
385 |
- read_password LDAP_PASSWORD "ENTER A PASSWORD TO USE FOR LDAP" |
|
386 |
-fi |
|
374 |
+# Swift |
|
387 | 375 |
|
388 |
-# Set the tenant for service accounts in Keystone |
|
389 |
-SERVICE_TENANT_NAME=${SERVICE_TENANT_NAME:-service} |
|
376 |
+if is_service_enabled s-proxy; then |
|
377 |
+ # We only ask for Swift Hash if we have enabled swift service. |
|
378 |
+ # ``SWIFT_HASH`` is a random unique string for a swift cluster that |
|
379 |
+ # can never change. |
|
380 |
+ read_password SWIFT_HASH "ENTER A RANDOM SWIFT HASH." |
|
381 |
+fi |
|
390 | 382 |
|
391 | 383 |
|
392 |
-# Log files |
|
393 |
-# --------- |
|
384 |
+# Configure logging |
|
385 |
+# ----------------- |
|
394 | 386 |
|
395 | 387 |
# Draw a spinner so the user knows something is happening |
396 | 388 |
function spinner() { |
... | ... |
@@ -638,14 +626,15 @@ fi |
638 | 638 |
|
639 | 639 |
echo_summary "Configuring OpenStack projects" |
640 | 640 |
|
641 |
-# Set up our checkouts so they are installed into python path |
|
642 |
-# allowing ``import nova`` or ``import glance.client`` |
|
641 |
+# Set up our checkouts so they are installed in the python path |
|
643 | 642 |
configure_keystoneclient |
644 | 643 |
configure_novaclient |
645 | 644 |
setup_develop $OPENSTACKCLIENT_DIR |
645 |
+ |
|
646 | 646 |
if is_service_enabled key g-api n-api s-proxy; then |
647 | 647 |
configure_keystone |
648 | 648 |
fi |
649 |
+ |
|
649 | 650 |
if is_service_enabled s-proxy; then |
650 | 651 |
configure_swift |
651 | 652 |
configure_swiftclient |
... | ... |
@@ -653,6 +642,7 @@ if is_service_enabled s-proxy; then |
653 | 653 |
setup_develop $SWIFT3_DIR |
654 | 654 |
fi |
655 | 655 |
fi |
656 |
+ |
|
656 | 657 |
if is_service_enabled g-api n-api; then |
657 | 658 |
configure_glance |
658 | 659 |
fi |
... | ... |
@@ -666,17 +656,21 @@ if is_service_enabled nova; then |
666 | 666 |
cleanup_nova |
667 | 667 |
configure_nova |
668 | 668 |
fi |
669 |
+ |
|
669 | 670 |
if is_service_enabled horizon; then |
670 | 671 |
configure_horizon |
671 | 672 |
fi |
673 |
+ |
|
672 | 674 |
if is_service_enabled quantum; then |
673 | 675 |
setup_quantumclient |
674 | 676 |
setup_quantum |
675 | 677 |
fi |
678 |
+ |
|
676 | 679 |
if is_service_enabled heat; then |
677 | 680 |
configure_heat |
678 | 681 |
configure_heatclient |
679 | 682 |
fi |
683 |
+ |
|
680 | 684 |
if is_service_enabled cinder; then |
681 | 685 |
configure_cinder |
682 | 686 |
fi |
... | ... |
@@ -698,6 +692,7 @@ if is_service_enabled tls-proxy; then |
698 | 698 |
# don't be naive and add to existing line! |
699 | 699 |
fi |
700 | 700 |
|
701 |
+ |
|
701 | 702 |
# Syslog |
702 | 703 |
# ------ |
703 | 704 |
|
... | ... |
@@ -992,6 +987,7 @@ if is_service_enabled nova && is_baremetal; then |
992 | 992 |
fi |
993 | 993 |
fi |
994 | 994 |
|
995 |
+ |
|
995 | 996 |
# Launch Services |
996 | 997 |
# =============== |
997 | 998 |
|
... | ... |
@@ -1081,6 +1077,7 @@ if is_service_enabled heat; then |
1081 | 1081 |
start_heat |
1082 | 1082 |
fi |
1083 | 1083 |
|
1084 |
+ |
|
1084 | 1085 |
# Create account rc files |
1085 | 1086 |
# ======================= |
1086 | 1087 |
|
... | ... |
@@ -1191,6 +1188,7 @@ fi |
1191 | 1191 |
# Check the status of running services |
1192 | 1192 |
service_check |
1193 | 1193 |
|
1194 |
+ |
|
1194 | 1195 |
# Fin |
1195 | 1196 |
# === |
1196 | 1197 |
|
... | ... |
@@ -201,6 +201,10 @@ VOLUME_GROUP=${VOLUME_GROUP:-stack-volumes} |
201 | 201 |
VOLUME_NAME_PREFIX=${VOLUME_NAME_PREFIX:-volume-} |
202 | 202 |
INSTANCE_NAME_PREFIX=${INSTANCE_NAME_PREFIX:-instance-} |
203 | 203 |
|
204 |
+# Set default port for nova-objectstore |
|
205 |
+S3_SERVICE_PORT=${S3_SERVICE_PORT:-3333} |
|
206 |
+ |
|
207 |
+# Common network names |
|
204 | 208 |
PRIVATE_NETWORK_NAME=${PRIVATE_NETWORK_NAME:-"private"} |
205 | 209 |
PUBLIC_NETWORK_NAME=${PUBLIC_NETWORK_NAME:-"nova"} |
206 | 210 |
|