Defined Type: glance::backend::multistore::swift

Defined in:
manifests/backend/multistore/swift.pp

Overview

Copyright 2019 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.

Define: glance::backend::swift

configures the storage backend for glance as a swift instance

Parameters:

swift_store_user

Required. Swift store user.

swift_store_key

Required. Swift store key.

swift_store_auth_address

Optional. Default: ‘127.0.0.1:5000/v3/’

swift_store_auth_project_domain_id

Optional. Useful when keystone auth is version 3. Default: default

swift_store_auth_user_domain_id

Optional. Useful when keystone auth is version 3. Default: default

swift_store_container

Optional. Default: $::os_service_default.

swift_store_auth_version

Optional. Default: ‘3’

swift_store_large_object_size

Optional. What size, in MB, should Glance start chunking image files and do a large object manifest in Swift? Default: $::os_service_default.

swift_store_large_object_chunk_size

Optional. When doing a large object manifest, what size, in MB, should Glance write chunks to Swift? This amount of data is written to a temporary disk buffer during the process of chunking. Default: $::os_service_default.

swift_store_create_container_on_put

Optional. Default: $::os_service_default.

swift_store_endpoint_type

Optional. Endpoint type of Swift service. Default: ‘internalURL’

swift_store_service_type

Optional. Type of the swift service to use. Default: $::os_service_default.

swift_store_region

Optional. The region of Swift endpoint to use by Glance. Default: $::os_service_default.

default_swift_reference

Optional. The reference to the default swift account/backing store parameters to use for adding new images. String value. Default: ‘ref1’.

swift_buffer_on_upload

Optional. Buffer image segments before upload to Swift. Default: $::os_service_default.

swift_upload_buffer_dir

Optional. Directory to buffer image segments before upload to Swift. Default: $::os_service_default.

store_description

(optional) Provides constructive information about the store backend to end users. Defaults to $::os_service_default.

DEPRECATED PARAMETERS

swift_store_config_file

Optional. Default: ‘/etc/glance/glance-swift.conf’

Parameters:

  • swift_store_user (Any)
  • swift_store_key (Any)
  • swift_store_auth_address (Any) (defaults to: 'http://127.0.0.1:5000/v3/')
  • swift_store_container (Any) (defaults to: $::os_service_default)
  • swift_store_auth_version (Any) (defaults to: '3')
  • swift_store_auth_project_domain_id (Any) (defaults to: 'default')
  • swift_store_auth_user_domain_id (Any) (defaults to: 'default')
  • swift_store_large_object_size (Any) (defaults to: $::os_service_default)
  • swift_store_large_object_chunk_size (Any) (defaults to: $::os_service_default)
  • swift_store_create_container_on_put (Any) (defaults to: $::os_service_default)
  • swift_store_endpoint_type (Any) (defaults to: 'internalURL')
  • swift_store_service_type (Any) (defaults to: $::os_service_default)
  • swift_store_region (Any) (defaults to: $::os_service_default)
  • default_swift_reference (Any) (defaults to: 'ref1')
  • swift_buffer_on_upload (Any) (defaults to: $::os_service_default)
  • swift_upload_buffer_dir (Any) (defaults to: $::os_service_default)
  • store_description (Any) (defaults to: $::os_service_default)
  • swift_store_config_file (Any) (defaults to: undef)


94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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
# File 'manifests/backend/multistore/swift.pp', line 94

define glance::backend::multistore::swift(
  $swift_store_user,
  $swift_store_key,
  $swift_store_auth_address            = 'http://127.0.0.1:5000/v3/',
  $swift_store_container               = $::os_service_default,
  $swift_store_auth_version            = '3',
  $swift_store_auth_project_domain_id  = 'default',
  $swift_store_auth_user_domain_id     = 'default',
  $swift_store_large_object_size       = $::os_service_default,
  $swift_store_large_object_chunk_size = $::os_service_default,
  $swift_store_create_container_on_put = $::os_service_default,
  $swift_store_endpoint_type           = 'internalURL',
  $swift_store_service_type            = $::os_service_default,
  $swift_store_region                  = $::os_service_default,
  $default_swift_reference             = 'ref1',
  $swift_buffer_on_upload              = $::os_service_default,
  $swift_upload_buffer_dir             = $::os_service_default,
  $store_description                   = $::os_service_default,
  # DEPRECATED PARAMETERS
  $swift_store_config_file             = undef,
) {

  include glance::deps
  include swift::client

  Class['swift::client'] -> Anchor['glance::install::end']
  Service<| tag == 'swift-service' |> -> Service['glance-api']

  if $swift_store_config_file != undef {
    warning('The swift_store_config_file parameter is deprecated')
    $swift_store_config_file_real = $swift_store_config_file
  } else {
    $swift_store_config_file_real = '/etc/glance/glance-swift.conf'
  }

  glance_api_config {
    "${name}/swift_store_region":                  value => $swift_store_region;
    "${name}/swift_store_container":               value => $swift_store_container;
    "${name}/swift_store_create_container_on_put": value => $swift_store_create_container_on_put;
    "${name}/swift_store_large_object_size":       value => $swift_store_large_object_size;
    "${name}/swift_store_large_object_chunk_size": value => $swift_store_large_object_chunk_size;
    "${name}/swift_store_endpoint_type":           value => $swift_store_endpoint_type;
    "${name}/swift_store_service_type":            value => $swift_store_service_type;
    "${name}/swift_store_config_file":             value => $swift_store_config_file_real;
    "${name}/default_swift_reference":             value => $default_swift_reference;
    "${name}/swift_buffer_on_upload":              value => $swift_buffer_on_upload;
    "${name}/swift_upload_buffer_dir":             value => $swift_upload_buffer_dir;
    "${name}/store_description":                   value => $store_description;
  }

  glance_swift_config {
    "${default_swift_reference}/user":              value => $swift_store_user;
    "${default_swift_reference}/key":               value => $swift_store_key, secret => true;
    "${default_swift_reference}/auth_address":      value => $swift_store_auth_address;
    "${default_swift_reference}/auth_version":      value => $swift_store_auth_version;
    "${default_swift_reference}/user_domain_id":    value => $swift_store_auth_user_domain_id;
    "${default_swift_reference}/project_domain_id": value => $swift_store_auth_project_domain_id;
  }
}