-
-
Save daipham3213/6a1f03f9450003474bb52632f0c6b015 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# lib/cinder_backups/s3 | |
# Configure the s3 backup driver for external s3 compatible storage | |
# Enable with: | |
# | |
# CINDER_BACKUP_DRIVER=s3 | |
# enable_service c-bak | |
# Dependencies: | |
# | |
# - ``functions`` file | |
# - ``cinder`` configurations | |
# Save trace setting | |
_XTRACE_CINDER_S3=$(set +o | grep xtrace) | |
set +o xtrace | |
function configure_cinder_backup_s3 { | |
iniset $CINDER_CONF DEFAULT backup_driver "cinder.backup.drivers.s3.S3BackupDriver" | |
if [[ -z "$S3_REST_ENDPOINT" ]]; then | |
die "Config value S3_REST_ENDPOINT is not set" | |
fi | |
iniset $CINDER_CONF DEFAULT backup_s3_endpoint_url $S3_REST_ENDPOINT | |
if [[ -z "$S3_STORE_BUCKET" ]]; then | |
die "Config value S3_STORE_BUCKET is not set" | |
fi | |
iniset $CINDER_CONF DEFAULT backup_s3_store_bucket $S3_STORE_BUCKET | |
if [[ -z "$S3_ACCESS_KEY" ]]; then | |
die "Config value S3_ACCESS_KEY is not set" | |
fi | |
iniset $CINDER_CONF DEFAULT backup_s3_store_access_key $S3_ACCESS_KEY | |
if [[ -z "$S3_SECRET_KEY" ]]; then | |
die "Config value S3_SECRET_KEY is not set" | |
fi | |
iniset $CINDER_CONF DEFAULT backup_s3_store_secret_key $S3_SECRET_KEY | |
iniset $CINDER_CONF DEFAULT backup_compression_algorithm ${COMPRESSION_ALGRITHM:-zstd} | |
iniset $CINDER_CONF DEFAULT backup_file_size ${BACKUP_FILE_SIZE:-1999994880} | |
iniset $CINDER_CONF DEFAULT backup_workers ${BACKUP_WORKER:-4} | |
iniset $CINDER_CONF DEFAULT thread_pool_size ${BACKUP_THREAD_POOL_SIZE:-6} | |
iniset $CINDER_CONF DEFAULT backup_max_operations ${BACKUP_MAX_OPERATIONS:-15} | |
iniset $CINDER_CONF DEFAULT backup_native_threads_pool_size ${BACKUP_NATIVE_THREAD_POOL_SIZE:-120} | |
iniset $CINDER_CONF DEFAULT backup_enable_progress_timer ${BACKUP_PROGRESS_TIMER:-false} | |
iniset $CINDER_CONF DEFAULT restore_discard_excess_bytes ${RESTORE_DISCARD_EXCESS_BYTES:-true} | |
iniset $CINDER_CONF DEFAULT backup_s3_timeout ${S3_TIMEOUT:-60} | |
iniset $CINDER_CONF DEFAULT backup_s3_verify_ssl ${S3_VERIFY_SSL:-false} | |
iniset $CINDER_CONF DEFAULT backup_s3_block_size ${S3_BLOCK_SIZE:-32768} | |
iniset $CINDER_CONF DEFAULT backup_s3_max_pool_connections ${S3_MAX_POOL_CONNECTIONS:-100} | |
iniset $CINDER_CONF DEFAULT backup_s3_md5_validation ${S3_MD5_VALIDATION:-false} | |
iniset $CINDER_CONF DEFAULT backup_s3_object_size ${S3_OBJECT_SIZE:-1999994880} | |
iniset $CINDER_CONF DEFAULT backup_s3_block_sizebackup_s3_retry_max_attempts ${S3_RETRY_ATTEMPTS:-4} | |
iniset $CINDER_CONF DEFAULT backup_s3_block_sizebackup_s3_retry_mode ${S3_RETRY_MODE:-legacy} | |
} | |
function init_cinder_backup_s3 { | |
if is_service_enabled tls-proxy; then | |
iniset $CINDER_CONF DEFAULT backup_s3_ca_cert_file "$SSL_BUNDLE_FILE" | |
fi | |
} | |
# Restore xtrace | |
$_XTRACE_CINDER_S3 | |
# Local variables: | |
# mode: shell-script | |
# End: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Required configs