#!/bin/bash # # lib/cinder_backups/s3_swift # Configure the s3 backup driver with swift s3api # # TODO: create lib/cinder_backup/s3 for external s3 compatible storage # Enable with: # # CINDER_BACKUP_DRIVER=s3_swift # enable_service s3api s-proxy s-object s-container s-account # Dependencies: # # - ``functions`` file # - ``cinder`` configurations # Save trace setting _XTRACE_CINDER_S3_SWIFT=$(set +o | grep xtrace) set +o xtrace function configure_cinder_backup_s3_swift { # This configuration requires swift and s3api. If we're # on a subnode we might not know if they are enabled iniset $CINDER_CONF DEFAULT backup_driver "cinder.backup.drivers.s3.S3BackupDriver" iniset $CINDER_CONF DEFAULT backup_s3_endpoint_url "$SWIFT_SERVICE_PROTOCOL://$SERVICE_HOST:$S3_SERVICE_PORT" } function init_cinder_backup_s3_swift { openstack ec2 credential create iniset $CINDER_CONF DEFAULT backup_s3_store_access_key "$(openstack ec2 credential list -c Access -f value)" iniset $CINDER_CONF DEFAULT backup_s3_store_secret_key "$(openstack ec2 credential list -c Secret -f value)" if is_service_enabled tls-proxy; then iniset $CINDER_CONF DEFAULT backup_s3_ca_cert_file "$SSL_BUNDLE_FILE" fi } # cleanup_cinder_backup_s3_swift: nothing to do # Restore xtrace $_XTRACE_CINDER_S3_SWIFT # Local variables: # mode: shell-script # End: