Puppet Class: cinder::backup::s3

Defined in:
manifests/backup/s3.pp

Overview

Class: cinder::backup::s3

Setup Cinder to backup volumes into an S3 server,

Parameters

backup_s3_endpoint_url

(required) The url where the S3 server is listening.

backup_s3_store_access_key

(required) The S3 query token access key.

backup_s3_store_secret_key

(required) The S3 query token secret key.

backup_driver

(Optional) The backup driver for S3 backend. Defaults to ‘cinder.backup.drivers.s3.S3BackupDriver’.

backup_compression_algorithm

(optional) Compression algorithm to use for volume backups. Supported options are: None (to disable), zlib, bz2 and zstd. Defaults to $facts

backup_s3_store_bucket

(optional) The S3 bucket to be used to store the Cinder backup data. Defaults to $facts

backup_s3_object_size

(optional) The size in bytes of S3 backup objects. Defaults to $facts

backup_s3_block_size

(optional) The size in bytes that changes are tracked for incremental backups. backup_s3_object_size has to be multiple of backup_s3_block_size. Defaults to $facts

backup_s3_enable_progress_timer

(optional) Enable or Disable the timer to send the periodic progress notifications to Ceilometer when backing up the volume to the S3 backend storage. Defaults to $facts

backup_s3_http_proxy

(optional) Address or host for the http proxy server. Defaults to $facts

backup_s3_https_proxy

(optional) Address or host for the https proxy server. Defaults to $facts

backup_s3_timeout

(optional) The time in seconds till a timeout exception is thrown. Defaults to $facts

backup_s3_max_pool_connections

(optional) The maximum number of connections to keep in a connection pool. Defaults to $facts

backup_s3_retry_max_attempts

(optional) An integer representing the maximum number of retry attempts that will be made on a single request. Defaults to $facts

backup_s3_retry_mode

(optional) A string representing the type of retry mode.

e.g: legacy, standard, adaptive.

Defaults to $facts

backup_s3_verify_ssl

(optional) Enable or Disable ssl verify. Defaults to $facts

backup_s3_ca_cert_file

(optional) A filename of the CA cert bundle to use. Defaults to $facts

backup_s3_md5_validation

(optional) Enable or Disable md5 validation in the s3 backend. Defaults to $facts

backup_s3_sse_customer_key

(optional) The SSECustomerKey. Defaults to $facts

backup_s3_sse_customer_algorithm

(optional) The SSECustomerAlgorithm. Defaults to $facts

Author(s)

Alan Bishop <abishop@redhat.com>

Copyright © 2021 Red Hat, Inc.

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Parameters:

  • backup_s3_endpoint_url (Any)
  • backup_s3_store_access_key (Any)
  • backup_s3_store_secret_key (Any)
  • backup_driver (Any) (defaults to: 'cinder.backup.drivers.s3.S3BackupDriver')
  • backup_compression_algorithm (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_store_bucket (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_object_size (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_block_size (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_enable_progress_timer (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_http_proxy (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_https_proxy (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_timeout (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_max_pool_connections (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_retry_max_attempts (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_retry_mode (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_verify_ssl (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_ca_cert_file (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_md5_validation (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_sse_customer_key (Any) (defaults to: $facts['os_service_default'])
  • backup_s3_sse_customer_algorithm (Any) (defaults to: $facts['os_service_default'])


111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'manifests/backup/s3.pp', line 111

class cinder::backup::s3 (
  $backup_s3_endpoint_url,
  $backup_s3_store_access_key,
  $backup_s3_store_secret_key,
  $backup_driver                    = 'cinder.backup.drivers.s3.S3BackupDriver',
  $backup_compression_algorithm     = $facts['os_service_default'],
  $backup_s3_store_bucket           = $facts['os_service_default'],
  $backup_s3_object_size            = $facts['os_service_default'],
  $backup_s3_block_size             = $facts['os_service_default'],
  $backup_s3_enable_progress_timer  = $facts['os_service_default'],
  $backup_s3_http_proxy             = $facts['os_service_default'],
  $backup_s3_https_proxy            = $facts['os_service_default'],
  $backup_s3_timeout                = $facts['os_service_default'],
  $backup_s3_max_pool_connections   = $facts['os_service_default'],
  $backup_s3_retry_max_attempts     = $facts['os_service_default'],
  $backup_s3_retry_mode             = $facts['os_service_default'],
  $backup_s3_verify_ssl             = $facts['os_service_default'],
  $backup_s3_ca_cert_file           = $facts['os_service_default'],
  $backup_s3_md5_validation         = $facts['os_service_default'],
  $backup_s3_sse_customer_key       = $facts['os_service_default'],
  $backup_s3_sse_customer_algorithm = $facts['os_service_default'],
) {

  include cinder::deps

  cinder_config {
    'DEFAULT/backup_s3_endpoint_url':           value => $backup_s3_endpoint_url;
    'DEFAULT/backup_s3_store_access_key':       value => $backup_s3_store_access_key, secret => true;
    'DEFAULT/backup_s3_store_secret_key':       value => $backup_s3_store_secret_key, secret => true;
    'DEFAULT/backup_driver':                    value => $backup_driver;
    'DEFAULT/backup_compression_algorithm':     value => $backup_compression_algorithm;
    'DEFAULT/backup_s3_store_bucket':           value => $backup_s3_store_bucket;
    'DEFAULT/backup_s3_object_size':            value => $backup_s3_object_size;
    'DEFAULT/backup_s3_block_size':             value => $backup_s3_block_size;
    'DEFAULT/backup_s3_enable_progress_timer':  value => $backup_s3_enable_progress_timer;
    'DEFAULT/backup_s3_http_proxy':             value => $backup_s3_http_proxy;
    'DEFAULT/backup_s3_https_proxy':            value => $backup_s3_https_proxy;
    'DEFAULT/backup_s3_timeout':                value => $backup_s3_timeout;
    'DEFAULT/backup_s3_max_pool_connections':   value => $backup_s3_max_pool_connections;
    'DEFAULT/backup_s3_retry_max_attempts':     value => $backup_s3_retry_max_attempts;
    'DEFAULT/backup_s3_retry_mode':             value => $backup_s3_retry_mode;
    'DEFAULT/backup_s3_verify_ssl':             value => $backup_s3_verify_ssl;
    'DEFAULT/backup_s3_ca_cert_file':           value => $backup_s3_ca_cert_file;
    'DEFAULT/backup_s3_md5_validation':         value => $backup_s3_md5_validation;
    'DEFAULT/backup_s3_sse_customer_key':       value => $backup_s3_sse_customer_key, secret => true;
    'DEFAULT/backup_s3_sse_customer_algorithm': value => $backup_s3_sse_customer_algorithm;
  }

}