Browse code

Deprecate swift3, use s3api in Swift repo

swift3 is no longer actively maintained in the upstream.
That has been moved to Swift repository as s3api so we should
use s3api middleware instead. As well as swift3, s3token is
also maintained in Swift upstream.

Change-Id: I4582d81da066ab53e6f11ad1df7af91425f2b0ca

Kota Tsuyuzaki authored on 2018/09/13 03:08:19
Showing 5 changed files
... ...
@@ -627,8 +627,8 @@ used when adding nodes to the Swift rings.
627 627
 Swift S3
628 628
 ++++++++
629 629
 
630
-If you are enabling ``swift3`` in ``ENABLED_SERVICES`` DevStack will
631
-install the swift3 middleware emulation. Swift will be configured to
630
+If you are enabling ``s3api`` in ``ENABLED_SERVICES`` DevStack will
631
+install the s3api middleware emulation. Swift will be configured to
632 632
 act as a S3 endpoint for Keystone so effectively replacing the
633 633
 ``nova-objectstore``.
634 634
 
... ...
@@ -403,7 +403,7 @@ function create_nova_accounts {
403 403
     fi
404 404
 
405 405
     # S3
406
-    if is_service_enabled swift3; then
406
+    if is_service_enabled s3api; then
407 407
         get_or_create_service "s3" "s3" "S3"
408 408
         get_or_create_endpoint \
409 409
             "s3" \
... ...
@@ -49,7 +49,6 @@ fi
49 49
 
50 50
 SWIFT_AUTH_CACHE_DIR=${SWIFT_AUTH_CACHE_DIR:-/var/cache/swift}
51 51
 SWIFT_APACHE_WSGI_DIR=${SWIFT_APACHE_WSGI_DIR:-/var/www/swift}
52
-SWIFT3_DIR=$DEST/swift3
53 52
 
54 53
 SWIFT_SERVICE_PROTOCOL=${SWIFT_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
55 54
 SWIFT_DEFAULT_BIND_PORT=${SWIFT_DEFAULT_BIND_PORT:-8080}
... ...
@@ -68,8 +67,8 @@ SWIFT_DISK_IMAGE=${SWIFT_DATA_DIR}/drives/images/swift.img
68 68
 # Default is ``/etc/swift``.
69 69
 SWIFT_CONF_DIR=${SWIFT_CONF_DIR:-/etc/swift}
70 70
 
71
-if is_service_enabled s-proxy && is_service_enabled swift3; then
72
-    # If we are using ``swift3``, we can default the S3 port to swift instead
71
+if is_service_enabled s-proxy && is_service_enabled s3api; then
72
+    # If we are using ``s3api``, we can default the S3 port to swift instead
73 73
     # of nova-objectstore
74 74
     S3_SERVICE_PORT=${S3_SERVICE_PORT:-$SWIFT_DEFAULT_BIND_PORT}
75 75
 fi
... ...
@@ -423,16 +422,19 @@ function configure_swift {
423 423
     iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:proxy-logging reveal_sensitive_prefix ${SWIFT_LOG_TOKEN_LENGTH}
424 424
 
425 425
     # By default Swift will be installed with Keystone and tempauth middleware
426
-    # and add the swift3 middleware if its configured for it. The token for
426
+    # and add the s3api middleware if its configured for it. The token for
427 427
     # tempauth would be prefixed with the reseller_prefix setting `TEMPAUTH_` the
428 428
     # token for keystoneauth would have the standard reseller_prefix `AUTH_`
429
-    if is_service_enabled swift3;then
430
-        swift_pipeline+=" swift3 s3token "
429
+    if is_service_enabled s3api;then
430
+        swift_pipeline+=" s3api"
431 431
     fi
432
-
433 432
     if is_service_enabled keystone; then
433
+        if is_service_enabled s3api;then
434
+            swift_pipeline+=" s3token"
435
+        fi
434 436
         swift_pipeline+=" authtoken keystoneauth"
435 437
     fi
438
+
436 439
     swift_pipeline+=" tempauth "
437 440
 
438 441
     sed -i "/^pipeline/ { s/tempauth/${swift_pipeline} ${SWIFT_EXTRAS_MIDDLEWARE}/ ;}" ${SWIFT_CONFIG_PROXY_SERVER}
... ...
@@ -467,22 +469,6 @@ function configure_swift {
467 467
     # Allow both reseller prefixes to be used with domain_remap
468 468
     iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:domain_remap reseller_prefixes "AUTH, TEMPAUTH"
469 469
 
470
-    if is_service_enabled swift3; then
471
-        cat <<EOF >>${SWIFT_CONFIG_PROXY_SERVER}
472
-[filter:s3token]
473
-paste.filter_factory = keystonemiddleware.s3_token:filter_factory
474
-auth_uri = ${KEYSTONE_AUTH_URI}
475
-cafile = ${SSL_BUNDLE_FILE}
476
-admin_user = swift
477
-admin_tenant_name = ${SERVICE_PROJECT_NAME}
478
-admin_password = ${SERVICE_PASSWORD}
479
-
480
-[filter:swift3]
481
-use = egg:swift3#swift3
482
-location = ${REGION_NAME}
483
-EOF
484
-    fi
485
-
486 470
     cp ${SWIFT_DIR}/etc/swift.conf-sample ${SWIFT_CONF_DIR}/swift.conf
487 471
     iniset ${SWIFT_CONF_DIR}/swift.conf swift-hash swift_hash_path_suffix ${SWIFT_HASH}
488 472
     iniset ${SWIFT_CONF_DIR}/swift.conf swift-constraints max_header_size ${SWIFT_MAX_HEADER_SIZE}
... ...
@@ -889,12 +889,10 @@ if is_service_enabled swift; then
889 889
     stack_install_service swift
890 890
     configure_swift
891 891
 
892
-    # swift3 middleware to provide S3 emulation to Swift
893
-    if is_service_enabled swift3; then
892
+    # s3api middleware to provide S3 emulation to Swift
893
+    if is_service_enabled s3api; then
894 894
         # Replace the nova-objectstore port by the swift port
895 895
         S3_SERVICE_PORT=8080
896
-        git_clone $SWIFT3_REPO $SWIFT3_DIR $SWIFT3_BRANCH
897
-        setup_develop $SWIFT3_DIR
898 896
     fi
899 897
 fi
900 898
 
... ...
@@ -520,10 +520,6 @@ GITBRANCH["glance_store"]=${GLANCE_STORE_BRANCH:-$TARGET_BRANCH}
520 520
 GITREPO["keystonemiddleware"]=${KEYSTONEMIDDLEWARE_REPO:-${GIT_BASE}/openstack/keystonemiddleware.git}
521 521
 GITBRANCH["keystonemiddleware"]=${KEYSTONEMIDDLEWARE_BRANCH:-$TARGET_BRANCH}
522 522
 
523
-# s3 support for swift
524
-SWIFT3_REPO=${SWIFT3_REPO:-${GIT_BASE}/openstack/swift3.git}
525
-SWIFT3_BRANCH=${SWIFT3_BRANCH:-$TARGET_BRANCH}
526
-
527 523
 # ceilometer middleware
528 524
 GITREPO["ceilometermiddleware"]=${CEILOMETERMIDDLEWARE_REPO:-${GIT_BASE}/openstack/ceilometermiddleware.git}
529 525
 GITBRANCH["ceilometermiddleware"]=${CEILOMETERMIDDLEWARE_BRANCH:-$TARGET_BRANCH}