| #!/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: |