d1c198ced9
... because the latest lint no longer allows usage of legacy facts and top scope fact. Change-Id: I309dc0910bf7111cba3aaa58688b862590043973
126 lines
4.9 KiB
Puppet
126 lines
4.9 KiB
Puppet
# == Class: cinder::backup::google
|
|
#
|
|
# Setup Cinder to backup volumes into Google Cloud Storage
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*backup_driver*]
|
|
# (Optional) The backup driver for GCS back-end.
|
|
# Defaults to 'cinder.backup.drivers.google.GoogleBackupDriver'.
|
|
#
|
|
# [*backup_gcs_bucket*]
|
|
# (optional) The GCS bucket to use.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*backup_gcs_object_size*]
|
|
# (optional) The size in bytes of GCS backup objects.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*backup_gcs_block_size*]
|
|
# (optional) The size in bytes that changes are tracked for
|
|
# incremental backups. backup_gcs_object_size has to be a multiple
|
|
# of backup_gcs_block_size.
|
|
#
|
|
# [*backup_gcs_reader_chunk_size*]
|
|
# (optional) GCS object will be downloaded in chunks of bytes.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*backup_gcs_writer_chunk_size*]
|
|
# (optional) The GCS object will be uploaded in chunks of bytes.
|
|
# Pass in a value of -1 if the file is to be uploaded as a
|
|
# single chunk.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*backup_gcs_num_retries*]
|
|
# (optional) Number of times to retry.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*backup_gcs_retry_error_codes*]
|
|
# (optional) List of GCS error codes.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*backup_gcs_bucket_location*]
|
|
# (optional) Location of GCS bucket.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*backup_gcs_storage_class*]
|
|
# (optional) Storage class of GCS bucket.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*backup_gcs_credential_file*]
|
|
# (optional) Absolute path of GCS service account credential file.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*backup_gcs_project_id*]
|
|
# (optional) Owner project id for GCS bucket.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*backup_gcs_user_agent*]
|
|
# (optional) Http user-agent string for GCS API.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*backup_gcs_enable_progress_timer*]
|
|
# (optional) Enable or disable the timer to send the periodic
|
|
# progress notifications to ceilometer when backing up the
|
|
# volume to the GCS backend storage.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# === Author(s)
|
|
#
|
|
# Nate Potter <nathaniel.potter@intel.com>
|
|
#
|
|
# === Copyright
|
|
#
|
|
# Copyright (C) 2016 Intel
|
|
#
|
|
# 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.
|
|
#
|
|
#
|
|
class cinder::backup::google (
|
|
$backup_driver = 'cinder.backup.drivers.google.GoogleBackupDriver',
|
|
$backup_gcs_bucket = $facts['os_service_default'],
|
|
$backup_gcs_object_size = $facts['os_service_default'],
|
|
$backup_gcs_block_size = $facts['os_service_default'],
|
|
$backup_gcs_reader_chunk_size = $facts['os_service_default'],
|
|
$backup_gcs_writer_chunk_size = $facts['os_service_default'],
|
|
$backup_gcs_num_retries = $facts['os_service_default'],
|
|
$backup_gcs_retry_error_codes = $facts['os_service_default'],
|
|
$backup_gcs_bucket_location = $facts['os_service_default'],
|
|
$backup_gcs_storage_class = $facts['os_service_default'],
|
|
$backup_gcs_credential_file = $facts['os_service_default'],
|
|
$backup_gcs_project_id = $facts['os_service_default'],
|
|
$backup_gcs_user_agent = $facts['os_service_default'],
|
|
$backup_gcs_enable_progress_timer = $facts['os_service_default'],
|
|
) {
|
|
|
|
include cinder::deps
|
|
|
|
cinder_config {
|
|
'DEFAULT/backup_driver': value => $backup_driver;
|
|
'DEFAULT/backup_gcs_bucket': value => $backup_gcs_bucket;
|
|
'DEFAULT/backup_gcs_object_size': value => $backup_gcs_object_size;
|
|
'DEFAULT/backup_gcs_block_size': value => $backup_gcs_block_size;
|
|
'DEFAULT/backup_gcs_reader_chunk_size': value => $backup_gcs_reader_chunk_size;
|
|
'DEFAULT/backup_gcs_writer_chunk_size': value => $backup_gcs_writer_chunk_size;
|
|
'DEFAULT/backup_gcs_num_retries': value => $backup_gcs_num_retries;
|
|
'DEFAULT/backup_gcs_retry_error_codes': value => $backup_gcs_retry_error_codes;
|
|
'DEFAULT/backup_gcs_bucket_location': value => $backup_gcs_bucket_location;
|
|
'DEFAULT/backup_gcs_storage_class': value => $backup_gcs_storage_class;
|
|
'DEFAULT/backup_gcs_credential_file': value => $backup_gcs_credential_file;
|
|
'DEFAULT/backup_gcs_project_id': value => $backup_gcs_project_id;
|
|
'DEFAULT/backup_gcs_user_agent': value => $backup_gcs_user_agent;
|
|
'DEFAULT/backup_gcs_enable_project_timer': value => $backup_gcs_enable_progress_timer;
|
|
}
|
|
|
|
}
|