blob: 6fb248606e2bb7cb570a5f88ff164d9ec58d14a8 [file] [log] [blame]
Hironori Shiina01a84d22021-01-11 13:42:46 -05001#!/bin/bash
2#
3# lib/cinder_backups/s3_swift
4# Configure the s3 backup driver with swift s3api
5#
6# TODO: create lib/cinder_backup/s3 for external s3 compatible storage
7
8# Enable with:
9#
10# CINDER_BACKUP_DRIVER=s3_swift
11# enable_service s3api s-proxy s-object s-container s-account
12
13# Dependencies:
14#
15# - ``functions`` file
16# - ``cinder`` configurations
17
18# Save trace setting
19_XTRACE_CINDER_S3_SWIFT=$(set +o | grep xtrace)
20set +o xtrace
21
22function configure_cinder_backup_s3_swift {
23 # This configuration requires swift and s3api. If we're
24 # on a subnode we might not know if they are enabled
25 iniset $CINDER_CONF DEFAULT backup_driver "cinder.backup.drivers.s3.S3BackupDriver"
26 iniset $CINDER_CONF DEFAULT backup_s3_endpoint_url "$SWIFT_SERVICE_PROTOCOL://$SERVICE_HOST:$S3_SERVICE_PORT"
27}
28
29function init_cinder_backup_s3_swift {
30 openstack ec2 credential create
31 iniset $CINDER_CONF DEFAULT backup_s3_store_access_key "$(openstack ec2 credential list -c Access -f value)"
32 iniset $CINDER_CONF DEFAULT backup_s3_store_secret_key "$(openstack ec2 credential list -c Secret -f value)"
33 if is_service_enabled tls-proxy; then
34 iniset $CINDER_CONF DEFAULT backup_s3_ca_cert_file "$SSL_BUNDLE_FILE"
35 fi
36}
37
38# cleanup_cinder_backup_s3_swift: nothing to do
39
40# Restore xtrace
41$_XTRACE_CINDER_S3_SWIFT
42
43# Local variables:
44# mode: shell-script
45# End: