Jakub Pavlik | 78517fb | 2016-10-20 14:53:34 +0200 | [diff] [blame] | 1 | {%- from "cinder/map.jinja" import controller with context %} |
| 2 | |
| 3 | [DEFAULT] |
| 4 | rootwrap_config = /etc/cinder/rootwrap.conf |
| 5 | api_paste_confg = /etc/cinder/api-paste.ini |
| 6 | |
| 7 | iscsi_helper = tgtadm |
| 8 | volume_name_template = volume-%s |
| 9 | #volume_group = cinder |
| 10 | |
| 11 | verbose = True |
| 12 | |
| 13 | osapi_volume_workers = {{ controller.get('volume_workers', '4') }} |
| 14 | |
| 15 | auth_strategy = keystone |
| 16 | |
| 17 | state_path = /var/lib/cinder |
| 18 | |
| 19 | use_syslog=False |
| 20 | |
| 21 | glance_num_retries=0 |
| 22 | debug=False |
| 23 | |
| 24 | os_region_name={{ controller.identity.region }} |
Damian Szeluga | 0918f5a | 2017-04-19 12:26:56 +0200 | [diff] [blame] | 25 | allow_availability_zone_fallback = {{ controller.get('availability_zone_fallback', True) }} |
Jakub Pavlik | 78517fb | 2016-10-20 14:53:34 +0200 | [diff] [blame] | 26 | |
| 27 | #glance_api_ssl_compression=False |
| 28 | #glance_api_insecure=False |
| 29 | |
| 30 | osapi_volume_listen={{ controller.osapi.host }} |
| 31 | |
Jakub Pavlik | 196a21c | 2017-04-03 22:10:05 +0200 | [diff] [blame] | 32 | glance_api_servers = http://{{ controller.glance.host }}:{{ controller.glance.port }} |
| 33 | |
Jakub Pavlik | 78517fb | 2016-10-20 14:53:34 +0200 | [diff] [blame] | 34 | glance_host={{ controller.glance.host }} |
| 35 | glance_port={{ controller.glance.port }} |
| 36 | glance_api_version=2 |
| 37 | |
Jakub Pavlik | 196a21c | 2017-04-03 22:10:05 +0200 | [diff] [blame] | 38 | enable_v3_api = True |
| 39 | |
| 40 | os_privileged_user_name={{ controller.identity.user }} |
| 41 | os_privileged_user_password={{ controller.identity.password }} |
| 42 | os_privileged_user_tenant={{ controller.identity.tenant }} |
| 43 | os_privileged_user_auth_url=http://{{ controller.identity.host }}:5000/v3/ |
| 44 | |
Jakub Pavlik | 78517fb | 2016-10-20 14:53:34 +0200 | [diff] [blame] | 45 | volume_backend_name=DEFAULT |
| 46 | |
| 47 | {%- if controller.backend is defined %} |
| 48 | |
| 49 | default_volume_type={{ controller.default_volume_type }} |
| 50 | |
| 51 | enabled_backends={% for backend_name, backend in controller.get('backend', {}).iteritems() %}{{ backend_name }}{% if not loop.last %},{% endif %}{% endfor %} |
| 52 | |
| 53 | {%- endif %} |
| 54 | |
Michel Nederlof | 95a73eb | 2017-02-06 14:38:17 +0100 | [diff] [blame] | 55 | {%- if controller.storage_availability_zone is defined %} |
| 56 | storage_availability_zone={{controller.storage_availability_zone}} |
| 57 | {%- endif %} |
| 58 | |
| 59 | {%- if controller.default_availability_zone is defined %} |
| 60 | default_availability_zone={{controller.default_availability_zone}} |
| 61 | {%- endif %} |
| 62 | |
| 63 | |
Jakub Pavlik | 78517fb | 2016-10-20 14:53:34 +0200 | [diff] [blame] | 64 | #RPC response timeout recommended by Hitachi |
| 65 | rpc_response_timeout=3600 |
| 66 | |
| 67 | #Rabbit |
| 68 | rpc_backend=rabbit |
| 69 | control_exchange=cinder |
| 70 | |
| 71 | |
| 72 | volume_clear={{ controller.wipe_method }} |
| 73 | |
| 74 | |
| 75 | |
| 76 | volume_name_template = volume-%s |
| 77 | |
| 78 | #volume_group = vg_cinder_volume |
| 79 | |
| 80 | volumes_dir = /var/lib/cinder/volumes |
| 81 | log_dir=/var/log/cinder |
| 82 | |
| 83 | # Use syslog for logging. (boolean value) |
| 84 | #use_syslog=false |
| 85 | |
| 86 | use_syslog=false |
| 87 | verbose=True |
| 88 | lock_path=/var/lock/cinder |
| 89 | |
Andrii Ostapenko | b7aa34d | 2017-04-20 14:22:44 +0300 | [diff] [blame] | 90 | {%- if controller.query_volume_filters is defined %} |
| 91 | query_volume_filters = {{ controller.query_volume_filters|join(",") }} |
| 92 | {%- endif %} |
| 93 | |
Jakub Pavlik | 78517fb | 2016-10-20 14:53:34 +0200 | [diff] [blame] | 94 | nova_catalog_admin_info = compute:nova:adminURL |
Jakub Pavlik | 196a21c | 2017-04-03 22:10:05 +0200 | [diff] [blame] | 95 | nova_catalog_info = compute:nova:{{ controller.identity.get('endpoint_type', 'publicURL') }} |
Jakub Pavlik | 78517fb | 2016-10-20 14:53:34 +0200 | [diff] [blame] | 96 | |
| 97 | osapi_volume_extension = cinder.api.contrib.standard_extensions |
| 98 | |
Jakub Pavlik | 196a21c | 2017-04-03 22:10:05 +0200 | [diff] [blame] | 99 | {%- if controller.message_queue.members is defined %} |
| 100 | transport_url = rabbit://{% for member in controller.message_queue.members -%} |
Jakub Pavlik | 3f092dd | 2017-04-06 21:31:34 +0200 | [diff] [blame] | 101 | {{ controller.message_queue.user }}:{{ controller.message_queue.password }}@{{ member.host }}:{{ member.get('port', 5672) }} |
Jakub Pavlik | 196a21c | 2017-04-03 22:10:05 +0200 | [diff] [blame] | 102 | {%- if not loop.last -%},{%- endif -%} |
Jakub Pavlik | 196a21c | 2017-04-03 22:10:05 +0200 | [diff] [blame] | 103 | {%- endfor -%} |
Jakub Pavlik | 3f092dd | 2017-04-06 21:31:34 +0200 | [diff] [blame] | 104 | /{{ controller.message_queue.virtual_host }} |
Jakub Pavlik | 196a21c | 2017-04-03 22:10:05 +0200 | [diff] [blame] | 105 | {%- else %} |
Jakub Pavlik | 3f092dd | 2017-04-06 21:31:34 +0200 | [diff] [blame] | 106 | transport_url = rabbit://{{ controller.message_queue.user }}:{{ controller.message_queue.password }}@{{ controller.message_queue.host }}:{{ controller.message_queue.port }}/{{ controller.message_queue.virtual_host }} |
Jakub Pavlik | 196a21c | 2017-04-03 22:10:05 +0200 | [diff] [blame] | 107 | {%- endif %} |
| 108 | |
Ondrej Smola | ed6abbf | 2017-04-25 11:55:44 +0200 | [diff] [blame] | 109 | {%- if controller.backup.engine != None %} |
| 110 | {%- set backup_backend_fragment = "cinder/files/backup_backend/_" + controller.backup.engine + ".conf" %} |
| 111 | {%- include backup_backend_fragment %} |
| 112 | {%- endif %} |
| 113 | |
Jakub Pavlik | 78517fb | 2016-10-20 14:53:34 +0200 | [diff] [blame] | 114 | [oslo_messaging_notifications] |
Simon Pasquier | 8bb897e | 2016-11-30 10:52:12 +0100 | [diff] [blame] | 115 | {%- if controller.notification is mapping %} |
| 116 | driver = {{ controller.notification.get('driver', 'messagingv2') }} |
| 117 | {%- if controller.notification.topics is defined %} |
| 118 | topics = {{ controller.notification.topics }} |
| 119 | {%- endif %} |
| 120 | {%- elif controller.notification %} |
Jakub Pavlik | 78517fb | 2016-10-20 14:53:34 +0200 | [diff] [blame] | 121 | driver = messagingv2 |
| 122 | {%- endif %} |
| 123 | |
| 124 | [oslo_concurrency] |
| 125 | |
| 126 | lock_path=/var/lock/cinder |
| 127 | |
Jakub Pavlik | 196a21c | 2017-04-03 22:10:05 +0200 | [diff] [blame] | 128 | [oslo_middleware] |
Jakub Pavlik | 78517fb | 2016-10-20 14:53:34 +0200 | [diff] [blame] | 129 | |
Jakub Pavlik | 196a21c | 2017-04-03 22:10:05 +0200 | [diff] [blame] | 130 | enable_proxy_headers_parsing = True |
| 131 | |
| 132 | [oslo_messaging_rabbit] |
Jakub Pavlik | 78517fb | 2016-10-20 14:53:34 +0200 | [diff] [blame] | 133 | |
| 134 | [keystone_authtoken] |
| 135 | signing_dir=/tmp/keystone-signing-cinder |
| 136 | revocation_cache_time = 10 |
| 137 | auth_type = password |
| 138 | user_domain_name = {{ controller.identity.get('domain', 'Default') }} |
| 139 | project_domain_name = {{ controller.identity.get('domain', 'Default') }} |
| 140 | project_name = {{ controller.identity.tenant }} |
| 141 | username = {{ controller.identity.user }} |
| 142 | password = {{ controller.identity.password }} |
| 143 | |
| 144 | auth_uri=http://{{ controller.identity.host }}:5000 |
| 145 | auth_url=http://{{ controller.identity.host }}:35357 |
| 146 | # Temporary disabled for backward compataiblity |
| 147 | #auth_uri=http://{{ controller.identity.host }}/identity |
| 148 | #auth_url=http://{{ controller.identity.host }}/identity_v2_admin |
| 149 | {%- if controller.cache is defined %} |
| 150 | memcached_servers={%- for member in controller.cache.members %}{{ member.host }}:11211{% if not loop.last %},{% endif %}{%- endfor %} |
| 151 | {%- endif %} |
Jakub Pavlik | 196a21c | 2017-04-03 22:10:05 +0200 | [diff] [blame] | 152 | auth_version = v3 |
| 153 | |
| 154 | [barbican] |
| 155 | auth_endpoint=http://{{ controller.identity.host }}:5000 |
Jakub Pavlik | 78517fb | 2016-10-20 14:53:34 +0200 | [diff] [blame] | 156 | |
| 157 | [database] |
| 158 | idle_timeout=3600 |
| 159 | max_pool_size=30 |
| 160 | max_retries=-1 |
| 161 | max_overflow=40 |
Jakub Pavlik | 3f092dd | 2017-04-06 21:31:34 +0200 | [diff] [blame] | 162 | connection = {{ controller.database.engine }}+pymysql://{{ controller.database.user }}:{{ controller.database.password }}@{{ controller.database.host }}/{{ controller.database.name }}?charset=utf8 |
Jakub Pavlik | 78517fb | 2016-10-20 14:53:34 +0200 | [diff] [blame] | 163 | |
| 164 | {%- if controller.backend is defined %} |
| 165 | |
| 166 | {%- for backend_name, backend in controller.get('backend', {}).iteritems() %} |
| 167 | |
| 168 | {%- set backend_fragment = "cinder/files/backend/_" + backend.engine + ".conf" %} |
| 169 | {%- include backend_fragment %} |
| 170 | |
| 171 | {%- endfor %} |
| 172 | |
| 173 | {%- endif %} |
Ondrej Smola | 74af21b | 2017-04-28 12:30:24 +0200 | [diff] [blame] | 174 | |
| 175 | [cors] |
| 176 | |
| 177 | # |
| 178 | # From oslo.middleware.cors |
| 179 | # |
| 180 | |
| 181 | # Indicate whether this resource may be shared with the domain |
| 182 | # received in the requests "origin" header. (list value) |
| 183 | #allowed_origin = <None> |
| 184 | {%- if controller.cors.allowed_origin is defined %} |
| 185 | allowed_origin = {{ controller.cors.allowed_origin }} |
| 186 | {%- endif %} |
| 187 | |
| 188 | # Indicate that the actual request can include user credentials |
| 189 | # (boolean value) |
| 190 | #allow_credentials = true |
| 191 | {%- if controller.cors.allow_credentials is defined %} |
| 192 | allow_credentials = {{ controller.cors.allow_credentials }} |
| 193 | {%- endif %} |
| 194 | |
| 195 | # Indicate which headers are safe to expose to the API. Defaults to |
| 196 | # HTTP Simple Headers. (list value) |
| 197 | #expose_headers = X-Image-Meta-Checksum,X-Auth-Token,X-Subject-Token,X-Service-Token,X-OpenStack-Request-ID |
| 198 | {%- if controller.cors.expose_headers is defined %} |
| 199 | expose_headers = {{ controller.cors.expose_headers }} |
| 200 | {%- endif %} |
| 201 | |
| 202 | # Maximum cache age of CORS preflight requests. (integer value) |
| 203 | #max_age = 3600 |
| 204 | {%- if controller.cors.max_age is defined %} |
| 205 | max_age = {{ controller.cors.max_age }} |
| 206 | {%- endif %} |
| 207 | |
| 208 | # Indicate which methods can be used during the actual request. (list |
| 209 | # value) |
| 210 | #allow_methods = GET,PUT,POST,DELETE,PATCH |
| 211 | {%- if controller.cors.allow_methods is defined %} |
| 212 | allow_methods = {{ controller.cors.allow_methods }} |
| 213 | {%- endif %} |
| 214 | |
| 215 | # Indicate which header field names may be used during the actual |
| 216 | # request. (list value) |
| 217 | #allow_headers = Content-MD5,X-Image-Meta-Checksum,X-Storage-Token,Accept-Encoding,X-Auth-Token,X-Identity-Status,X-Roles,X-Service-Catalog,X-User-Id,X-Tenant-Id,X-OpenStack-Request-ID |
| 218 | {%- if controller.cors.allow_headers is defined %} |
| 219 | allow_headers = {{ controller.cors.allow_headers }} |
| 220 | {%- endif %} |