| {%- from "glance/map.jinja" import server with context %} |
| {% set storage_engines = server.storage.engine.split(',') %} |
| |
| {%- set connection_x509_ssl_option = '' %} |
| {%- if server.database.get('x509',{}).get('enabled',False) %} |
| {%- set connection_x509_ssl_option = '&ssl_ca=' ~ server.database.x509.ca_file ~ '&ssl_cert=' ~ server.database.x509.cert_file ~ '&ssl_key=' ~ server.database.x509.key_file %} |
| {%- elif server.database.get('ssl',{}).get('enabled',False) %} |
| {%- set connection_x509_ssl_option = '&ssl_ca=' ~ server.database.ssl.get('cacert_file', server.cacert_file) %} |
| {%- endif %} |
| |
| [DEFAULT] |
| |
| # |
| # From glance.api |
| # |
| |
| # |
| # Set the image owner to tenant or the authenticated user. |
| # |
| # Assign a boolean value to determine the owner of an image. When set to |
| # True, the owner of the image is the tenant. When set to False, the |
| # owner of the image will be the authenticated user issuing the request. |
| # Setting it to False makes the image private to the associated user and |
| # sharing with other users within the same tenant (or "project") |
| # requires explicit image sharing via image membership. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * None |
| # |
| # (boolean value) |
| #owner_is_tenant = true |
| |
| # |
| # Role used to identify an authenticated user as administrator. |
| # |
| # Provide a string value representing a Keystone role to identify an |
| # administrative user. Users with this role will be granted |
| # administrative privileges. The default value for this option is |
| # 'admin'. |
| # |
| # Possible values: |
| # * A string value which is a valid Keystone role |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #admin_role = admin |
| |
| # |
| # Allow limited access to unauthenticated users. |
| # |
| # Assign a boolean to determine API access for unathenticated |
| # users. When set to False, the API cannot be accessed by |
| # unauthenticated users. When set to True, unauthenticated users can |
| # access the API with read-only privileges. This however only applies |
| # when using ContextMiddleware. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * None |
| # |
| # (boolean value) |
| #allow_anonymous_access = false |
| |
| # |
| # Limit the request ID length. |
| # |
| # Provide an integer value to limit the length of the request ID to |
| # the specified length. The default value is 64. Users can change this |
| # to any ineteger value between 0 and 16384 however keeping in mind that |
| # a larger value may flood the logs. |
| # |
| # Possible values: |
| # * Integer value between 0 and 16384 |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 0 |
| #max_request_id_length = 64 |
| |
| # |
| # Public url endpoint to use for Glance/Glare versions response. |
| # |
| # This is the public url endpoint that will appear in the Glance/Glare |
| # "versions" response. If no value is specified, the endpoint that is |
| # displayed in the version's response is that of the host running the |
| # API service. Change the endpoint to represent the proxy URL if the |
| # API service is running behind a proxy. If the service is running |
| # behind a load balancer, add the load balancer's URL for this value. |
| # |
| # Possible values: |
| # * None |
| # * Proxy URL |
| # * Load balancer URL |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #public_endpoint = <None> |
| |
| # |
| # Allow users to add additional/custom properties to images. |
| # |
| # Glance defines a standard set of properties (in its schema) that |
| # appear on every image. These properties are also known as |
| # ``base properties``. In addition to these properties, Glance |
| # allows users to add custom properties to images. These are known |
| # as ``additional properties``. |
| # |
| # By default, this configuration option is set to ``True`` and users |
| # are allowed to add additional properties. The number of additional |
| # properties that can be added to an image can be controlled via |
| # ``image_property_quota`` configuration option. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * image_property_quota |
| # |
| # (boolean value) |
| #allow_additional_image_properties = true |
| |
| # |
| # Maximum number of image members per image. |
| # |
| # This limits the maximum of users an image can be shared with. Any negative |
| # value is interpreted as unlimited. |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| #image_member_quota = 128 |
| {%- if server.quota is defined %} |
| {%- if server.quota.image_member is defined %} |
| image_member_quota = {{ server.quota.image_member|default('128') }} |
| {%- endif %} |
| {%- endif %} |
| |
| # |
| # Maximum number of properties allowed on an image. |
| # |
| # This enforces an upper limit on the number of additional properties an image |
| # can have. Any negative value is interpreted as unlimited. |
| # |
| # NOTE: This won't have any impact if additional properties are disabled. Please |
| # refer to ``allow_additional_image_properties``. |
| # |
| # Related options: |
| # * ``allow_additional_image_properties`` |
| # |
| # (integer value) |
| #image_property_quota = 128 |
| {%- if server.quota is defined %} |
| {%- if server.quota.image_property is defined %} |
| image_property_quota = {{ server.quota.image_property|default('128') }} |
| {%- endif %} |
| {%- endif %} |
| |
| # |
| # Maximum number of tags allowed on an image. |
| # |
| # Any negative value is interpreted as unlimited. |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| #image_tag_quota = 128 |
| {%- if server.quota is defined %} |
| {%- if server.quota.image_tag is defined %} |
| image_tag_quota = {{ server.quota.image_tag|default('128') }} |
| {%- endif %} |
| {%- endif %} |
| |
| # |
| # Maximum number of locations allowed on an image. |
| # |
| # Any negative value is interpreted as unlimited. |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| #image_location_quota = 10 |
| {%- if server.quota is defined %} |
| {%- if server.quota.image_location is defined %} |
| image_location_quota = {{ server.quota.image_location|default('10') }} |
| {%- endif %} |
| {%- endif %} |
| |
| # |
| # Python module path of data access API. |
| # |
| # Specifies the path to the API to use for accessing the data model. |
| # This option determines how the image catalog data will be accessed. |
| # |
| # Possible values: |
| # * glance.db.sqlalchemy.api |
| # * glance.db.registry.api |
| # * glance.db.simple.api |
| # |
| # If this option is set to ``glance.db.sqlalchemy.api`` then the image |
| # catalog data is stored in and read from the database via the |
| # SQLAlchemy Core and ORM APIs. |
| # |
| # Setting this option to ``glance.db.registry.api`` will force all |
| # database access requests to be routed through the Registry service. |
| # This avoids data access from the Glance API nodes for an added layer |
| # of security, scalability and manageability. |
| # |
| # NOTE: In v2 OpenStack Images API, the registry service is optional. |
| # In order to use the Registry API in v2, the option |
| # ``enable_v2_registry`` must be set to ``True``. |
| # |
| # Finally, when this configuration option is set to |
| # ``glance.db.simple.api``, image catalog data is stored in and read |
| # from an in-memory data structure. This is primarily used for testing. |
| # |
| # Related options: |
| # * enable_v2_api |
| # * enable_v2_registry |
| # |
| # (string value) |
| #data_api = glance.db.sqlalchemy.api |
| |
| # |
| # The default number of results to return for a request. |
| # |
| # Responses to certain API requests, like list images, may return |
| # multiple items. The number of results returned can be explicitly |
| # controlled by specifying the ``limit`` parameter in the API request. |
| # However, if a ``limit`` parameter is not specified, this |
| # configuration value will be used as the default number of results to |
| # be returned for any API request. |
| # |
| # NOTES: |
| # * The value of this configuration option may not be greater than |
| # the value specified by ``api_limit_max``. |
| # * Setting this to a very large value may slow down database |
| # queries and increase response times. Setting this to a |
| # very low value may result in poor user experience. |
| # |
| # Possible values: |
| # * Any positive integer |
| # |
| # Related options: |
| # * api_limit_max |
| # |
| # (integer value) |
| # Minimum value: 1 |
| #limit_param_default = 25 |
| limit_param_default = {{ server.limit_default|default('25') }} |
| |
| # |
| # Maximum number of results that could be returned by a request. |
| # |
| # As described in the help text of ``limit_param_default``, some |
| # requests may return multiple results. The number of results to be |
| # returned are governed either by the ``limit`` parameter in the |
| # request or the ``limit_param_default`` configuration option. |
| # The value in either case, can't be greater than the absolute maximum |
| # defined by this configuration option. Anything greater than this |
| # value is trimmed down to the maximum value defined here. |
| # |
| # NOTE: Setting this to a very large value may slow down database |
| # queries and increase response times. Setting this to a |
| # very low value may result in poor user experience. |
| # |
| # Possible values: |
| # * Any positive integer |
| # |
| # Related options: |
| # * limit_param_default |
| # |
| # (integer value) |
| # Minimum value: 1 |
| #api_limit_max = 1000 |
| api_limit_max = {{ server.api_limit_max|default('1000') }} |
| |
| # |
| # Show direct image location when returning an image. |
| # |
| # This configuration option indicates whether to show the direct image |
| # location when returning image details to the user. The direct image |
| # location is where the image data is stored in backend storage. This |
| # image location is shown under the image property ``direct_url``. |
| # |
| # When multiple image locations exist for an image, the best location |
| # is displayed based on the location strategy indicated by the |
| # configuration option ``location_strategy``. |
| # |
| # NOTES: |
| # * Revealing image locations can present a GRAVE SECURITY RISK as |
| # image locations can sometimes include credentials. Hence, this |
| # is set to ``False`` by default. Set this to ``True`` with |
| # EXTREME CAUTION and ONLY IF you know what you are doing! |
| # * If an operator wishes to avoid showing any image location(s) |
| # to the user, then both this option and |
| # ``show_multiple_locations`` MUST be set to ``False``. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * show_multiple_locations |
| # * location_strategy |
| # |
| # (boolean value) |
| #show_image_direct_url = false |
| show_image_direct_url = {{ server.get('show_image_direct_url', False)|lower }} |
| |
| # DEPRECATED: |
| # Show all image locations when returning an image. |
| # |
| # This configuration option indicates whether to show all the image |
| # locations when returning image details to the user. When multiple |
| # image locations exist for an image, the locations are ordered based |
| # on the location strategy indicated by the configuration opt |
| # ``location_strategy``. The image locations are shown under the |
| # image property ``locations``. |
| # |
| # NOTES: |
| # * Revealing image locations can present a GRAVE SECURITY RISK as |
| # image locations can sometimes include credentials. Hence, this |
| # is set to ``False`` by default. Set this to ``True`` with |
| # EXTREME CAUTION and ONLY IF you know what you are doing! |
| # * If an operator wishes to avoid showing any image location(s) |
| # to the user, then both this option and |
| # ``show_image_direct_url`` MUST be set to ``False``. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * show_image_direct_url |
| # * location_strategy |
| # |
| # (boolean value) |
| # This option is deprecated for removal since Newton. |
| # Its value may be silently ignored in the future. |
| # Reason: This option will be removed in the Ocata release because the same |
| # functionality can be achieved with greater granularity by using policies. |
| # Please see the Newton release notes for more information. |
| #show_multiple_locations = false |
| show_multiple_locations = {{ server.get('show_multiple_locations', False) | lower }} |
| |
| # |
| # Maximum size of image a user can upload in bytes. |
| # |
| # An image upload greater than the size mentioned here would result |
| # in an image creation failure. This configuration option defaults to |
| # 1099511627776 bytes (1 TiB). |
| # |
| # NOTES: |
| # * This value should only be increased after careful |
| # consideration and must be set less than or equal to |
| # 8 EiB (9223372036854775808). |
| # * This value must be set with careful consideration of the |
| # backend storage capacity. Setting this to a very low value |
| # may result in a large number of image failures. And, setting |
| # this to a very large value may result in faster consumption |
| # of storage. Hence, this must be set according to the nature of |
| # images created and storage capacity available. |
| # |
| # Possible values: |
| # * Any positive number less than or equal to 9223372036854775808 |
| # |
| # (integer value) |
| # Minimum value: 1 |
| # Maximum value: 9223372036854775808 |
| #image_size_cap = 1099511627776 |
| {%- if server.image_size_cap is defined %} |
| image_size_cap = {{ server.image_size_cap }} |
| {%- endif %} |
| |
| # |
| # Maximum amount of image storage per tenant. |
| # |
| # This enforces an upper limit on the cumulative storage consumed by all images |
| # of a tenant across all stores. This is a per-tenant limit. |
| # |
| # The default unit for this configuration option is Bytes. However, storage |
| # units can be specified using case-sensitive literals ``B``, ``KB``, ``MB``, |
| # ``GB`` and ``TB`` representing Bytes, KiloBytes, MegaBytes, GigaBytes and |
| # TeraBytes respectively. Note that there should not be any space between the |
| # value and unit. Value ``0`` signifies no quota enforcement. Negative values |
| # are invalid and result in errors. |
| # |
| # Possible values: |
| # * A string that is a valid concatenation of a non-negative integer |
| # representing the storage value and an optional string literal |
| # representing storage units as mentioned above. |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #user_storage_quota = 0 |
| {%- if server.quota is defined %} |
| {%- if server.quota.user_storage is defined %} |
| user_storage_quota = {{ server.quota.user_storage|default('0') }} |
| {%- endif %} |
| {%- endif %} |
| |
| # |
| # Deploy the v1 OpenStack Images API. |
| # |
| # When this option is set to ``True``, Glance service will respond to |
| # requests on registered endpoints conforming to the v1 OpenStack |
| # Images API. |
| # |
| # NOTES: |
| # * If this option is enabled, then ``enable_v1_registry`` must |
| # also be set to ``True`` to enable mandatory usage of Registry |
| # service with v1 API. |
| # |
| # * If this option is disabled, then the ``enable_v1_registry`` |
| # option, which is enabled by default, is also recommended |
| # to be disabled. |
| # |
| # * This option is separate from ``enable_v2_api``, both v1 and v2 |
| # OpenStack Images API can be deployed independent of each |
| # other. |
| # |
| # * If deploying only the v2 Images API, this option, which is |
| # enabled by default, should be disabled. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * enable_v1_registry |
| # * enable_v2_api |
| # |
| # (boolean value) |
| #enable_v1_api = true |
| enable_v1_api=False |
| |
| # |
| # Deploy the v2 OpenStack Images API. |
| # |
| # When this option is set to ``True``, Glance service will respond |
| # to requests on registered endpoints conforming to the v2 OpenStack |
| # Images API. |
| # |
| # NOTES: |
| # * If this option is disabled, then the ``enable_v2_registry`` |
| # option, which is enabled by default, is also recommended |
| # to be disabled. |
| # |
| # * This option is separate from ``enable_v1_api``, both v1 and v2 |
| # OpenStack Images API can be deployed independent of each |
| # other. |
| # |
| # * If deploying only the v1 Images API, this option, which is |
| # enabled by default, should be disabled. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * enable_v2_registry |
| # * enable_v1_api |
| # |
| # (boolean value) |
| #enable_v2_api = true |
| enable_v2_api=True |
| |
| # |
| # Deploy the v1 API Registry service. |
| # |
| # When this option is set to ``True``, the Registry service |
| # will be enabled in Glance for v1 API requests. |
| # |
| # NOTES: |
| # * Use of Registry is mandatory in v1 API, so this option must |
| # be set to ``True`` if the ``enable_v1_api`` option is enabled. |
| # |
| # * If deploying only the v2 OpenStack Images API, this option, |
| # which is enabled by default, should be disabled. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * enable_v1_api |
| # |
| # (boolean value) |
| #enable_v1_registry = true |
| |
| # |
| # Deploy the v2 API Registry service. |
| # |
| # When this option is set to ``True``, the Registry service |
| # will be enabled in Glance for v2 API requests. |
| # |
| # NOTES: |
| # * Use of Registry is optional in v2 API, so this option |
| # must only be enabled if both ``enable_v2_api`` is set to |
| # ``True`` and the ``data_api`` option is set to |
| # ``glance.db.registry.api``. |
| # |
| # * If deploying only the v1 OpenStack Images API, this option, |
| # which is enabled by default, should be disabled. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * enable_v2_api |
| # * data_api |
| # |
| # (boolean value) |
| #enable_v2_registry = true |
| |
| # |
| # Host address of the pydev server. |
| # |
| # Provide a string value representing the hostname or IP of the |
| # pydev server to use for debugging. The pydev server listens for |
| # debug connections on this address, facilitating remote debugging |
| # in Glance. |
| # |
| # Possible values: |
| # * Valid hostname |
| # * Valid IP address |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #pydev_worker_debug_host = localhost |
| |
| # |
| # Port number that the pydev server will listen on. |
| # |
| # Provide a port number to bind the pydev server to. The pydev |
| # process accepts debug connections on this port and facilitates |
| # remote debugging in Glance. |
| # |
| # Possible values: |
| # * A valid port number |
| # |
| # Related options: |
| # * None |
| # |
| # (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #pydev_worker_debug_port = 5678 |
| |
| # |
| # AES key for encrypting store location metadata. |
| # |
| # Provide a string value representing the AES cipher to use for |
| # encrypting Glance store metadata. |
| # |
| # NOTE: The AES key to use must be set to a random string of length |
| # 16, 24 or 32 bytes. |
| # |
| # Possible values: |
| # * String value representing a valid AES key |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #metadata_encryption_key = <None> |
| |
| # |
| # Digest algorithm to use for digital signature. |
| # |
| # Provide a string value representing the digest algorithm to |
| # use for generating digital signatures. By default, ``sha256`` |
| # is used. |
| # |
| # To get a list of the available algorithms supported by the version |
| # of OpenSSL on your platform, run the command: |
| # ``openssl list-message-digest-algorithms``. |
| # Examples are 'sha1', 'sha256', and 'sha512'. |
| # |
| # NOTE: ``digest_algorithm`` is not related to Glance's image signing |
| # and verification. It is only used to sign the universally unique |
| # identifier (UUID) as a part of the certificate file and key file |
| # validation. |
| # |
| # Possible values: |
| # * An OpenSSL message digest algorithm identifier |
| # |
| # Relation options: |
| # * None |
| # |
| # (string value) |
| #digest_algorithm = sha256 |
| |
| # |
| # Strategy to determine the preference order of image locations. |
| # |
| # This configuration option indicates the strategy to determine |
| # the order in which an image's locations must be accessed to |
| # serve the image's data. Glance then retrieves the image data |
| # from the first responsive active location it finds in this list. |
| # |
| # This option takes one of two possible values ``location_order`` |
| # and ``store_type``. The default value is ``location_order``, |
| # which suggests that image data be served by using locations in |
| # the order they are stored in Glance. The ``store_type`` value |
| # sets the image location preference based on the order in which |
| # the storage backends are listed as a comma separated list for |
| # the configuration option ``store_type_preference``. |
| # |
| # Possible values: |
| # * location_order |
| # * store_type |
| # |
| # Related options: |
| # * store_type_preference |
| # |
| # (string value) |
| # Allowed values: location_order, store_type |
| #location_strategy = location_order |
| {% if server.get('location_strategy', 'location_order') == 'location_order' %} |
| location_strategy = location_order |
| {% else %} |
| location_strategy = store_type |
| {% endif %} |
| |
| # |
| # The location of the property protection file. |
| # |
| # Provide a valid path to the property protection file which contains |
| # the rules for property protections and the roles/policies associated |
| # with them. |
| # |
| # A property protection file, when set, restricts the Glance image |
| # properties to be created, read, updated and/or deleted by a specific |
| # set of users that are identified by either roles or policies. |
| # If this configuration option is not set, by default, property |
| # protections won't be enforced. If a value is specified and the file |
| # is not found, the glance-api service will fail to start. |
| # More information on property protections can be found at: |
| # http://docs.openstack.org/developer/glance/property-protections.html |
| # |
| # Possible values: |
| # * Empty string |
| # * Valid path to the property protection configuration file |
| # |
| # Related options: |
| # * property_protection_rule_format |
| # |
| # (string value) |
| #property_protection_file = <None> |
| |
| # |
| # Rule format for property protection. |
| # |
| # Provide the desired way to set property protection on Glance |
| # image properties. The two permissible values are ``roles`` |
| # and ``policies``. The default value is ``roles``. |
| # |
| # If the value is ``roles``, the property protection file must |
| # contain a comma separated list of user roles indicating |
| # permissions for each of the CRUD operations on each property |
| # being protected. If set to ``policies``, a policy defined in |
| # policy.json is used to express property protections for each |
| # of the CRUD operations. Examples of how property protections |
| # are enforced based on ``roles`` or ``policies`` can be found at: |
| # http://docs.openstack.org/developer/glance/property-protections.html#examples |
| # |
| # Possible values: |
| # * roles |
| # * policies |
| # |
| # Related options: |
| # * property_protection_file |
| # |
| # (string value) |
| # Allowed values: roles, policies |
| #property_protection_rule_format = roles |
| |
| # |
| # List of allowed exception modules to handle RPC exceptions. |
| # |
| # Provide a comma separated list of modules whose exceptions are |
| # permitted to be recreated upon receiving exception data via an RPC |
| # call made to Glance. The default list includes |
| # ``glance.common.exception``, ``builtins``, and ``exceptions``. |
| # |
| # The RPC protocol permits interaction with Glance via calls across a |
| # network or within the same system. Including a list of exception |
| # namespaces with this option enables RPC to propagate the exceptions |
| # back to the users. |
| # |
| # Possible values: |
| # * A comma separated list of valid exception modules |
| # |
| # Related options: |
| # * None |
| # (list value) |
| #allowed_rpc_exception_modules = glance.common.exception,builtins,exceptions |
| |
| # |
| # IP address to bind the glance servers to. |
| # |
| # Provide an IP address to bind the glance server to. The default |
| # value is ``0.0.0.0``. |
| # |
| # Edit this option to enable the server to listen on one particular |
| # IP address on the network card. This facilitates selection of a |
| # particular network interface for the server. |
| # |
| # Possible values: |
| # * A valid IPv4 address |
| # * A valid IPv6 address |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #bind_host = 0.0.0.0 |
| bind_host = {{ server.bind.address }} |
| |
| # |
| # Port number on which the server will listen. |
| # |
| # Provide a valid port number to bind the server's socket to. This |
| # port is then set to identify processes and forward network messages |
| # that arrive at the server. The default bind_port value for the API |
| # server is 9292 and for the registry server is 9191. |
| # |
| # Possible values: |
| # * A valid port number (0 to 65535) |
| # |
| # Related options: |
| # * None |
| # |
| # (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #bind_port = <None> |
| bind_port = {{ server.bind.port }} |
| |
| # |
| # Number of Glance worker processes to start. |
| # |
| # Provide a non-negative integer value to set the number of child |
| # process workers to service requests. By default, the number of CPUs |
| # available is set as the value for ``workers``. |
| # |
| # Each worker process is made to listen on the port set in the |
| # configuration file and contains a greenthread pool of size 1000. |
| # |
| # NOTE: Setting the number of workers to zero, triggers the creation |
| # of a single API process with a greenthread pool of size 1000. |
| # |
| # Possible values: |
| # * 0 |
| # * Positive integer value (typically equal to the number of CPUs) |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 0 |
| #workers = <None> |
| workers = {{ server.workers }} |
| |
| # |
| # Maximum line size of message headers. |
| # |
| # Provide an integer value representing a length to limit the size of |
| # message headers. The default value is 16384. |
| # |
| # NOTE: ``max_header_line`` may need to be increased when using large |
| # tokens (typically those generated by the Keystone v3 API with big |
| # service catalogs). However, it is to be kept in mind that larger |
| # values for ``max_header_line`` would flood the logs. |
| # |
| # Setting ``max_header_line`` to 0 sets no limit for the line size of |
| # message headers. |
| # |
| # Possible values: |
| # * 0 |
| # * Positive integer |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 0 |
| #max_header_line = 16384 |
| |
| # |
| # Set keep alive option for HTTP over TCP. |
| # |
| # Provide a boolean value to determine sending of keep alive packets. |
| # If set to ``False``, the server returns the header |
| # "Connection: close". If set to ``True``, the server returns a |
| # "Connection: Keep-Alive" in its responses. This enables retention of |
| # the same TCP connection for HTTP conversations instead of opening a |
| # new one with each new request. |
| # |
| # This option must be set to ``False`` if the client socket connection |
| # needs to be closed explicitly after the response is received and |
| # read successfully by the client. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * None |
| # |
| # (boolean value) |
| #http_keepalive = true |
| |
| # |
| # Timeout for client connections' socket operations. |
| # |
| # Provide a valid integer value representing time in seconds to set |
| # the period of wait before an incoming connection can be closed. The |
| # default value is 900 seconds. |
| # |
| # The value zero implies wait forever. |
| # |
| # Possible values: |
| # * Zero |
| # * Positive integer |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 0 |
| #client_socket_timeout = 900 |
| |
| # |
| # Set the number of incoming connection requests. |
| # |
| # Provide a positive integer value to limit the number of requests in |
| # the backlog queue. The default queue size is 4096. |
| # |
| # An incoming connection to a TCP listener socket is queued before a |
| # connection can be established with the server. Setting the backlog |
| # for a TCP socket ensures a limited queue size for incoming traffic. |
| # |
| # Possible values: |
| # * Positive integer |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 1 |
| #backlog = 4096 |
| |
| # |
| # Set the wait time before a connection recheck. |
| # |
| # Provide a positive integer value representing time in seconds which |
| # is set as the idle wait time before a TCP keep alive packet can be |
| # sent to the host. The default value is 600 seconds. |
| # |
| # Setting ``tcp_keepidle`` helps verify at regular intervals that a |
| # connection is intact and prevents frequent TCP connection |
| # reestablishment. |
| # |
| # Possible values: |
| # * Positive integer value representing time in seconds |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 1 |
| #tcp_keepidle = 600 |
| |
| # |
| # Absolute path to the CA file. |
| # |
| # Provide a string value representing a valid absolute path to |
| # the Certificate Authority file to use for client authentication. |
| # |
| # A CA file typically contains necessary trusted certificates to |
| # use for the client authentication. This is essential to ensure |
| # that a secure connection is established to the server via the |
| # internet. |
| # |
| # Possible values: |
| # * Valid absolute path to the CA file |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #ca_file = /etc/ssl/cafile |
| |
| # |
| # Absolute path to the certificate file. |
| # |
| # Provide a string value representing a valid absolute path to the |
| # certificate file which is required to start the API service |
| # securely. |
| # |
| # A certificate file typically is a public key container and includes |
| # the server's public key, server name, server information and the |
| # signature which was a result of the verification process using the |
| # CA certificate. This is required for a secure connection |
| # establishment. |
| # |
| # Possible values: |
| # * Valid absolute path to the certificate file |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #cert_file = /etc/ssl/certs |
| |
| # |
| # Absolute path to a private key file. |
| # |
| # Provide a string value representing a valid absolute path to a |
| # private key file which is required to establish the client-server |
| # connection. |
| # |
| # Possible values: |
| # * Absolute path to the private key file |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #key_file = /etc/ssl/key/key-file.pem |
| |
| # DEPRECATED: The HTTP header used to determine the scheme for the original |
| # request, even if it was removed by an SSL terminating proxy. Typical value is |
| # "HTTP_X_FORWARDED_PROTO". (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Use the http_proxy_to_wsgi middleware instead. |
| #secure_proxy_ssl_header = <None> |
| |
| # |
| # The relative path to sqlite file database that will be used for image cache |
| # management. |
| # |
| # This is a relative path to the sqlite file database that tracks the age and |
| # usage statistics of image cache. The path is relative to image cache base |
| # directory, specified by the configuration option ``image_cache_dir``. |
| # |
| # This is a lightweight database with just one table. |
| # |
| # Possible values: |
| # * A valid relative path to sqlite file database |
| # |
| # Related options: |
| # * ``image_cache_dir`` |
| # |
| # (string value) |
| #image_cache_sqlite_db = cache.db |
| |
| # |
| # The driver to use for image cache management. |
| # |
| # This configuration option provides the flexibility to choose between the |
| # different image-cache drivers available. An image-cache driver is responsible |
| # for providing the essential functions of image-cache like write images to/read |
| # images from cache, track age and usage of cached images, provide a list of |
| # cached images, fetch size of the cache, queue images for caching and clean up |
| # the cache, etc. |
| # |
| # The essential functions of a driver are defined in the base class |
| # ``glance.image_cache.drivers.base.Driver``. All image-cache drivers (existing |
| # and prospective) must implement this interface. Currently available drivers |
| # are ``sqlite`` and ``xattr``. These drivers primarily differ in the way they |
| # store the information about cached images: |
| # * The ``sqlite`` driver uses a sqlite database (which sits on every glance |
| # node locally) to track the usage of cached images. |
| # * The ``xattr`` driver uses the extended attributes of files to store this |
| # information. It also requires a filesystem that sets ``atime`` on the |
| # files |
| # when accessed. |
| # |
| # Possible values: |
| # * sqlite |
| # * xattr |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| # Allowed values: sqlite, xattr |
| #image_cache_driver = sqlite |
| |
| # |
| # The upper limit on cache size, in bytes, after which the cache-pruner cleans |
| # up the image cache. |
| # |
| # NOTE: This is just a threshold for cache-pruner to act upon. It is NOT a |
| # hard limit beyond which the image cache would never grow. In fact, depending |
| # on how often the cache-pruner runs and how quickly the cache fills, the image |
| # cache can far exceed the size specified here very easily. Hence, care must be |
| # taken to appropriately schedule the cache-pruner and in setting this limit. |
| # |
| # Glance caches an image when it is downloaded. Consequently, the size of the |
| # image cache grows over time as the number of downloads increases. To keep the |
| # cache size from becoming unmanageable, it is recommended to run the |
| # cache-pruner as a periodic task. When the cache pruner is kicked off, it |
| # compares the current size of image cache and triggers a cleanup if the image |
| # cache grew beyond the size specified here. After the cleanup, the size of |
| # cache is less than or equal to size specified here. |
| # |
| # Possible values: |
| # * Any non-negative integer |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 0 |
| #image_cache_max_size = 10737418240 |
| {% if server.get('image_cache', {}).get('enabled', False) %} |
| |
| image_cache_max_size = {{ server.image_cache.get('max_size', '10737418240') }} |
| image_cache_stall_time = {{ server.image_cache.get('stall_time', '86400') }} |
| image_cache_dir = {{ server.image_cache.get('directory', '/var/lib/glance/image-cache/') }} |
| {% endif %} |
| |
| # |
| # The amount of time, in seconds, an incomplete image remains in the cache. |
| # |
| # Incomplete images are images for which download is in progress. Please see the |
| # description of configuration option ``image_cache_dir`` for more detail. |
| # Sometimes, due to various reasons, it is possible the download may hang and |
| # the incompletely downloaded image remains in the ``incomplete`` directory. |
| # This configuration option sets a time limit on how long the incomplete images |
| # should remain in the ``incomplete`` directory before they are cleaned up. |
| # Once an incomplete image spends more time than is specified here, it'll be |
| # removed by cache-cleaner on its next run. |
| # |
| # It is recommended to run cache-cleaner as a periodic task on the Glance API |
| # nodes to keep the incomplete images from occupying disk space. |
| # |
| # Possible values: |
| # * Any non-negative integer |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 0 |
| #image_cache_stall_time = 86400 |
| |
| # |
| # Base directory for image cache. |
| # |
| # This is the location where image data is cached and served out of. All cached |
| # images are stored directly under this directory. This directory also contains |
| # three subdirectories, namely, ``incomplete``, ``invalid`` and ``queue``. |
| # |
| # The ``incomplete`` subdirectory is the staging area for downloading images. An |
| # image is first downloaded to this directory. When the image download is |
| # successful it is moved to the base directory. However, if the download fails, |
| # the partially downloaded image file is moved to the ``invalid`` subdirectory. |
| # |
| # The ``queue``subdirectory is used for queuing images for download. This is |
| # used primarily by the cache-prefetcher, which can be scheduled as a periodic |
| # task like cache-pruner and cache-cleaner, to cache images ahead of their |
| # usage. |
| # Upon receiving the request to cache an image, Glance touches a file in the |
| # ``queue`` directory with the image id as the file name. The cache-prefetcher, |
| # when running, polls for the files in ``queue`` directory and starts |
| # downloading them in the order they were created. When the download is |
| # successful, the zero-sized file is deleted from the ``queue`` directory. |
| # If the download fails, the zero-sized file remains and it'll be retried the |
| # next time cache-prefetcher runs. |
| # |
| # Possible values: |
| # * A valid path |
| # |
| # Related options: |
| # * ``image_cache_sqlite_db`` |
| # |
| # (string value) |
| #image_cache_dir = <None> |
| |
| # |
| # Default publisher_id for outgoing Glance notifications. |
| # |
| # This is the value that the notification driver will use to identify |
| # messages for events originating from the Glance service. Typically, |
| # this is the hostname of the instance that generated the message. |
| # |
| # Possible values: |
| # * Any reasonable instance identifier, for example: image.host1 |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #default_publisher_id = image.localhost |
| |
| # |
| # List of notifications to be disabled. |
| # |
| # Specify a list of notifications that should not be emitted. |
| # A notification can be given either as a notification type to |
| # disable a single event notification, or as a notification group |
| # prefix to disable all event notifications within a group. |
| # |
| # Possible values: |
| # A comma-separated list of individual notification types or |
| # notification groups to be disabled. Currently supported groups: |
| # * image |
| # * image.member |
| # * task |
| # * metadef_namespace |
| # * metadef_object |
| # * metadef_property |
| # * metadef_resource_type |
| # * metadef_tag |
| # For a complete listing and description of each event refer to: |
| # http://docs.openstack.org/developer/glance/notifications.html |
| # |
| # The values must be specified as: <group_name>.<event_name> |
| # For example: image.create,task.success,metadef_tag |
| # |
| # Related options: |
| # * None |
| # |
| # (list value) |
| #disabled_notifications = |
| |
| # |
| # Address the registry server is hosted on. |
| # |
| # Possible values: |
| # * A valid IP or hostname |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #registry_host = 0.0.0.0 |
| registry_host = {{ server.registry.host }} |
| |
| # |
| # Port the registry server is listening on. |
| # |
| # Possible values: |
| # * A valid port number |
| # |
| # Related options: |
| # * None |
| # |
| # (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #registry_port = 9191 |
| registry_port = {{ server.registry.port }} |
| |
| # DEPRECATED: Whether to pass through the user token when making requests to the |
| # registry. To prevent failures with token expiration during big files upload, |
| # it is recommended to set this parameter to False.If "use_user_token" is not in |
| # effect, then admin credentials can be specified. (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: This option was considered harmful and has been deprecated in M |
| # release. It will be removed in O release. For more information read OSSN-0060. |
| # Related functionality with uploading big images has been implemented with |
| # Keystone trusts support. |
| #use_user_token = true |
| |
| # DEPRECATED: The administrators user name. If "use_user_token" is not in |
| # effect, then admin credentials can be specified. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: This option was considered harmful and has been deprecated in M |
| # release. It will be removed in O release. For more information read OSSN-0060. |
| # Related functionality with uploading big images has been implemented with |
| # Keystone trusts support. |
| #admin_user = <None> |
| |
| # DEPRECATED: The administrators password. If "use_user_token" is not in effect, |
| # then admin credentials can be specified. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: This option was considered harmful and has been deprecated in M |
| # release. It will be removed in O release. For more information read OSSN-0060. |
| # Related functionality with uploading big images has been implemented with |
| # Keystone trusts support. |
| #admin_password = <None> |
| |
| # DEPRECATED: The tenant name of the administrative user. If "use_user_token" is |
| # not in effect, then admin tenant name can be specified. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: This option was considered harmful and has been deprecated in M |
| # release. It will be removed in O release. For more information read OSSN-0060. |
| # Related functionality with uploading big images has been implemented with |
| # Keystone trusts support. |
| #admin_tenant_name = <None> |
| |
| # DEPRECATED: The URL to the keystone service. If "use_user_token" is not in |
| # effect and using keystone auth, then URL of keystone can be specified. (string |
| # value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: This option was considered harmful and has been deprecated in M |
| # release. It will be removed in O release. For more information read OSSN-0060. |
| # Related functionality with uploading big images has been implemented with |
| # Keystone trusts support. |
| #auth_url = <None> |
| |
| # DEPRECATED: The strategy to use for authentication. If "use_user_token" is not |
| # in effect, then auth strategy can be specified. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: This option was considered harmful and has been deprecated in M |
| # release. It will be removed in O release. For more information read OSSN-0060. |
| # Related functionality with uploading big images has been implemented with |
| # Keystone trusts support. |
| #auth_strategy = noauth |
| |
| # DEPRECATED: The region for the authentication service. If "use_user_token" is |
| # not in effect and using keystone auth, then region name can be specified. |
| # (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: This option was considered harmful and has been deprecated in M |
| # release. It will be removed in O release. For more information read OSSN-0060. |
| # Related functionality with uploading big images has been implemented with |
| # Keystone trusts support. |
| #auth_region = <None> |
| {% if server.identity.region is defined %} |
| auth_region = {{ server.identity.region }} |
| {% endif %} |
| |
| # |
| # Protocol to use for communication with the registry server. |
| # |
| # Provide a string value representing the protocol to use for |
| # communication with the registry server. By default, this option is |
| # set to ``http`` and the connection is not secure. |
| # |
| # This option can be set to ``https`` to establish a secure connection |
| # to the registry server. In this case, provide a key to use for the |
| # SSL connection using the ``registry_client_key_file`` option. Also |
| # include the CA file and cert file using the options |
| # ``registry_client_ca_file`` and ``registry_client_cert_file`` |
| # respectively. |
| # |
| # Possible values: |
| # * http |
| # * https |
| # |
| # Related options: |
| # * registry_client_key_file |
| # * registry_client_cert_file |
| # * registry_client_ca_file |
| # |
| # (string value) |
| # Allowed values: http, https |
| #registry_client_protocol = http |
| registry_client_protocol = {{ server.registry.get('protocol', 'http') }} |
| |
| # |
| # Absolute path to the private key file. |
| # |
| # Provide a string value representing a valid absolute path to the |
| # private key file to use for establishing a secure connection to |
| # the registry server. |
| # |
| # NOTE: This option must be set if ``registry_client_protocol`` is |
| # set to ``https``. Alternatively, the GLANCE_CLIENT_KEY_FILE |
| # environment variable may be set to a filepath of the key file. |
| # |
| # Possible values: |
| # * String value representing a valid absolute path to the key |
| # file. |
| # |
| # Related options: |
| # * registry_client_protocol |
| # |
| # (string value) |
| #registry_client_key_file = /etc/ssl/key/key-file.pem |
| |
| # |
| # Absolute path to the certificate file. |
| # |
| # Provide a string value representing a valid absolute path to the |
| # certificate file to use for establishing a secure connection to |
| # the registry server. |
| # |
| # NOTE: This option must be set if ``registry_client_protocol`` is |
| # set to ``https``. Alternatively, the GLANCE_CLIENT_CERT_FILE |
| # environment variable may be set to a filepath of the certificate |
| # file. |
| # |
| # Possible values: |
| # * String value representing a valid absolute path to the |
| # certificate file. |
| # |
| # Related options: |
| # * registry_client_protocol |
| # |
| # (string value) |
| #registry_client_cert_file = /etc/ssl/certs/file.crt |
| |
| # |
| # Absolute path to the Certificate Authority file. |
| # |
| # Provide a string value representing a valid absolute path to the |
| # certificate authority file to use for establishing a secure |
| # connection to the registry server. |
| # |
| # NOTE: This option must be set if ``registry_client_protocol`` is |
| # set to ``https``. Alternatively, the GLANCE_CLIENT_CA_FILE |
| # environment variable may be set to a filepath of the CA file. |
| # This option is ignored if the ``registry_client_insecure`` option |
| # is set to ``True``. |
| # |
| # Possible values: |
| # * String value representing a valid absolute path to the CA |
| # file. |
| # |
| # Related options: |
| # * registry_client_protocol |
| # * registry_client_insecure |
| # |
| # (string value) |
| {%- if server.registry.get('protocol', 'http') == 'https' %} |
| registry_client_ca_file = {{ server.registry.get('cacert_file', server.cacert_file) }} |
| {%- endif %} |
| |
| # |
| # Set verification of the registry server certificate. |
| # |
| # Provide a boolean value to determine whether or not to validate |
| # SSL connections to the registry server. By default, this option |
| # is set to ``False`` and the SSL connections are validated. |
| # |
| # If set to ``True``, the connection to the registry server is not |
| # validated via a certifying authority and the |
| # ``registry_client_ca_file`` option is ignored. This is the |
| # registry's equivalent of specifying --insecure on the command line |
| # using glanceclient for the API. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * registry_client_protocol |
| # * registry_client_ca_file |
| # |
| # (boolean value) |
| #registry_client_insecure = false |
| |
| # |
| # Timeout value for registry requests. |
| # |
| # Provide an integer value representing the period of time in seconds |
| # that the API server will wait for a registry request to complete. |
| # The default value is 600 seconds. |
| # |
| # A value of 0 implies that a request will never timeout. |
| # |
| # Possible values: |
| # * Zero |
| # * Positive integer |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 0 |
| #registry_client_timeout = 600 |
| |
| # |
| # Send headers received from identity when making requests to |
| # registry. |
| # |
| # Typically, Glance registry can be deployed in multiple flavors, |
| # which may or may not include authentication. For example, |
| # ``trusted-auth`` is a flavor that does not require the registry |
| # service to authenticate the requests it receives. However, the |
| # registry service may still need a user context to be populated to |
| # serve the requests. This can be achieved by the caller |
| # (the Glance API usually) passing through the headers it received |
| # from authenticating with identity for the same request. The typical |
| # headers sent are ``X-User-Id``, ``X-Tenant-Id``, ``X-Roles``, |
| # ``X-Identity-Status`` and ``X-Service-Catalog``. |
| # |
| # Provide a boolean value to determine whether to send the identity |
| # headers to provide tenant and user information along with the |
| # requests to registry service. By default, this option is set to |
| # ``False``, which means that user and tenant information is not |
| # available readily. It must be obtained by authenticating. Hence, if |
| # this is set to ``False``, ``flavor`` must be set to value that |
| # either includes authentication or authenticated user context. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * flavor |
| # |
| # (boolean value) |
| #send_identity_headers = false |
| |
| # |
| # The amount of time, in seconds, to delay image scrubbing. |
| # |
| # When delayed delete is turned on, an image is put into ``pending_delete`` |
| # state upon deletion until the scrubber deletes its image data. Typically, soon |
| # after the image is put into ``pending_delete`` state, it is available for |
| # scrubbing. However, scrubbing can be delayed until a later point using this |
| # configuration option. This option denotes the time period an image spends in |
| # ``pending_delete`` state before it is available for scrubbing. |
| # |
| # It is important to realize that this has storage implications. The larger the |
| # ``scrub_time``, the longer the time to reclaim backend storage from deleted |
| # images. |
| # |
| # Possible values: |
| # * Any non-negative integer |
| # |
| # Related options: |
| # * ``delayed_delete`` |
| # |
| # (integer value) |
| # Minimum value: 0 |
| #scrub_time = 0 |
| |
| # |
| # The size of thread pool to be used for scrubbing images. |
| # |
| # When there are a large number of images to scrub, it is beneficial to scrub |
| # images in parallel so that the scrub queue stays in control and the backend |
| # storage is reclaimed in a timely fashion. This configuration option denotes |
| # the maximum number of images to be scrubbed in parallel. The default value is |
| # one, which signifies serial scrubbing. Any value above one indicates parallel |
| # scrubbing. |
| # |
| # Possible values: |
| # * Any non-zero positive integer |
| # |
| # Related options: |
| # * ``delayed_delete`` |
| # |
| # (integer value) |
| # Minimum value: 1 |
| #scrub_pool_size = 1 |
| |
| # |
| # Turn on/off delayed delete. |
| # |
| # Typically when an image is deleted, the ``glance-api`` service puts the image |
| # into ``deleted`` state and deletes its data at the same time. Delayed delete |
| # is a feature in Glance that delays the actual deletion of image data until a |
| # later point in time (as determined by the configuration option |
| # ``scrub_time``). |
| # When delayed delete is turned on, the ``glance-api`` service puts the image |
| # into ``pending_delete`` state upon deletion and leaves the image data in the |
| # storage backend for the image scrubber to delete at a later time. The image |
| # scrubber will move the image into ``deleted`` state upon successful deletion |
| # of image data. |
| # |
| # NOTE: When delayed delete is turned on, image scrubber MUST be running as a |
| # periodic task to prevent the backend storage from filling up with undesired |
| # usage. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * ``scrub_time`` |
| # * ``wakeup_time`` |
| # * ``scrub_pool_size`` |
| # |
| # (boolean value) |
| #delayed_delete = false |
| |
| # |
| # From oslo.log |
| # |
| |
| # If set to true, the logging level will be set to DEBUG instead of the default |
| # INFO level. (boolean value) |
| # Note: This option can be changed without restarting. |
| #debug = false |
| debug = false |
| |
| # DEPRECATED: If set to false, the logging level will be set to WARNING instead |
| # of the default INFO level. (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #verbose = true |
| verbose = true |
| |
| # The name of a logging configuration file. This file is appended to any |
| # existing logging configuration files. For details about logging configuration |
| # files, see the Python logging module documentation. Note that when logging |
| # configuration files are used then all logging configuration is set in the |
| # configuration file and other logging configuration options are ignored (for |
| # example, logging_context_format_string). (string value) |
| # Note: This option can be changed without restarting. |
| # Deprecated group/name - [DEFAULT]/log_config |
| #log_config_append = <None> |
| |
| # Defines the format string for %%(asctime)s in log records. Default: |
| # %(default)s . This option is ignored if log_config_append is set. (string |
| # value) |
| #log_date_format = %Y-%m-%d %H:%M:%S |
| |
| # (Optional) Name of log file to send logging output to. If no default is set, |
| # logging will go to stderr as defined by use_stderr. This option is ignored if |
| # log_config_append is set. (string value) |
| # Deprecated group/name - [DEFAULT]/logfile |
| #log_file = <None> |
| log_file = /var/log/glance/api.log |
| |
| # (Optional) The base directory used for relative log_file paths. This option |
| # is ignored if log_config_append is set. (string value) |
| # Deprecated group/name - [DEFAULT]/logdir |
| #log_dir = <None> |
| |
| # Uses logging handler designed to watch file system. When log file is moved or |
| # removed this handler will open a new log file with specified path |
| # instantaneously. It makes sense only if log_file option is specified and Linux |
| # platform is used. This option is ignored if log_config_append is set. (boolean |
| # value) |
| #watch_log_file = false |
| |
| # Use syslog for logging. Existing syslog format is DEPRECATED and will be |
| # changed later to honor RFC5424. This option is ignored if log_config_append is |
| # set. (boolean value) |
| #use_syslog = false |
| |
| # Syslog facility to receive log lines. This option is ignored if |
| # log_config_append is set. (string value) |
| #syslog_log_facility = LOG_USER |
| |
| # Log output to standard error. This option is ignored if log_config_append is |
| # set. (boolean value) |
| #use_stderr = false |
| |
| # Format string to use for log messages with context. (string value) |
| #logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s |
| |
| # Format string to use for log messages when context is undefined. (string |
| # value) |
| #logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s |
| |
| # Additional data to append to log message when logging level for the message is |
| # DEBUG. (string value) |
| #logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d |
| |
| # Prefix each line of exception output with this format. (string value) |
| #logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s |
| |
| # Defines the format string for %(user_identity)s that is used in |
| # logging_context_format_string. (string value) |
| #logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s |
| |
| # List of package logging levels in logger=LEVEL pairs. This option is ignored |
| # if log_config_append is set. (list value) |
| #default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO |
| |
| # Enables or disables publication of error events. (boolean value) |
| #publish_errors = false |
| |
| # The format for an instance that is passed with the log message. (string value) |
| #instance_format = "[instance: %(uuid)s] " |
| |
| # The format for an instance UUID that is passed with the log message. (string |
| # value) |
| #instance_uuid_format = "[instance: %(uuid)s] " |
| |
| # Interval, number of seconds, of log rate limiting. (integer value) |
| #rate_limit_interval = 0 |
| |
| # Maximum number of logged messages per rate_limit_interval. (integer value) |
| #rate_limit_burst = 0 |
| |
| # Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG or |
| # empty string. Logs with level greater or equal to rate_limit_except_level are |
| # not filtered. An empty string means that all levels are filtered. (string |
| # value) |
| #rate_limit_except_level = CRITICAL |
| |
| # Enables or disables fatal status of deprecations. (boolean value) |
| #fatal_deprecations = false |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # Size of RPC connection pool. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_conn_pool_size |
| #rpc_conn_pool_size = 30 |
| |
| # The pool size limit for connections expiration policy (integer value) |
| #conn_pool_min_size = 2 |
| |
| # The time-to-live in sec of idle connections in the pool (integer value) |
| #conn_pool_ttl = 1200 |
| |
| # ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. |
| # The "host" option should point or resolve to this address. (string value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_bind_address |
| #rpc_zmq_bind_address = * |
| |
| # MatchMaker driver. (string value) |
| # Allowed values: redis, dummy |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_matchmaker |
| #rpc_zmq_matchmaker = redis |
| |
| # Number of ZeroMQ contexts, defaults to 1. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_contexts |
| #rpc_zmq_contexts = 1 |
| |
| # Maximum number of ingress messages to locally buffer per topic. Default is |
| # unlimited. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_topic_backlog |
| #rpc_zmq_topic_backlog = <None> |
| |
| # Directory for holding IPC sockets. (string value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_ipc_dir |
| #rpc_zmq_ipc_dir = /var/run/openstack |
| |
| # Name of this node. Must be a valid hostname, FQDN, or IP address. Must match |
| # "host" option, if running Nova. (string value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_host |
| #rpc_zmq_host = localhost |
| |
| # Number of seconds to wait before all pending messages will be sent after |
| # closing a socket. The default value of -1 specifies an infinite linger period. |
| # The value of 0 specifies no linger period. Pending messages shall be discarded |
| # immediately when the socket is closed. Positive values specify an upper bound |
| # for the linger period. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_cast_timeout |
| #zmq_linger = -1 |
| |
| # The default number of seconds that poll should wait. Poll raises timeout |
| # exception when timeout expired. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_poll_timeout |
| #rpc_poll_timeout = 1 |
| |
| # Expiration timeout in seconds of a name service record about existing target ( |
| # < 0 means no timeout). (integer value) |
| # Deprecated group/name - [DEFAULT]/zmq_target_expire |
| #zmq_target_expire = 300 |
| |
| # Update period in seconds of a name service record about existing target. |
| # (integer value) |
| # Deprecated group/name - [DEFAULT]/zmq_target_update |
| #zmq_target_update = 180 |
| |
| # Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean |
| # value) |
| # Deprecated group/name - [DEFAULT]/use_pub_sub |
| #use_pub_sub = false |
| |
| # Use ROUTER remote proxy. (boolean value) |
| # Deprecated group/name - [DEFAULT]/use_router_proxy |
| #use_router_proxy = false |
| |
| # Minimal port number for random ports range. (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_min_port |
| #rpc_zmq_min_port = 49153 |
| |
| # Maximal port number for random ports range. (integer value) |
| # Minimum value: 1 |
| # Maximum value: 65536 |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_max_port |
| #rpc_zmq_max_port = 65536 |
| |
| # Number of retries to find free port number before fail with ZMQBindError. |
| # (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_bind_port_retries |
| #rpc_zmq_bind_port_retries = 100 |
| |
| # Default serialization mechanism for serializing/deserializing |
| # outgoing/incoming messages (string value) |
| # Allowed values: json, msgpack |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_serialization |
| #rpc_zmq_serialization = json |
| |
| # This option configures round-robin mode in zmq socket. True means not keeping |
| # a queue when server side disconnects. False means to keep queue and messages |
| # even if server is disconnected, when the server appears we send all |
| # accumulated messages to it. (boolean value) |
| #zmq_immediate = false |
| # Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any |
| # other negative value) means to skip any overrides and leave it to OS default; |
| # 0 and 1 (or any other positive value) mean to disable and enable the option |
| # respectively. (integer value) |
| #zmq_tcp_keepalive = -1 |
| |
| # The duration between two keepalive transmissions in idle condition. The unit |
| # is platform dependent, for example, seconds in Linux, milliseconds in Windows |
| # etc. The default value of -1 (or any other negative value and 0) means to skip |
| # any overrides and leave it to OS default. (integer value) |
| #zmq_tcp_keepalive_idle = -1 |
| |
| # The number of retransmissions to be carried out before declaring that remote |
| # end is not available. The default value of -1 (or any other negative value and |
| # 0) means to skip any overrides and leave it to OS default. (integer value) |
| #zmq_tcp_keepalive_cnt = -1 |
| |
| # The duration between two successive keepalive retransmissions, if |
| # acknowledgement to the previous keepalive transmission is not received. The |
| # unit is platform dependent, for example, seconds in Linux, milliseconds in |
| # Windows etc. The default value of -1 (or any other negative value and 0) means |
| # to skip any overrides and leave it to OS default. (integer value) |
| #zmq_tcp_keepalive_intvl = -1 |
| |
| # Maximum number of (green) threads to work concurrently. (integer value) |
| #rpc_thread_pool_size = 100 |
| |
| # Expiration timeout in seconds of a sent/received message after which it is not |
| # tracked anymore by a client/server. (integer value) |
| #rpc_message_ttl = 300 |
| |
| # Wait for message acknowledgements from receivers. This mechanism works only |
| # via proxy without PUB/SUB. (boolean value) |
| #rpc_use_acks = false |
| |
| # Number of seconds to wait for an ack from a cast/call. After each retry |
| # attempt this timeout is multiplied by some specified multiplier. (integer |
| # value) |
| #rpc_ack_timeout_base = 15 |
| |
| # Number to multiply base ack timeout by after each retry attempt. (integer |
| # value) |
| #rpc_ack_timeout_multiplier = 2 |
| |
| # Default number of message sending attempts in case of any problems occurred: |
| # positive value N means at most N retries, 0 means no retries, None or -1 (or |
| # any other negative values) mean to retry forever. This option is used only if |
| # acknowledgments are enabled. (integer value) |
| #rpc_retry_attempts = 3 |
| |
| # List of publisher hosts SubConsumer can subscribe on. This option has higher |
| # priority then the default publishers list taken from the matchmaker. (list |
| # value) |
| #subscribe_on = |
| |
| # Size of executor thread pool. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_thread_pool_size |
| #executor_thread_pool_size = 64 |
| |
| # Seconds to wait for a response from a call. (integer value) |
| #rpc_response_timeout = 60 |
| |
| # A URL representing the messaging driver to use and its full configuration. |
| # (string value) |
| #transport_url = <None> |
| |
| {%- set rabbit_port = server.message_queue.get('port', 5671 if server.message_queue.get('ssl',{}).get('enabled', False) else 5672) %} |
| {%- if server.message_queue.members is defined %} |
| transport_url = rabbit://{% for member in server.message_queue.members -%} |
| {{ server.message_queue.user }}:{{ server.message_queue.password }}@{{ member.host }}:{{ member.get('port', rabbit_port) }} |
| {%- if not loop.last -%},{%- endif -%} |
| {%- endfor -%} |
| /{{ server.message_queue.virtual_host }} |
| {%- else %} |
| transport_url = rabbit://{{ server.message_queue.user }}:{{ server.message_queue.password }}@{{ server.message_queue.host }}:{{ rabbit_port }}/{{ server.message_queue.virtual_host }} |
| {%- endif %} |
| |
| # DEPRECATED: The messaging driver to use, defaults to rabbit. Other drivers |
| # include amqp and zmq. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #rpc_backend = rabbit |
| |
| # The default exchange under which topics are scoped. May be overridden by an |
| # exchange name specified in the transport_url option. (string value) |
| #control_exchange = openstack |
| control_exchange = openstack |
| scrubber_datadir=/var/lib/glance/scrubber |
| |
| |
| [cors] |
| |
| # |
| # From oslo.middleware.cors |
| # |
| |
| # Indicate whether this resource may be shared with the domain received in the |
| # requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing |
| # slash. Example: https://horizon.example.com (list value) |
| #allowed_origin = <None> |
| {%- if server.cors.allowed_origin is defined %} |
| allowed_origin = {{ server.cors.allowed_origin }} |
| {%- endif %} |
| |
| # Indicate that the actual request can include user credentials (boolean value) |
| #allow_credentials = true |
| {%- if server.cors.allow_credentials is defined %} |
| allow_credentials = {{ server.cors.allow_credentials }} |
| {%- endif %} |
| |
| # Indicate which headers are safe to expose to the API. Defaults to HTTP Simple |
| # Headers. (list value) |
| #expose_headers = X-Image-Meta-Checksum,X-Auth-Token,X-Subject-Token,X-Service-Token,X-OpenStack-Request-ID |
| {%- if server.cors.expose_headers is defined %} |
| expose_headers = {{ server.cors.expose_headers }} |
| {%- endif %} |
| |
| # Maximum cache age of CORS preflight requests. (integer value) |
| #max_age = 3600 |
| {%- if server.cors.max_age is defined %} |
| max_age = {{ server.cors.max_age }} |
| {%- endif %} |
| |
| # Indicate which methods can be used during the actual request. (list value) |
| #allow_methods = GET,PUT,POST,DELETE,PATCH |
| {%- if server.cors.allow_methods is defined %} |
| allow_methods = {{ server.cors.allow_methods }} |
| {%- endif %} |
| |
| # Indicate which header field names may be used during the actual request. (list |
| # value) |
| #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 |
| {%- if server.cors.allow_headers is defined %} |
| allow_headers = {{ server.cors.allow_headers }} |
| {%- endif %} |
| |
| |
| [cors.subdomain] |
| |
| # |
| # From oslo.middleware.cors |
| # |
| |
| # Indicate whether this resource may be shared with the domain received in the |
| # requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing |
| # slash. Example: https://horizon.example.com (list value) |
| #allowed_origin = <None> |
| |
| # Indicate that the actual request can include user credentials (boolean value) |
| #allow_credentials = true |
| |
| # Indicate which headers are safe to expose to the API. Defaults to HTTP Simple |
| # Headers. (list value) |
| #expose_headers = X-Image-Meta-Checksum,X-Auth-Token,X-Subject-Token,X-Service-Token,X-OpenStack-Request-ID |
| |
| # Maximum cache age of CORS preflight requests. (integer value) |
| #max_age = 3600 |
| |
| # Indicate which methods can be used during the actual request. (list value) |
| #allow_methods = GET,PUT,POST,DELETE,PATCH |
| |
| # Indicate which header field names may be used during the actual request. (list |
| # value) |
| #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 |
| |
| |
| [database] |
| |
| # |
| # From oslo.db |
| # |
| |
| # DEPRECATED: The file name to use with SQLite. (string value) |
| # Deprecated group/name - [DEFAULT]/sqlite_db |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Should use config option connection or slave_connection to connect the |
| # database. |
| #sqlite_db = oslo.sqlite |
| |
| # If True, SQLite uses synchronous mode. (boolean value) |
| # Deprecated group/name - [DEFAULT]/sqlite_synchronous |
| #sqlite_synchronous = true |
| |
| # The back end to use for the database. (string value) |
| # Deprecated group/name - [DEFAULT]/db_backend |
| #backend = sqlalchemy |
| backend = sqlalchemy |
| |
| # The SQLAlchemy connection string to use to connect to the database. (string |
| # value) |
| # Deprecated group/name - [DEFAULT]/sql_connection |
| # Deprecated group/name - [DATABASE]/sql_connection |
| # Deprecated group/name - [sql]/connection |
| #connection = <None> |
| connection = {{ server.database.engine }}+pymysql://{{ server.database.user }}:{{ server.database.password }}@{{ server.database.host }}/{{ server.database.name }}?charset=utf8{{ connection_x509_ssl_option|string }} |
| |
| # The SQLAlchemy connection string to use to connect to the slave database. |
| # (string value) |
| #slave_connection = <None> |
| |
| # The SQL mode to be used for MySQL sessions. This option, including the |
| # default, overrides any server-set SQL mode. To use whatever SQL mode is set by |
| # the server configuration, set this to no value. Example: mysql_sql_mode= |
| # (string value) |
| #mysql_sql_mode = TRADITIONAL |
| |
| # Timeout before idle SQL connections are reaped. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_idle_timeout |
| # Deprecated group/name - [DATABASE]/sql_idle_timeout |
| # Deprecated group/name - [sql]/idle_timeout |
| #idle_timeout = 3600 |
| idle_timeout = 3600 |
| |
| # Minimum number of SQL connections to keep open in a pool. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_min_pool_size |
| # Deprecated group/name - [DATABASE]/sql_min_pool_size |
| #min_pool_size = 1 |
| |
| # Maximum number of SQL connections to keep open in a pool. Setting a value of 0 |
| # indicates no limit. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_max_pool_size |
| # Deprecated group/name - [DATABASE]/sql_max_pool_size |
| #max_pool_size = 5 |
| |
| # Maximum number of database connection retries during startup. Set to -1 to |
| # specify an infinite retry count. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_max_retries |
| # Deprecated group/name - [DATABASE]/sql_max_retries |
| #max_retries = 10 |
| max_retries = -1 |
| |
| # Interval between retries of opening a SQL connection. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_retry_interval |
| # Deprecated group/name - [DATABASE]/reconnect_interval |
| #retry_interval = 10 |
| |
| # If set, use this value for max_overflow with SQLAlchemy. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_max_overflow |
| # Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow |
| #max_overflow = 50 |
| max_overflow = 30 |
| |
| # Verbosity of SQL debugging information: 0=None, 100=Everything. (integer |
| # value) |
| # Minimum value: 0 |
| # Maximum value: 100 |
| # Deprecated group/name - [DEFAULT]/sql_connection_debug |
| #connection_debug = 0 |
| |
| # Add Python stack traces to SQL as comment strings. (boolean value) |
| # Deprecated group/name - [DEFAULT]/sql_connection_trace |
| #connection_trace = false |
| |
| # If set, use this value for pool_timeout with SQLAlchemy. (integer value) |
| # Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout |
| #pool_timeout = <None> |
| |
| # Enable the experimental use of database reconnect on connection lost. (boolean |
| # value) |
| #use_db_reconnect = false |
| |
| # Seconds between retries of a database transaction. (integer value) |
| #db_retry_interval = 1 |
| |
| # If True, increases the interval between retries of a database operation up to |
| # db_max_retry_interval. (boolean value) |
| #db_inc_retry_interval = true |
| |
| # If db_inc_retry_interval is set, the maximum seconds between retries of a |
| # database operation. (integer value) |
| #db_max_retry_interval = 10 |
| |
| # Maximum retries in case of connection error or deadlock error before error is |
| # raised. Set to -1 to specify an infinite retry count. (integer value) |
| #db_max_retries = 20 |
| |
| # |
| # From oslo.db.concurrency |
| # |
| |
| # Enable the experimental use of thread pooling for all DB API calls (boolean |
| # value) |
| # Deprecated group/name - [DEFAULT]/dbapi_use_tpool |
| #use_tpool = false |
| |
| |
| [glance_store] |
| |
| # |
| # From glance.store |
| # |
| |
| # |
| # List of enabled Glance stores. |
| # |
| # Register the storage backends to use for storing disk images |
| # as a comma separated list. The default stores enabled for |
| # storing disk images with Glance are ``file`` and ``http``. |
| # |
| # Possible values: |
| # * A comma separated list that could include: |
| # * file |
| # * http |
| # * swift |
| # * rbd |
| # * sheepdog |
| # * cinder |
| # * vmware |
| # |
| # Related Options: |
| # * default_store |
| # |
| # (list value) |
| #stores = file,http |
| {%- if server.storage.default_store is defined %} |
| default_store = {{ server.storage.default_store }} |
| {%- else %} |
| default_store = {{ storage_engines[0] }} |
| {%- endif %} |
| {%- if storage_engines is defined %} |
| stores = {{ server.storage.engine }} |
| {%- endif %} |
| |
| # |
| # The default scheme to use for storing images. |
| # |
| # Provide a string value representing the default scheme to use for |
| # storing images. If not set, Glance uses ``file`` as the default |
| # scheme to store images with the ``file`` store. |
| # |
| # NOTE: The value given for this configuration option must be a valid |
| # scheme for a store registered with the ``stores`` configuration |
| # option. |
| # |
| # Possible values: |
| # * file |
| # * filesystem |
| # * http |
| # * https |
| # * swift |
| # * swift+http |
| # * swift+https |
| # * swift+config |
| # * rbd |
| # * sheepdog |
| # * cinder |
| # * vsphere |
| # |
| # Related Options: |
| # * stores |
| # |
| # (string value) |
| # Allowed values: file, filesystem, http, https, swift, swift+http, swift+https, swift+config, rbd, sheepdog, cinder, vsphere |
| #default_store = file |
| |
| # |
| # Minimum interval in seconds to execute updating dynamic storage |
| # capabilities based on current backend status. |
| # |
| # Provide an integer value representing time in seconds to set the |
| # minimum interval before an update of dynamic storage capabilities |
| # for a storage backend can be attempted. Setting |
| # ``store_capabilities_update_min_interval`` does not mean updates |
| # occur periodically based on the set interval. Rather, the update |
| # is performed at the elapse of this interval set, if an operation |
| # of the store is triggered. |
| # |
| # By default, this option is set to zero and is disabled. Provide an |
| # integer value greater than zero to enable this option. |
| # |
| # NOTE: For more information on store capabilities and their updates, |
| # please visit: https://specs.openstack.org/openstack/glance-specs/specs/kilo |
| # /store-capabilities.html |
| # |
| # For more information on setting up a particular store in your |
| # deplyment and help with the usage of this feature, please contact |
| # the storage driver maintainers listed here: |
| # http://docs.openstack.org/developer/glance_store/drivers/index.html |
| # |
| # Possible values: |
| # * Zero |
| # * Positive integer |
| # |
| # Related Options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 0 |
| #store_capabilities_update_min_interval = 0 |
| |
| # |
| # Information to match when looking for cinder in the service catalog. |
| # |
| # When the ``cinder_endpoint_template`` is not set and any of |
| # ``cinder_store_auth_address``, ``cinder_store_user_name``, |
| # ``cinder_store_project_name``, ``cinder_store_password`` is not set, |
| # cinder store uses this information to lookup cinder endpoint from the service |
| # catalog in the current context. ``cinder_os_region_name``, if set, is taken |
| # into consideration to fetch the appropriate endpoint. |
| # |
| # The service catalog can be listed by the ``openstack catalog list`` command. |
| # |
| # Possible values: |
| # * A string of of the following form: |
| # ``<service_type>:<service_name>:<endpoint_type>`` |
| # At least ``service_type`` and ``endpoint_type`` should be specified. |
| # ``service_name`` can be omitted. |
| # |
| # Related options: |
| # * cinder_os_region_name |
| # * cinder_endpoint_template |
| # * cinder_store_auth_address |
| # * cinder_store_user_name |
| # * cinder_store_project_name |
| # * cinder_store_password |
| # |
| # (string value) |
| #cinder_catalog_info = volumev2::publicURL |
| |
| |
| cinder_catalog_info = volumev2::{{ server.identity.get('endpoint_type', 'publicURL') }} |
| |
| # |
| # Override service catalog lookup with template for cinder endpoint. |
| # |
| # When this option is set, this value is used to generate cinder endpoint, |
| # instead of looking up from the service catalog. |
| # This value is ignored if ``cinder_store_auth_address``, |
| # ``cinder_store_user_name``, ``cinder_store_project_name``, and |
| # ``cinder_store_password`` are specified. |
| # |
| # If this configuration option is set, ``cinder_catalog_info`` will be ignored. |
| # |
| # Possible values: |
| # * URL template string for cinder endpoint, where ``%%(tenant)s`` is |
| # replaced with the current tenant (project) name. |
| # For example: ``http://cinder.openstack.example.org/v2/%%(tenant)s`` |
| # |
| # Related options: |
| # * cinder_store_auth_address |
| # * cinder_store_user_name |
| # * cinder_store_project_name |
| # * cinder_store_password |
| # * cinder_catalog_info |
| # |
| # (string value) |
| #cinder_endpoint_template = <None> |
| |
| # |
| # Region name to lookup cinder service from the service catalog. |
| # |
| # This is used only when ``cinder_catalog_info`` is used for determining the |
| # endpoint. If set, the lookup for cinder endpoint by this node is filtered to |
| # the specified region. It is useful when multiple regions are listed in the |
| # catalog. If this is not set, the endpoint is looked up from every region. |
| # |
| # Possible values: |
| # * A string that is a valid region name. |
| # |
| # Related options: |
| # * cinder_catalog_info |
| # |
| # (string value) |
| # Deprecated group/name - [glance_store]/os_region_name |
| #cinder_os_region_name = <None> |
| {% if server.identity.region is defined %} |
| cinder_os_region_name = {{ server.identity.region }} |
| {% endif %} |
| |
| # |
| # Location of a CA certificates file used for cinder client requests. |
| # |
| # The specified CA certificates file, if set, is used to verify cinder |
| # connections via HTTPS endpoint. If the endpoint is HTTP, this value is |
| # ignored. |
| # ``cinder_api_insecure`` must be set to ``True`` to enable the verification. |
| # |
| # Possible values: |
| # * Path to a ca certificates file |
| # |
| # Related options: |
| # * cinder_api_insecure |
| # |
| # (string value) |
| |
| {%- if 'cinder' in storage_engines and server.storage.cinder.get('protocol', 'http') == 'https' %} |
| cinder_ca_certificates_file = {{ server.storage.cinder.get('cacert_file', server.cacert_file) }} |
| {%- endif %} |
| |
| # |
| # Number of cinderclient retries on failed http calls. |
| # |
| # When a call failed by any errors, cinderclient will retry the call up to the |
| # specified times after sleeping a few seconds. |
| # |
| # Possible values: |
| # * A positive integer |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 0 |
| #cinder_http_retries = 3 |
| |
| # |
| # Time period, in seconds, to wait for a cinder volume transition to |
| # complete. |
| # |
| # When the cinder volume is created, deleted, or attached to the glance node to |
| # read/write the volume data, the volume's state is changed. For example, the |
| # newly created volume status changes from ``creating`` to ``available`` after |
| # the creation process is completed. This specifies the maximum time to wait for |
| # the status change. If a timeout occurs while waiting, or the status is changed |
| # to an unexpected value (e.g. `error``), the image creation fails. |
| # |
| # Possible values: |
| # * A positive integer |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 0 |
| #cinder_state_transition_timeout = 300 |
| |
| # |
| # Allow to perform insecure SSL requests to cinder. |
| # |
| # If this option is set to True, HTTPS endpoint connection is verified using the |
| # CA certificates file specified by ``cinder_ca_certificates_file`` option. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * cinder_ca_certificates_file |
| # |
| # (boolean value) |
| #cinder_api_insecure = false |
| |
| # |
| # The address where the cinder authentication service is listening. |
| # |
| # When all of ``cinder_store_auth_address``, ``cinder_store_user_name``, |
| # ``cinder_store_project_name``, and ``cinder_store_password`` options are |
| # specified, the specified values are always used for the authentication. |
| # This is useful to hide the image volumes from users by storing them in a |
| # project/tenant specific to the image service. It also enables users to share |
| # the image volume among other projects under the control of glance's ACL. |
| # |
| # If either of these options are not set, the cinder endpoint is looked up |
| # from the service catalog, and current context's user and project are used. |
| # |
| # Possible values: |
| # * A valid authentication service address, for example: |
| # ``http://openstack.example.org/identity/v2.0`` |
| # |
| # Related options: |
| # * cinder_store_user_name |
| # * cinder_store_password |
| # * cinder_store_project_name |
| # |
| # (string value) |
| #cinder_store_auth_address = <None> |
| |
| # |
| # User name to authenticate against cinder. |
| # |
| # This must be used with all the following related options. If any of these are |
| # not specified, the user of the current context is used. |
| # |
| # Possible values: |
| # * A valid user name |
| # |
| # Related options: |
| # * cinder_store_auth_address |
| # * cinder_store_password |
| # * cinder_store_project_name |
| # |
| # (string value) |
| #cinder_store_user_name = <None> |
| |
| # |
| # Password for the user authenticating against cinder. |
| # |
| # This must be used with all the following related options. If any of these are |
| # not specified, the user of the current context is used. |
| # |
| # Possible values: |
| # * A valid password for the user specified by ``cinder_store_user_name`` |
| # |
| # Related options: |
| # * cinder_store_auth_address |
| # * cinder_store_user_name |
| # * cinder_store_project_name |
| # |
| # (string value) |
| #cinder_store_password = <None> |
| |
| # |
| # Project name where the image volume is stored in cinder. |
| # |
| # If this configuration option is not set, the project in current context is |
| # used. |
| # |
| # This must be used with all the following related options. If any of these are |
| # not specified, the project of the current context is used. |
| # |
| # Possible values: |
| # * A valid project name |
| # |
| # Related options: |
| # * ``cinder_store_auth_address`` |
| # * ``cinder_store_user_name`` |
| # * ``cinder_store_password`` |
| # |
| # (string value) |
| #cinder_store_project_name = <None> |
| |
| # |
| # Path to the rootwrap configuration file to use for running commands as root. |
| # |
| # The cinder store requires root privileges to operate the image volumes (for |
| # connecting to iSCSI/FC volumes and reading/writing the volume data, etc.). |
| # The configuration file should allow the required commands by cinder store and |
| # os-brick library. |
| # |
| # Possible values: |
| # * Path to the rootwrap config file |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #rootwrap_config = /etc/glance/rootwrap.conf |
| |
| # |
| # Directory to which the filesystem backend store writes images. |
| # |
| # Upon start up, Glance creates the directory if it doesn't already |
| # exist and verifies write access to the user under which |
| # ``glance-api`` runs. If the write access isn't available, a |
| # ``BadStoreConfiguration`` exception is raised and the filesystem |
| # store may not be available for adding new images. |
| # |
| # NOTE: This directory is used only when filesystem store is used as a |
| # storage backend. Either ``filesystem_store_datadir`` or |
| # ``filesystem_store_datadirs`` option must be specified in |
| # ``glance-api.conf``. If both options are specified, a |
| # ``BadStoreConfiguration`` will be raised and the filesystem store |
| # may not be available for adding new images. |
| # |
| # Possible values: |
| # * A valid path to a directory |
| # |
| # Related options: |
| # * ``filesystem_store_datadirs`` |
| # * ``filesystem_store_file_perm`` |
| # |
| # (string value) |
| #filesystem_store_datadir = /var/lib/glance/images |
| filesystem_store_datadir = {{ server.get('filesystem_store_datadir', '/var/lib/glance/images/') }} |
| |
| # |
| # List of directories and their priorities to which the filesystem |
| # backend store writes images. |
| # |
| # The filesystem store can be configured to store images in multiple |
| # directories as opposed to using a single directory specified by the |
| # ``filesystem_store_datadir`` configuration option. When using |
| # multiple directories, each directory can be given an optional |
| # priority to specify the preference order in which they should |
| # be used. Priority is an integer that is concatenated to the |
| # directory path with a colon where a higher value indicates higher |
| # priority. When two directories have the same priority, the directory |
| # with most free space is used. When no priority is specified, it |
| # defaults to zero. |
| # |
| # More information on configuring filesystem store with multiple store |
| # directories can be found at |
| # http://docs.openstack.org/developer/glance/configuring.html |
| # |
| # NOTE: This directory is used only when filesystem store is used as a |
| # storage backend. Either ``filesystem_store_datadir`` or |
| # ``filesystem_store_datadirs`` option must be specified in |
| # ``glance-api.conf``. If both options are specified, a |
| # ``BadStoreConfiguration`` will be raised and the filesystem store |
| # may not be available for adding new images. |
| # |
| # Possible values: |
| # * List of strings of the following form: |
| # * ``<a valid directory path>:<optional integer priority>`` |
| # |
| # Related options: |
| # * ``filesystem_store_datadir`` |
| # * ``filesystem_store_file_perm`` |
| # |
| # (multi valued) |
| #filesystem_store_datadirs = |
| |
| # |
| # Filesystem store metadata file. |
| # |
| # The path to a file which contains the metadata to be returned with |
| # any location associated with the filesystem store. The file must |
| # contain a valid JSON object. The object should contain the keys |
| # ``id`` and ``mountpoint``. The value for both keys should be a |
| # string. |
| # |
| # Possible values: |
| # * A valid path to the store metadata file |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| {%- if server.filesystem_store_metadata_file is defined %} |
| filesystem_store_metadata_file = {{ server.get('filesystem_store_metadata_file', '/etc/glance/filesystem_store_metadata.json') }} |
| {%- endif %} |
| |
| # |
| # File access permissions for the image files. |
| # |
| # Set the intended file access permissions for image data. This provides |
| # a way to enable other services, e.g. Nova, to consume images directly |
| # from the filesystem store. The users running the services that are |
| # intended to be given access to could be made a member of the group |
| # that owns the files created. Assigning a value less then or equal to |
| # zero for this configuration option signifies that no changes be made |
| # to the default permissions. This value will be decoded as an octal |
| # digit. |
| # |
| # For more information, please refer the documentation at |
| # http://docs.openstack.org/developer/glance/configuring.html |
| # |
| # Possible values: |
| # * A valid file access permission |
| # * Zero |
| # * Any negative integer |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| #filesystem_store_file_perm = 0 |
| |
| # |
| # Path to the CA bundle file. |
| # |
| # This configuration option enables the operator to use a custom |
| # Certificate Authority file to verify the remote server certificate. If |
| # this option is set, the ``https_insecure`` option will be ignored and |
| # the CA file specified will be used to authenticate the server |
| # certificate and establish a secure connection to the server. |
| # |
| # Possible values: |
| # * A valid path to a CA file |
| # |
| # Related options: |
| # * https_insecure |
| # |
| # (string value) |
| #https_ca_certificates_file = <None> |
| |
| # |
| # Set verification of the remote server certificate. |
| # |
| # This configuration option takes in a boolean value to determine |
| # whether or not to verify the remote server certificate. If set to |
| # True, the remote server certificate is not verified. If the option is |
| # set to False, then the default CA truststore is used for verification. |
| # |
| # This option is ignored if ``https_ca_certificates_file`` is set. |
| # The remote server certificate will then be verified using the file |
| # specified using the ``https_ca_certificates_file`` option. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * https_ca_certificates_file |
| # |
| # (boolean value) |
| #https_insecure = true |
| |
| # |
| # The http/https proxy information to be used to connect to the remote |
| # server. |
| # |
| # This configuration option specifies the http/https proxy information |
| # that should be used to connect to the remote server. The proxy |
| # information should be a key value pair of the scheme and proxy, for |
| # example, http:10.0.0.1:3128. You can also specify proxies for multiple |
| # schemes by separating the key value pairs with a comma, for example, |
| # http:10.0.0.1:3128, https:10.0.0.1:1080. |
| # |
| # Possible values: |
| # * A comma separated list of scheme:proxy pairs as described above |
| # |
| # Related options: |
| # * None |
| # |
| # (dict value) |
| #http_proxy_information = |
| {%- if 'rbd' in storage_engines %} |
| |
| # |
| # Size, in megabytes, to chunk RADOS images into. |
| # |
| # Provide an integer value representing the size in megabytes to chunk |
| # Glance images into. The default chunk size is 8 megabytes. For optimal |
| # performance, the value should be a power of two. |
| # |
| # When Ceph's RBD object storage system is used as the storage backend |
| # for storing Glance images, the images are chunked into objects of the |
| # size set using this option. These chunked objects are then stored |
| # across the distributed block data store to use for Glance. |
| # |
| # Possible Values: |
| # * Any positive integer value |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 1 |
| #rbd_store_chunk_size = 8 |
| rbd_store_chunk_size = {{ server.storage.chunk_size }} |
| |
| # |
| # RADOS pool in which images are stored. |
| # |
| # When RBD is used as the storage backend for storing Glance images, the |
| # images are stored by means of logical grouping of the objects (chunks |
| # of images) into a ``pool``. Each pool is defined with the number of |
| # placement groups it can contain. The default pool that is used is |
| # 'images'. |
| # |
| # More information on the RBD storage backend can be found here: |
| # http://ceph.com/planet/how-data-is-stored-in-ceph-cluster/ |
| # |
| # Possible Values: |
| # * A valid pool name |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #rbd_store_pool = images |
| rbd_store_pool = {{ server.storage.pool }} |
| |
| # |
| # RADOS user to authenticate as. |
| # |
| # This configuration option takes in the RADOS user to authenticate as. |
| # This is only needed when RADOS authentication is enabled and is |
| # applicable only if the user is using Cephx authentication. If the |
| # value for this option is not set by the user or is set to None, a |
| # default value will be chosen, which will be based on the client. |
| # section in rbd_store_ceph_conf. |
| # |
| # Possible Values: |
| # * A valid RADOS user |
| # |
| # Related options: |
| # * rbd_store_ceph_conf |
| # |
| # (string value) |
| #rbd_store_user = <None> |
| rbd_store_user = {{ server.storage.user }} |
| |
| # |
| # Ceph configuration file path. |
| # |
| # This configuration option takes in the path to the Ceph configuration |
| # file to be used. If the value for this option is not set by the user |
| # or is set to None, librados will locate the default configuration file |
| # which is located at /etc/ceph/ceph.conf. If using Cephx |
| # authentication, this file should include a reference to the right |
| # keyring in a client.<USER> section |
| # |
| # Possible Values: |
| # * A valid path to a configuration file |
| # |
| # Related options: |
| # * rbd_store_user |
| # |
| # (string value) |
| #rbd_store_ceph_conf = /etc/ceph/ceph.conf |
| rbd_store_ceph_conf = /etc/ceph/ceph.conf |
| |
| # |
| # Timeout value for connecting to Ceph cluster. |
| # |
| # This configuration option takes in the timeout value in seconds used |
| # when connecting to the Ceph cluster i.e. it sets the time to wait for |
| # glance-api before closing the connection. This prevents glance-api |
| # hangups during the connection to RBD. If the value for this option |
| # is set to less than or equal to 0, no timeout is set and the default |
| # librados value is used. |
| # |
| # Possible Values: |
| # * Any integer value |
| # |
| # Related options: |
| # * None |
| # |
| # (integer value) |
| #rados_connect_timeout = 0 |
| {%- endif %} |
| |
| # |
| # Chunk size for images to be stored in Sheepdog data store. |
| # |
| # Provide an integer value representing the size in mebibyte |
| # (1048576 bytes) to chunk Glance images into. The default |
| # chunk size is 64 mebibytes. |
| # |
| # When using Sheepdog distributed storage system, the images are |
| # chunked into objects of this size and then stored across the |
| # distributed data store to use for Glance. |
| # |
| # Chunk sizes, if a power of two, help avoid fragmentation and |
| # enable improved performance. |
| # |
| # Possible values: |
| # * Positive integer value representing size in mebibytes. |
| # |
| # Related Options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 1 |
| #sheepdog_store_chunk_size = 64 |
| |
| # |
| # Port number on which the sheep daemon will listen. |
| # |
| # Provide an integer value representing a valid port number on |
| # which you want the Sheepdog daemon to listen on. The default |
| # port is 7000. |
| # |
| # The Sheepdog daemon, also called 'sheep', manages the storage |
| # in the distributed cluster by writing objects across the storage |
| # network. It identifies and acts on the messages it receives on |
| # the port number set using ``sheepdog_store_port`` option to store |
| # chunks of Glance images. |
| # |
| # Possible values: |
| # * A valid port number (0 to 65535) |
| # |
| # Related Options: |
| # * sheepdog_store_address |
| # |
| # (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #sheepdog_store_port = 7000 |
| |
| # |
| # Address to bind the Sheepdog daemon to. |
| # |
| # Provide a string value representing the address to bind the |
| # Sheepdog daemon to. The default address set for the 'sheep' |
| # is 127.0.0.1. |
| # |
| # The Sheepdog daemon, also called 'sheep', manages the storage |
| # in the distributed cluster by writing objects across the storage |
| # network. It identifies and acts on the messages directed to the |
| # address set using ``sheepdog_store_address`` option to store |
| # chunks of Glance images. |
| # |
| # Possible values: |
| # * A valid IPv4 address |
| # * A valid IPv6 address |
| # * A valid hostname |
| # |
| # Related Options: |
| # * sheepdog_store_port |
| # |
| # (string value) |
| #sheepdog_store_address = 127.0.0.1 |
| |
| # |
| # Set verification of the server certificate. |
| # |
| # This boolean determines whether or not to verify the server |
| # certificate. If this option is set to True, swiftclient won't check |
| # for a valid SSL certificate when authenticating. If the option is set |
| # to False, then the default CA truststore is used for verification. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * swift_store_cacert |
| # |
| # (boolean value) |
| {%- if 'swift' in storage_engines %} |
| #swift_store_auth_insecure = false |
| swift_store_auth_insecure = {{ server.storage.swift.store.get('auth', {}).get('insecure', False)|lower }} |
| |
| # |
| # Path to the CA bundle file. |
| # |
| # This configuration option enables the operator to specify the path to |
| # a custom Certificate Authority file for SSL verification when |
| # connecting to Swift. |
| # |
| # Possible values: |
| # * A valid path to a CA file |
| # |
| # Related options: |
| # * swift_store_auth_insecure |
| # |
| # (string value) |
| #swift_store_cacert = /etc/ssl/certs/ca-certificates.crt |
| {% if server.storage.swift.store.cacert is defined %} |
| swift_store_cacert = {{ server.storage.swift.store.cacert }} |
| {% endif %} |
| |
| # |
| # The region of Swift endpoint to use by Glance. |
| # |
| # Provide a string value representing a Swift region where Glance |
| # can connect to for image storage. By default, there is no region |
| # set. |
| # |
| # When Glance uses Swift as the storage backend to store images |
| # for a specific tenant that has multiple endpoints, setting of a |
| # Swift region with ``swift_store_region`` allows Glance to connect |
| # to Swift in the specified region as opposed to a single region |
| # connectivity. |
| # |
| # This option can be configured for both single-tenant and |
| # multi-tenant storage. |
| # |
| # NOTE: Setting the region with ``swift_store_region`` is |
| # tenant-specific and is necessary ``only if`` the tenant has |
| # multiple endpoints across different regions. |
| # |
| # Possible values: |
| # * A string value representing a valid Swift region. |
| # |
| # Related Options: |
| # * None |
| # |
| # (string value) |
| #swift_store_region = RegionTwo |
| {% if server.storage.swift.store.region is defined %} |
| swift_store_region = {{ server.storage.swift.store.region }} |
| {% endif %} |
| |
| # |
| # The URL endpoint to use for Swift backend storage. |
| # |
| # Provide a string value representing the URL endpoint to use for |
| # storing Glance images in Swift store. By default, an endpoint |
| # is not set and the storage URL returned by ``auth`` is used. |
| # Setting an endpoint with ``swift_store_endpoint`` overrides the |
| # storage URL and is used for Glance image storage. |
| # |
| # NOTE: The URL should include the path up to, but excluding the |
| # container. The location of an object is obtained by appending |
| # the container and object to the configured URL. |
| # |
| # Possible values: |
| # * String value representing a valid URL path up to a Swift container |
| # |
| # Related Options: |
| # * None |
| # |
| # (string value) |
| #swift_store_endpoint = https://swift.openstack.example.org/v1/path_not_including_container_name |
| {% if server.storage.swift.store.endpoint is defined %} |
| swift_store_endpoint = {{ server.storage.swift.store.endpoint }} |
| {% endif %} |
| |
| # |
| # Endpoint Type of Swift service. |
| # |
| # This string value indicates the endpoint type to use to fetch the |
| # Swift endpoint. The endpoint type determines the actions the user will |
| # be allowed to perform, for instance, reading and writing to the Store. |
| # This setting is only used if swift_store_auth_version is greater than |
| # 1. |
| # |
| # Possible values: |
| # * publicURL |
| # * adminURL |
| # * internalURL |
| # |
| # Related options: |
| # * swift_store_endpoint |
| # |
| # (string value) |
| # Allowed values: publicURL, adminURL, internalURL |
| #swift_store_endpoint_type = publicURL |
| swift_store_endpoint_type = {{ server.storage.swift.store.get('endpoint_type', server.identity.get('endpoint_type', 'publicURL')) }} |
| |
| # |
| # Type of Swift service to use. |
| # |
| # Provide a string value representing the service type to use for |
| # storing images while using Swift backend storage. The default |
| # service type is set to ``object-store``. |
| # |
| # NOTE: If ``swift_store_auth_version`` is set to 2, the value for |
| # this configuration option needs to be ``object-store``. If using |
| # a higher version of Keystone or a different auth scheme, this |
| # option may be modified. |
| # |
| # Possible values: |
| # * A string representing a valid service type for Swift storage. |
| # |
| # Related Options: |
| # * None |
| # |
| # (string value) |
| #swift_store_service_type = object-store |
| {% if server.storage.swift.store.service_type is defined %} |
| swift_store_service_type = {{ server.storage.swift.store.service_type }} |
| {% endif %} |
| |
| # |
| # Name of single container to store images/name prefix for multiple containers |
| # |
| # When a single container is being used to store images, this configuration |
| # option indicates the container within the Glance account to be used for |
| # storing all images. When multiple containers are used to store images, this |
| # will be the name prefix for all containers. Usage of single/multiple |
| # containers can be controlled using the configuration option |
| # ``swift_store_multiple_containers_seed``. |
| # |
| # When using multiple containers, the containers will be named after the value |
| # set for this configuration option with the first N chars of the image UUID |
| # as the suffix delimited by an underscore (where N is specified by |
| # ``swift_store_multiple_containers_seed``). |
| # |
| # Example: if the seed is set to 3 and swift_store_container = ``glance``, then |
| # an image with UUID ``fdae39a1-bac5-4238-aba4-69bcc726e848`` would be placed in |
| # the container ``glance_fda``. All dashes in the UUID are included when |
| # creating the container name but do not count toward the character limit, so |
| # when N=10 the container name would be ``glance_fdae39a1-ba.`` |
| # |
| # Possible values: |
| # * If using single container, this configuration option can be any string |
| # that is a valid swift container name in Glance's Swift account |
| # * If using multiple containers, this configuration option can be any |
| # string as long as it satisfies the container naming rules enforced by |
| # Swift. The value of ``swift_store_multiple_containers_seed`` should be |
| # taken into account as well. |
| # |
| # Related options: |
| # * ``swift_store_multiple_containers_seed`` |
| # * ``swift_store_multi_tenant`` |
| # * ``swift_store_create_container_on_put`` |
| # |
| # (string value) |
| #swift_store_container = glance |
| swift_store_container = {{ server.storage.swift.store.get('container', 'glance') }} |
| |
| # |
| # The size threshold, in MB, after which Glance will start segmenting image |
| # data. |
| # |
| # Swift has an upper limit on the size of a single uploaded object. By default, |
| # this is 5GB. To upload objects bigger than this limit, objects are segmented |
| # into multiple smaller objects that are tied together with a manifest file. |
| # For more detail, refer to |
| # http://docs.openstack.org/developer/swift/overview_large_objects.html |
| # |
| # This configuration option specifies the size threshold over which the Swift |
| # driver will start segmenting image data into multiple smaller files. |
| # Currently, the Swift driver only supports creating Dynamic Large Objects. |
| # |
| # NOTE: This should be set by taking into account the large object limit |
| # enforced by the Swift cluster in consideration. |
| # |
| # Possible values: |
| # * A positive integer that is less than or equal to the large object limit |
| # enforced by the Swift cluster in consideration. |
| # |
| # Related options: |
| # * ``swift_store_large_object_chunk_size`` |
| # |
| # (integer value) |
| # Minimum value: 1 |
| #swift_store_large_object_size = 5120 |
| {% if server.storage.swift.store.large_object_size is defined %} |
| swift_store_large_object_size = {{ server.storage.swift.store.large_object_size }} |
| {% endif %} |
| |
| # |
| # The maximum size, in MB, of the segments when image data is segmented. |
| # |
| # When image data is segmented to upload images that are larger than the limit |
| # enforced by the Swift cluster, image data is broken into segments that are no |
| # bigger than the size specified by this configuration option. |
| # Refer to ``swift_store_large_object_size`` for more detail. |
| # |
| # For example: if ``swift_store_large_object_size`` is 5GB and |
| # ``swift_store_large_object_chunk_size`` is 1GB, an image of size 6.2GB will be |
| # segmented into 7 segments where the first six segments will be 1GB in size and |
| # the seventh segment will be 0.2GB. |
| # |
| # Possible values: |
| # * A positive integer that is less than or equal to the large object limit |
| # enforced by Swift cluster in consideration. |
| # |
| # Related options: |
| # * ``swift_store_large_object_size`` |
| # |
| # (integer value) |
| # Minimum value: 1 |
| #swift_store_large_object_chunk_size = 200 |
| {% if server.storage.swift.store.large_object_chunk_size is defined %} |
| swift_store_large_object_chunk_size = {{ server.storage.swift.store.large_object_chunk_size }} |
| {% endif %} |
| |
| # |
| # Create container, if it doesn't already exist, when uploading image. |
| # |
| # At the time of uploading an image, if the corresponding container doesn't |
| # exist, it will be created provided this configuration option is set to True. |
| # By default, it won't be created. This behavior is applicable for both single |
| # and multiple containers mode. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * None |
| # |
| # (boolean value) |
| #swift_store_create_container_on_put = false |
| swift_store_create_container_on_put = {{ server.storage.swift.store.get('create_container_on_put', False)|lower }} |
| |
| # |
| # Store images in tenant's Swift account. |
| # |
| # This enables multi-tenant storage mode which causes Glance images to be stored |
| # in tenant specific Swift accounts. If this is disabled, Glance stores all |
| # images in its own account. More details multi-tenant store can be found at |
| # https://wiki.openstack.org/wiki/GlanceSwiftTenantSpecificStorage |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * None |
| # |
| # (boolean value) |
| #swift_store_multi_tenant = false |
| swift_store_multi_tenant = {{ server.storage.swift.store.get('multi_tenant', False)|lower }} |
| |
| # |
| # Seed indicating the number of containers to use for storing images. |
| # |
| # When using a single-tenant store, images can be stored in one or more than one |
| # containers. When set to 0, all images will be stored in one single container. |
| # When set to an integer value between 1 and 32, multiple containers will be |
| # used to store images. This configuration option will determine how many |
| # containers are created. The total number of containers that will be used is |
| # equal to 16^N, so if this config option is set to 2, then 16^2=256 containers |
| # will be used to store images. |
| # |
| # Please refer to ``swift_store_container`` for more detail on the naming |
| # convention. More detail about using multiple containers can be found at |
| # https://specs.openstack.org/openstack/glance-specs/specs/kilo/swift-store- |
| # multiple-containers.html |
| # |
| # NOTE: This is used only when swift_store_multi_tenant is disabled. |
| # |
| # Possible values: |
| # * A non-negative integer less than or equal to 32 |
| # |
| # Related options: |
| # * ``swift_store_container`` |
| # * ``swift_store_multi_tenant`` |
| # * ``swift_store_create_container_on_put`` |
| # |
| # (integer value) |
| # Minimum value: 0 |
| # Maximum value: 32 |
| #swift_store_multiple_containers_seed = 0 |
| swift_store_multiple_containers_seed = {{ server.storage.swift.store.get('multiple_containers_seed', 0) }} |
| |
| # |
| # List of tenants that will be granted admin access. |
| # |
| # This is a list of tenants that will be granted read/write access on |
| # all Swift containers created by Glance in multi-tenant mode. The |
| # default value is an empty list. |
| # |
| # Possible values: |
| # * A comma separated list of strings representing UUIDs of Keystone |
| # projects/tenants |
| # |
| # Related options: |
| # * None |
| # |
| # (list value) |
| #swift_store_admin_tenants = |
| {% if server.storage.swift.store.admin_tenants is defined %} |
| swift_store_admin_tenants = {{ server.storage.swift.store.admin_tenants }} |
| {% endif %} |
| |
| # |
| # SSL layer compression for HTTPS Swift requests. |
| # |
| # Provide a boolean value to determine whether or not to compress |
| # HTTPS Swift requests for images at the SSL layer. By default, |
| # compression is enabled. |
| # |
| # When using Swift as the backend store for Glance image storage, |
| # SSL layer compression of HTTPS Swift requests can be set using |
| # this option. If set to False, SSL layer compression of HTTPS |
| # Swift requests is disabled. Disabling this option may improve |
| # performance for images which are already in a compressed format, |
| # for example, qcow2. |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related Options: |
| # * None |
| # |
| # (boolean value) |
| #swift_store_ssl_compression = true |
| swift_store_ssl_compression = {{ server.storage.swift.store.get('ssl_compression', True)|lower }} |
| |
| # |
| # The number of times a Swift download will be retried before the |
| # request fails. |
| # |
| # Provide an integer value representing the number of times an image |
| # download must be retried before erroring out. The default value is |
| # zero (no retry on a failed image download). When set to a positive |
| # integer value, ``swift_store_retry_get_count`` ensures that the |
| # download is attempted this many more times upon a download failure |
| # before sending an error message. |
| # |
| # Possible values: |
| # * Zero |
| # * Positive integer value |
| # |
| # Related Options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 0 |
| #swift_store_retry_get_count = 0 |
| {% if server.storage.swift.store.retry_get_count is defined %} |
| swift_store_retry_get_count = {{ server.storage.swift.store.retry_get_count }} |
| {% endif %} |
| |
| # |
| # Time in seconds defining the size of the window in which a new |
| # token may be requested before the current token is due to expire. |
| # |
| # Typically, the Swift storage driver fetches a new token upon the |
| # expiration of the current token to ensure continued access to |
| # Swift. However, some Swift transactions (like uploading image |
| # segments) may not recover well if the token expires on the fly. |
| # |
| # Hence, by fetching a new token before the current token expiration, |
| # we make sure that the token does not expire or is close to expiry |
| # before a transaction is attempted. By default, the Swift storage |
| # driver requests for a new token 60 seconds or less before the |
| # current token expiration. |
| # |
| # Possible values: |
| # * Zero |
| # * Positive integer value |
| # |
| # Related Options: |
| # * None |
| # |
| # (integer value) |
| # Minimum value: 0 |
| #swift_store_expire_soon_interval = 60 |
| {% if server.storage.swift.store.expire_soon_interval is defined %} |
| swift_store_expire_soon_interval = {{ server.storage.swift.store.expire_soon_interval }} |
| {% endif %} |
| |
| # |
| # Use trusts for multi-tenant Swift store. |
| # |
| # This option instructs the Swift store to create a trust for each |
| # add/get request when the multi-tenant store is in use. Using trusts |
| # allows the Swift store to avoid problems that can be caused by an |
| # authentication token expiring during the upload or download of data. |
| # |
| # By default, ``swift_store_use_trusts`` is set to ``True``(use of |
| # trusts is enabled). If set to ``False``, a user token is used for |
| # the Swift connection instead, eliminating the overhead of trust |
| # creation. |
| # |
| # NOTE: This option is considered only when |
| # ``swift_store_multi_tenant`` is set to ``True`` |
| # |
| # Possible values: |
| # * True |
| # * False |
| # |
| # Related options: |
| # * swift_store_multi_tenant |
| # |
| # (boolean value) |
| #swift_store_use_trusts = true |
| {% if server.storage.swift.store.use_trusts is defined %} |
| swift_store_use_trusts = {{ server.storage.swift.store.use_trusts|lower }} |
| {% endif %} |
| |
| # |
| # Reference to default Swift account/backing store parameters. |
| # |
| # Provide a string value representing a reference to the default set |
| # of parameters required for using swift account/backing store for |
| # image storage. The default reference value for this configuration |
| # option is 'ref1'. This configuration option dereferences the |
| # parameters and facilitates image storage in Swift storage backend |
| # every time a new image is added. |
| # |
| # Possible values: |
| # * A valid string value |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #default_swift_reference = ref1 |
| {% if server.storage.swift.store.default_swift_reference is defined %} |
| default_swift_reference = {{ server.storage.swift.store.default_swift_reference }} |
| {% endif %} |
| |
| # DEPRECATED: Version of the authentication service to use. Valid versions are 2 |
| # and 3 for keystone and 1 (deprecated) for swauth and rackspace. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # The option 'auth_version' in the Swift back-end configuration file is |
| # used instead. |
| #swift_store_auth_version = 2 |
| {% if server.storage.swift.store.get('auth', {}).get('version', False) %} |
| swift_store_auth_version = {{ server.storage.swift.store.auth.version }} |
| {% endif %} |
| |
| # DEPRECATED: The address where the Swift authentication service is listening. |
| # (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # The option 'auth_address' in the Swift back-end configuration file is |
| # used instead. |
| #swift_store_auth_address = <None> |
| {% if server.storage.swift.store.get('auth', {}).get('address', False) %} |
| swift_store_auth_address = {{ server.storage.swift.store.auth.address }} |
| {% endif %} |
| |
| # DEPRECATED: The user to authenticate against the Swift authentication service. |
| # (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # The option 'user' in the Swift back-end configuration file is set instead. |
| #swift_store_user = <None> |
| {% if server.storage.swift.store.user is defined %} |
| swift_store_user = {{ server.storage.swift.store.user }} |
| {% endif %} |
| |
| # DEPRECATED: Auth key for the user authenticating against the Swift |
| # authentication service. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: |
| # The option 'key' in the Swift back-end configuration file is used |
| # to set the authentication key instead. |
| #swift_store_key = <None> |
| {% if server.storage.swift.store.key is defined %} |
| swift_store_key = {{ server.storage.swift.store.key }} |
| {% endif %} |
| |
| # |
| # Absolute path to the file containing the swift account(s) |
| # configurations. |
| # |
| # Include a string value representing the path to a configuration |
| # file that has references for each of the configured Swift |
| # account(s)/backing stores. By default, no file path is specified |
| # and customized Swift referencing is disabled. Configuring this |
| # option is highly recommended while using Swift storage backend for |
| # image storage as it avoids storage of credentials in the database. |
| # |
| # Possible values: |
| # * String value representing an absolute path on the glance-api |
| # node |
| # |
| # Related options: |
| # * None |
| # |
| # (string value) |
| #swift_store_config_file = <None> |
| {% if server.storage.swift.store.references is defined %} |
| swift_store_config_file = /etc/glance/swift-stores.conf |
| {% endif %} |
| |
| {% endif %} |
| |
| {%- if server.storage is defined and server.storage.get('vmware', {}).get('enabled')%} |
| {%- set _data = server.storage.vmware %} |
| {%- include "glance/files/pike/stores/_vmware.conf" %} |
| {%- endif %} |
| |
| [image_format] |
| |
| # |
| # From glance.api |
| # |
| |
| # Supported values for the 'container_format' image attribute (list value) |
| # Deprecated group/name - [DEFAULT]/container_formats |
| #container_formats = ami,ari,aki,bare,ovf,ova,docker |
| {%- if server.container_formats is defined %} |
| {%- set cformats = [] %} |
| {%- for cname, cobj in server.container_formats.iteritems() %} |
| {%- if cobj.get('enabled', False) %} |
| {%- do cformats.append(cname) %} |
| {%- endif %} |
| {%- endfor %} |
| container_formats = {{ cformats|join(',') }} |
| {% endif %} |
| |
| # Supported values for the 'disk_format' image attribute (list value) |
| # Deprecated group/name - [DEFAULT]/disk_formats |
| #disk_formats = ami,ari,aki,vhd,vhdx,vmdk,raw,qcow2,vdi,iso |
| {%- if server.disk_formats is defined %} |
| {%- set dformats = [] %} |
| {%- for dname, dobj in server.disk_formats.iteritems() %} |
| {%- if dobj.get('enabled', False) %} |
| {%- do dformats.append(dname) %} |
| {%- endif %} |
| {%- endfor %} |
| |
| disk_formats = {{ dformats|join(',') }} |
| {% endif %} |
| |
| |
| [keystone_authtoken] |
| revocation_cache_time = 10 |
| auth_type = password |
| user_domain_id = {{ server.identity.get('domain', 'default') }} |
| project_domain_id = {{ server.identity.get('domain', 'default') }} |
| project_name = {{ server.identity.tenant }} |
| username = {{ server.identity.user }} |
| password = {{ server.identity.password }} |
| auth_uri={{ server.identity.get('protocol', 'http') }}://{{ server.identity.host }}:5000 |
| auth_url={{ server.identity.get('protocol', 'http') }}://{{ server.identity.host }}:35357 |
| {%- if server.identity.get('protocol', 'http') == 'https' %} |
| cafile={{ server.identity.get('cacert_file', server.cacert_file) }} |
| {%- endif %} |
| |
| token_cache_time = -1 |
| |
| {%- if server.cache is defined %} |
| {%- if server.cache.members is defined %} |
| memcached_servers={%- for member in server.cache.members %}{{ member.host }}:11211{% if not loop.last %},{% endif %}{%- endfor %} |
| {%- endif %} |
| {%- if server.cache.get('security', {}).get('enabled', False) %} |
| memcache_security_strategy = {{ server.cache.security.get('strategy', 'ENCRYPT') }} |
| {%- if server.cache.security.secret_key is not defined or not server.cache.security.secret_key %} |
| {%- do salt.test.exception('server.cache.security.secret_key is not defined: Please add secret_key') %} |
| {%- else %} |
| memcache_secret_key = {{ server.cache.security.secret_key }} |
| {%- endif %} |
| {%- endif %} |
| {%- endif %} |
| {%- if server.identity.service_token_roles is defined %} |
| service_token_roles = {{ server.identity.service_token_roles }} |
| {%- endif %} |
| {%- if server.identity.service_token_roles_required is defined %} |
| service_token_roles_required = {{ server.identity.service_token_roles_required }} |
| {%- endif %} |
| # |
| # From keystonemiddleware.auth_token |
| # |
| |
| # Complete "public" Identity API endpoint. This endpoint should not be an |
| # "admin" endpoint, as it should be accessible by all end users. Unauthenticated |
| # clients are redirected to this endpoint to authenticate. Although this |
| # endpoint should ideally be unversioned, client support in the wild varies. |
| # If you're using a versioned v2 endpoint here, then this should *not* be the |
| # same endpoint the service user utilizes for validating tokens, because normal |
| # end users may not be able to reach that endpoint. (string value) |
| #auth_uri = <None> |
| |
| # API version of the admin Identity API endpoint. (string value) |
| #auth_version = <None> |
| |
| # Do not handle authorization requests within the middleware, but delegate the |
| # authorization decision to downstream WSGI components. (boolean value) |
| #delay_auth_decision = false |
| |
| # Request timeout value for communicating with Identity API server. (integer |
| # value) |
| #http_connect_timeout = <None> |
| |
| # How many times are we trying to reconnect when communicating with Identity API |
| # Server. (integer value) |
| #http_request_max_retries = 3 |
| |
| # Request environment key where the Swift cache object is stored. When |
| # auth_token middleware is deployed with a Swift cache, use this option to have |
| # the middleware share a caching backend with swift. Otherwise, use the |
| # ``memcached_servers`` option instead. (string value) |
| #cache = <None> |
| |
| # Required if identity server requires client certificate (string value) |
| #certfile = <None> |
| |
| # Required if identity server requires client certificate (string value) |
| #keyfile = <None> |
| |
| # A PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| # Defaults to system CAs. (string value) |
| #cafile = <None> |
| |
| # Verify HTTPS connections. (boolean value) |
| #insecure = false |
| |
| # The region in which the identity server can be found. (string value) |
| #region_name = <None> |
| |
| # Directory used to cache files related to PKI tokens. (string value) |
| #signing_dir = <None> |
| |
| # Optionally specify a list of memcached server(s) to use for caching. If left |
| # undefined, tokens will instead be cached in-process. (list value) |
| # Deprecated group/name - [keystone_authtoken]/memcache_servers |
| #memcached_servers = <None> |
| |
| # In order to prevent excessive effort spent validating tokens, the middleware |
| # caches previously-seen tokens for a configurable duration (in seconds). Set to |
| # -1 to disable caching completely. (integer value) |
| #token_cache_time = 300 |
| |
| # Determines the frequency at which the list of revoked tokens is retrieved from |
| # the Identity service (in seconds). A high number of revocation events combined |
| # with a low cache duration may significantly reduce performance. Only valid for |
| # PKI tokens. (integer value) |
| #revocation_cache_time = 10 |
| |
| # (Optional) If defined, indicate whether token data should be authenticated or |
| # authenticated and encrypted. If MAC, token data is authenticated (with HMAC) |
| # in the cache. If ENCRYPT, token data is encrypted and authenticated in the |
| # cache. If the value is not one of these options or empty, auth_token will |
| # raise an exception on initialization. (string value) |
| # Allowed values: None, MAC, ENCRYPT |
| #memcache_security_strategy = None |
| |
| # (Optional, mandatory if memcache_security_strategy is defined) This string is |
| # used for key derivation. (string value) |
| #memcache_secret_key = <None> |
| |
| # (Optional) Number of seconds memcached server is considered dead before it is |
| # tried again. (integer value) |
| #memcache_pool_dead_retry = 300 |
| |
| # (Optional) Maximum total number of open connections to every memcached server. |
| # (integer value) |
| #memcache_pool_maxsize = 10 |
| |
| # (Optional) Socket timeout in seconds for communicating with a memcached |
| # server. (integer value) |
| #memcache_pool_socket_timeout = 3 |
| |
| # (Optional) Number of seconds a connection to memcached is held unused in the |
| # pool before it is closed. (integer value) |
| #memcache_pool_unused_timeout = 60 |
| |
| # (Optional) Number of seconds that an operation will wait to get a memcached |
| # client connection from the pool. (integer value) |
| #memcache_pool_conn_get_timeout = 10 |
| |
| # (Optional) Use the advanced (eventlet safe) memcached client pool. The |
| # advanced pool will only work under python 2.x. (boolean value) |
| #memcache_use_advanced_pool = false |
| |
| # (Optional) Indicate whether to set the X-Service-Catalog header. If False, |
| # middleware will not ask for service catalog on token validation and will not |
| # set the X-Service-Catalog header. (boolean value) |
| #include_service_catalog = true |
| |
| # Used to control the use and type of token binding. Can be set to: "disabled" |
| # to not check token binding. "permissive" (default) to validate binding |
| # information if the bind type is of a form known to the server and ignore it if |
| # not. "strict" like "permissive" but if the bind type is unknown the token will |
| # be rejected. "required" any form of token binding is needed to be allowed. |
| # Finally the name of a binding method that must be present in tokens. (string |
| # value) |
| #enforce_token_bind = permissive |
| |
| # If true, the revocation list will be checked for cached tokens. This requires |
| # that PKI tokens are configured on the identity server. (boolean value) |
| #check_revocations_for_cached = false |
| |
| # Hash algorithms to use for hashing PKI tokens. This may be a single algorithm |
| # or multiple. The algorithms are those supported by Python standard |
| # hashlib.new(). The hashes will be tried in the order given, so put the |
| # preferred one first for performance. The result of the first hash will be |
| # stored in the cache. This will typically be set to multiple values only while |
| # migrating from a less secure algorithm to a more secure one. Once all the old |
| # tokens are expired this option should be set to a single value for better |
| # performance. (list value) |
| #hash_algorithms = md5 |
| |
| # Authentication type to load (string value) |
| # Deprecated group/name - [keystone_authtoken]/auth_plugin |
| #auth_type = <None> |
| |
| # Config Section from which to load plugin specific options (string value) |
| #auth_section = <None> |
| |
| |
| [matchmaker_redis] |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # DEPRECATED: Host to locate redis. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #host = 127.0.0.1 |
| |
| # DEPRECATED: Use this port to connect to redis host. (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #port = 6379 |
| |
| # DEPRECATED: Password for Redis server (optional). (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #password = |
| |
| # DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode) e.g. |
| # [host:port, host1:port ... ] (list value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #sentinel_hosts = |
| |
| # Redis replica set name. (string value) |
| #sentinel_group_name = oslo-messaging-zeromq |
| |
| # Time in ms to wait between connection attempts. (integer value) |
| #wait_timeout = 2000 |
| |
| # Time in ms to wait before the transaction is killed. (integer value) |
| #check_timeout = 20000 |
| |
| # Timeout in ms on blocking socket operations (integer value) |
| #socket_timeout = 10000 |
| |
| |
| [oslo_concurrency] |
| |
| # |
| # From oslo.concurrency |
| # |
| |
| # Enables or disables inter-process locks. (boolean value) |
| # Deprecated group/name - [DEFAULT]/disable_process_locking |
| #disable_process_locking = false |
| |
| # Directory to use for lock files. For security, the specified directory should |
| # only be writable by the user running the processes that need locking. Defaults |
| # to environment variable OSLO_LOCK_PATH. If external locks are used, a lock |
| # path must be set. (string value) |
| # Deprecated group/name - [DEFAULT]/lock_path |
| #lock_path = <None> |
| lock_path = {{ server.get('concurrency', {}).get('lock_path', '/var/lib/glance/tmp') }} |
| |
| |
| [oslo_messaging_amqp] |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # Name for the AMQP container. must be globally unique. Defaults to a generated |
| # UUID (string value) |
| # Deprecated group/name - [amqp1]/container_name |
| #container_name = <None> |
| |
| # Timeout for inactive connections (in seconds) (integer value) |
| # Deprecated group/name - [amqp1]/idle_timeout |
| #idle_timeout = 0 |
| |
| # Debug: dump AMQP frames to stdout (boolean value) |
| # Deprecated group/name - [amqp1]/trace |
| #trace = false |
| |
| # CA certificate PEM file to verify server certificate (string value) |
| # Deprecated group/name - [amqp1]/ssl_ca_file |
| #ssl_ca_file = |
| |
| # Identifying certificate PEM file to present to clients (string value) |
| # Deprecated group/name - [amqp1]/ssl_cert_file |
| #ssl_cert_file = |
| |
| # Private key PEM file used to sign cert_file certificate (string value) |
| # Deprecated group/name - [amqp1]/ssl_key_file |
| #ssl_key_file = |
| |
| # Password for decrypting ssl_key_file (if encrypted) (string value) |
| # Deprecated group/name - [amqp1]/ssl_key_password |
| #ssl_key_password = <None> |
| |
| # Accept clients using either SSL or plain TCP (boolean value) |
| # Deprecated group/name - [amqp1]/allow_insecure_clients |
| #allow_insecure_clients = false |
| |
| # Space separated list of acceptable SASL mechanisms (string value) |
| # Deprecated group/name - [amqp1]/sasl_mechanisms |
| #sasl_mechanisms = |
| |
| # Path to directory that contains the SASL configuration (string value) |
| # Deprecated group/name - [amqp1]/sasl_config_dir |
| #sasl_config_dir = |
| |
| # Name of configuration file (without .conf suffix) (string value) |
| # Deprecated group/name - [amqp1]/sasl_config_name |
| #sasl_config_name = |
| |
| # User name for message broker authentication (string value) |
| # Deprecated group/name - [amqp1]/username |
| #username = |
| |
| # Password for message broker authentication (string value) |
| # Deprecated group/name - [amqp1]/password |
| #password = |
| |
| # Seconds to pause before attempting to re-connect. (integer value) |
| # Minimum value: 1 |
| #connection_retry_interval = 1 |
| |
| # Increase the connection_retry_interval by this many seconds after each |
| # unsuccessful failover attempt. (integer value) |
| # Minimum value: 0 |
| #connection_retry_backoff = 2 |
| |
| # Maximum limit for connection_retry_interval + connection_retry_backoff |
| # (integer value) |
| # Minimum value: 1 |
| #connection_retry_interval_max = 30 |
| |
| # Time to pause between re-connecting an AMQP 1.0 link that failed due to a |
| # recoverable error. (integer value) |
| # Minimum value: 1 |
| #link_retry_delay = 10 |
| |
| # The deadline for an rpc reply message delivery. Only used when caller does not |
| # provide a timeout expiry. (integer value) |
| # Minimum value: 5 |
| #default_reply_timeout = 30 |
| |
| # The deadline for an rpc cast or call message delivery. Only used when caller |
| # does not provide a timeout expiry. (integer value) |
| # Minimum value: 5 |
| #default_send_timeout = 30 |
| |
| # The deadline for a sent notification message delivery. Only used when caller |
| # does not provide a timeout expiry. (integer value) |
| # Minimum value: 5 |
| #default_notify_timeout = 30 |
| |
| # Indicates the addressing mode used by the driver. |
| # Permitted values: |
| # 'legacy' - use legacy non-routable addressing |
| # 'routable' - use routable addresses |
| # 'dynamic' - use legacy addresses if the message bus does not support routing |
| # otherwise use routable addressing (string value) |
| #addressing_mode = dynamic |
| |
| # address prefix used when sending to a specific server (string value) |
| # Deprecated group/name - [amqp1]/server_request_prefix |
| #server_request_prefix = exclusive |
| |
| # address prefix used when broadcasting to all servers (string value) |
| # Deprecated group/name - [amqp1]/broadcast_prefix |
| #broadcast_prefix = broadcast |
| |
| # address prefix when sending to any server in group (string value) |
| # Deprecated group/name - [amqp1]/group_request_prefix |
| #group_request_prefix = unicast |
| |
| # Address prefix for all generated RPC addresses (string value) |
| #rpc_address_prefix = openstack.org/om/rpc |
| |
| # Address prefix for all generated Notification addresses (string value) |
| #notify_address_prefix = openstack.org/om/notify |
| |
| # Appended to the address prefix when sending a fanout message. Used by the |
| # message bus to identify fanout messages. (string value) |
| #multicast_address = multicast |
| |
| # Appended to the address prefix when sending to a particular RPC/Notification |
| # server. Used by the message bus to identify messages sent to a single |
| # destination. (string value) |
| #unicast_address = unicast |
| |
| # Appended to the address prefix when sending to a group of consumers. Used by |
| # the message bus to identify messages that should be delivered in a round-robin |
| # fashion across consumers. (string value) |
| #anycast_address = anycast |
| |
| # Exchange name used in notification addresses. |
| # Exchange name resolution precedence: |
| # Target.exchange if set |
| # else default_notification_exchange if set |
| # else control_exchange if set |
| # else 'notify' (string value) |
| #default_notification_exchange = <None> |
| default_notification_exchange = glance |
| |
| # Exchange name used in RPC addresses. |
| # Exchange name resolution precedence: |
| # Target.exchange if set |
| # else default_rpc_exchange if set |
| # else control_exchange if set |
| # else 'rpc' (string value) |
| #default_rpc_exchange = <None> |
| |
| # Window size for incoming RPC Reply messages. (integer value) |
| # Minimum value: 1 |
| #reply_link_credit = 200 |
| |
| # Window size for incoming RPC Request messages (integer value) |
| # Minimum value: 1 |
| #rpc_server_credit = 100 |
| |
| # Window size for incoming Notification messages (integer value) |
| # Minimum value: 1 |
| #notify_server_credit = 100 |
| |
| |
| [oslo_messaging_notifications] |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # The Drivers(s) to handle sending notifications. Possible values are messaging, |
| # messagingv2, routing, log, test, noop (multi valued) |
| # Deprecated group/name - [DEFAULT]/notification_driver |
| #driver = |
| {%- if server.notification is mapping %} |
| driver = {{ server.notification.get('driver', 'messagingv2') }} |
| {%- if server.notification.topics is defined %} |
| topics = {{ server.notification.topics }} |
| {%- endif %} |
| {%- elif server.notification %} |
| driver = messagingv2 |
| {%- endif %} |
| |
| # A URL representing the messaging driver to use for notifications. If not set, |
| # we fall back to the same configuration used for RPC. (string value) |
| # Deprecated group/name - [DEFAULT]/notification_transport_url |
| #transport_url = <None> |
| |
| # AMQP topic used for OpenStack notifications. (list value) |
| # Deprecated group/name - [rpc_notifier2]/topics |
| # Deprecated group/name - [DEFAULT]/notification_topics |
| #topics = notifications |
| |
| |
| [oslo_messaging_rabbit] |
| |
| # |
| # From oslo.messaging |
| # |
| |
| {%- if server.message_queue.get('ssl',{}).get('enabled', False) %} |
| rabbit_use_ssl=true |
| |
| {%- if server.message_queue.ssl.version is defined %} |
| kombu_ssl_version = {{ server.message_queue.ssl.version }} |
| {%- elif salt['grains.get']('pythonversion') > [2,7,8] %} |
| kombu_ssl_version = TLSv1_2 |
| {%- endif %} |
| |
| {%- if server.message_queue.get('x509',{}).get('enabled', False) %} |
| kombu_ssl_ca_certs = {{ server.message_queue.x509.ca_file }} |
| kombu_ssl_keyfile = {{ server.message_queue.x509.key_file }} |
| kombu_ssl_certfile = {{ server.message_queue.x509.cert_file }} |
| {%- else %} |
| kombu_ssl_ca_certs = {{ server.message_queue.ssl.get('cacert_file', server.cacert_file) }} |
| {%- endif %} |
| |
| {%- endif %} |
| |
| # Use durable queues in AMQP. (boolean value) |
| # Deprecated group/name - [DEFAULT]/amqp_durable_queues |
| # Deprecated group/name - [DEFAULT]/rabbit_durable_queues |
| #amqp_durable_queues = false |
| |
| # Auto-delete queues in AMQP. (boolean value) |
| # Deprecated group/name - [DEFAULT]/amqp_auto_delete |
| #amqp_auto_delete = false |
| |
| # SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and |
| # SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some |
| # distributions. (string value) |
| # Deprecated group/name - [DEFAULT]/kombu_ssl_version |
| #kombu_ssl_version = |
| |
| # SSL key file (valid only if SSL enabled). (string value) |
| # Deprecated group/name - [DEFAULT]/kombu_ssl_keyfile |
| #kombu_ssl_keyfile = |
| |
| # SSL cert file (valid only if SSL enabled). (string value) |
| # Deprecated group/name - [DEFAULT]/kombu_ssl_certfile |
| #kombu_ssl_certfile = |
| |
| # SSL certification authority file (valid only if SSL enabled). (string value) |
| # Deprecated group/name - [DEFAULT]/kombu_ssl_ca_certs |
| #kombu_ssl_ca_certs = |
| |
| # How long to wait before reconnecting in response to an AMQP consumer cancel |
| # notification. (floating point value) |
| # Deprecated group/name - [DEFAULT]/kombu_reconnect_delay |
| #kombu_reconnect_delay = 1.0 |
| |
| # EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not |
| # be used. This option may not be available in future versions. (string value) |
| #kombu_compression = <None> |
| |
| # How long to wait a missing client before abandoning to send it its replies. |
| # This value should not be longer than rpc_response_timeout. (integer value) |
| # Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout |
| #kombu_missing_consumer_retry_timeout = 60 |
| |
| # Determines how the next RabbitMQ node is chosen in case the one we are |
| # currently connected to becomes unavailable. Takes effect only if more than one |
| # RabbitMQ node is provided in config. (string value) |
| # Allowed values: round-robin, shuffle |
| #kombu_failover_strategy = round-robin |
| |
| # DEPRECATED: The RabbitMQ broker address where a single node is used. (string |
| # value) |
| # Deprecated group/name - [DEFAULT]/rabbit_host |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #rabbit_host = localhost |
| |
| # DEPRECATED: The RabbitMQ broker port where a single node is used. (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| # Deprecated group/name - [DEFAULT]/rabbit_port |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #rabbit_port = 5672 |
| |
| # DEPRECATED: RabbitMQ HA cluster host:port pairs. (list value) |
| # Deprecated group/name - [DEFAULT]/rabbit_hosts |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #rabbit_hosts = $rabbit_host:$rabbit_port |
| |
| # Connect over SSL for RabbitMQ. (boolean value) |
| # Deprecated group/name - [DEFAULT]/rabbit_use_ssl |
| #rabbit_use_ssl = false |
| |
| # DEPRECATED: The RabbitMQ userid. (string value) |
| # Deprecated group/name - [DEFAULT]/rabbit_userid |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #rabbit_userid = guest |
| |
| # DEPRECATED: The RabbitMQ password. (string value) |
| # Deprecated group/name - [DEFAULT]/rabbit_password |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #rabbit_password = guest |
| |
| # The RabbitMQ login method. (string value) |
| # Deprecated group/name - [DEFAULT]/rabbit_login_method |
| #rabbit_login_method = AMQPLAIN |
| |
| # DEPRECATED: The RabbitMQ virtual host. (string value) |
| # Deprecated group/name - [DEFAULT]/rabbit_virtual_host |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #rabbit_virtual_host = / |
| |
| # How frequently to retry connecting with RabbitMQ. (integer value) |
| #rabbit_retry_interval = 1 |
| |
| # How long to backoff for between retries when connecting to RabbitMQ. (integer |
| # value) |
| # Deprecated group/name - [DEFAULT]/rabbit_retry_backoff |
| #rabbit_retry_backoff = 2 |
| |
| # Maximum interval of RabbitMQ connection retries. Default is 30 seconds. |
| # (integer value) |
| #rabbit_interval_max = 30 |
| |
| # DEPRECATED: Maximum number of RabbitMQ connection retries. Default is 0 |
| # (infinite retry count). (integer value) |
| # Deprecated group/name - [DEFAULT]/rabbit_max_retries |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #rabbit_max_retries = 0 |
| |
| # Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this |
| # option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring |
| # is no longer controlled by the x-ha-policy argument when declaring a queue. If |
| # you just want to make sure that all queues (except those with auto-generated |
| # names) are mirrored across all nodes, run: "rabbitmqctl set_policy HA |
| # '^(?!amq\.).*' '{"ha-mode": "all"}' " (boolean value) |
| # Deprecated group/name - [DEFAULT]/rabbit_ha_queues |
| #rabbit_ha_queues = false |
| |
| # Positive integer representing duration in seconds for queue TTL (x-expires). |
| # Queues which are unused for the duration of the TTL are automatically deleted. |
| # The parameter affects only reply and fanout queues. (integer value) |
| # Minimum value: 1 |
| #rabbit_transient_queues_ttl = 1800 |
| |
| # Specifies the number of messages to prefetch. Setting to zero allows unlimited |
| # messages. (integer value) |
| #rabbit_qos_prefetch_count = 0 |
| |
| # Number of seconds after which the Rabbit broker is considered down if |
| # heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL (integer |
| # value) |
| #heartbeat_timeout_threshold = 60 |
| |
| # How often times during the heartbeat_timeout_threshold we check the heartbeat. |
| # (integer value) |
| #heartbeat_rate = 2 |
| |
| # Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake (boolean value) |
| # Deprecated group/name - [DEFAULT]/fake_rabbit |
| #fake_rabbit = false |
| |
| # Maximum number of channels to allow (integer value) |
| #channel_max = <None> |
| |
| # The maximum byte size for an AMQP frame (integer value) |
| #frame_max = <None> |
| |
| # How often to send heartbeats for consumer's connections (integer value) |
| #heartbeat_interval = 3 |
| |
| # Enable SSL (boolean value) |
| #ssl = <None> |
| |
| # Arguments passed to ssl.wrap_socket (dict value) |
| #ssl_options = <None> |
| |
| # Set socket timeout in seconds for connection's socket (floating point value) |
| #socket_timeout = 0.25 |
| |
| # Set TCP_USER_TIMEOUT in seconds for connection's socket (floating point value) |
| #tcp_user_timeout = 0.25 |
| |
| # Set delay for reconnection to some host which has connection error (floating |
| # point value) |
| #host_connection_reconnect_delay = 0.25 |
| |
| # Connection factory implementation (string value) |
| # Allowed values: new, single, read_write |
| #connection_factory = single |
| |
| # Maximum number of connections to keep queued. (integer value) |
| #pool_max_size = 30 |
| |
| # Maximum number of connections to create above `pool_max_size`. (integer value) |
| #pool_max_overflow = 0 |
| |
| # Default number of seconds to wait for a connections to available (integer |
| # value) |
| #pool_timeout = 30 |
| |
| # Lifetime of a connection (since creation) in seconds or None for no recycling. |
| # Expired connections are closed on acquire. (integer value) |
| #pool_recycle = 600 |
| |
| # Threshold at which inactive (since release) connections are considered stale |
| # in seconds or None for no staleness. Stale connections are closed on acquire. |
| # (integer value) |
| #pool_stale = 60 |
| |
| # Persist notification messages. (boolean value) |
| #notification_persistence = false |
| |
| # Exchange name for sending notifications (string value) |
| #default_notification_exchange = ${control_exchange}_notification |
| |
| # Max number of not acknowledged message which RabbitMQ can send to notification |
| # listener. (integer value) |
| #notification_listener_prefetch_count = 100 |
| |
| # Reconnecting retry count in case of connectivity problem during sending |
| # notification, -1 means infinite retry. (integer value) |
| #default_notification_retry_attempts = -1 |
| |
| # Reconnecting retry delay in case of connectivity problem during sending |
| # notification message (floating point value) |
| #notification_retry_delay = 0.25 |
| |
| # Time to live for rpc queues without consumers in seconds. (integer value) |
| #rpc_queue_expiration = 60 |
| |
| # Exchange name for sending RPC messages (string value) |
| #default_rpc_exchange = ${control_exchange}_rpc |
| |
| # Exchange name for receiving RPC replies (string value) |
| #rpc_reply_exchange = ${control_exchange}_rpc_reply |
| |
| # Max number of not acknowledged message which RabbitMQ can send to rpc |
| # listener. (integer value) |
| #rpc_listener_prefetch_count = 100 |
| |
| # Max number of not acknowledged message which RabbitMQ can send to rpc reply |
| # listener. (integer value) |
| #rpc_reply_listener_prefetch_count = 100 |
| |
| # Reconnecting retry count in case of connectivity problem during sending reply. |
| # -1 means infinite retry during rpc_timeout (integer value) |
| #rpc_reply_retry_attempts = -1 |
| |
| # Reconnecting retry delay in case of connectivity problem during sending reply. |
| # (floating point value) |
| #rpc_reply_retry_delay = 0.25 |
| |
| # Reconnecting retry count in case of connectivity problem during sending RPC |
| # message, -1 means infinite retry. If actual retry attempts in not 0 the rpc |
| # request could be processed more then one time (integer value) |
| #default_rpc_retry_attempts = -1 |
| |
| # Reconnecting retry delay in case of connectivity problem during sending RPC |
| # message (floating point value) |
| #rpc_retry_delay = 0.25 |
| |
| |
| [oslo_messaging_zmq] |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. |
| # The "host" option should point or resolve to this address. (string value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_bind_address |
| #rpc_zmq_bind_address = * |
| |
| # MatchMaker driver. (string value) |
| # Allowed values: redis, dummy |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_matchmaker |
| #rpc_zmq_matchmaker = redis |
| |
| # Number of ZeroMQ contexts, defaults to 1. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_contexts |
| #rpc_zmq_contexts = 1 |
| |
| # Maximum number of ingress messages to locally buffer per topic. Default is |
| # unlimited. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_topic_backlog |
| #rpc_zmq_topic_backlog = <None> |
| |
| # Directory for holding IPC sockets. (string value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_ipc_dir |
| #rpc_zmq_ipc_dir = /var/run/openstack |
| |
| # Name of this node. Must be a valid hostname, FQDN, or IP address. Must match |
| # "host" option, if running Nova. (string value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_host |
| #rpc_zmq_host = localhost |
| |
| # Seconds to wait before a cast expires (TTL). The default value of -1 specifies |
| # an infinite linger period. The value of 0 specifies no linger period. Pending |
| # messages shall be discarded immediately when the socket is closed. Only |
| # supported by impl_zmq. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_cast_timeout |
| #rpc_cast_timeout = -1 |
| |
| # The default number of seconds that poll should wait. Poll raises timeout |
| # exception when timeout expired. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_poll_timeout |
| #rpc_poll_timeout = 1 |
| |
| # Expiration timeout in seconds of a name service record about existing target ( |
| # < 0 means no timeout). (integer value) |
| # Deprecated group/name - [DEFAULT]/zmq_target_expire |
| #zmq_target_expire = 300 |
| |
| # Update period in seconds of a name service record about existing target. |
| # (integer value) |
| # Deprecated group/name - [DEFAULT]/zmq_target_update |
| #zmq_target_update = 180 |
| |
| # Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean |
| # value) |
| # Deprecated group/name - [DEFAULT]/use_pub_sub |
| #use_pub_sub = true |
| |
| # Use ROUTER remote proxy. (boolean value) |
| # Deprecated group/name - [DEFAULT]/use_router_proxy |
| #use_router_proxy = true |
| |
| # Minimal port number for random ports range. (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_min_port |
| #rpc_zmq_min_port = 49153 |
| |
| # Maximal port number for random ports range. (integer value) |
| # Minimum value: 1 |
| # Maximum value: 65536 |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_max_port |
| #rpc_zmq_max_port = 65536 |
| |
| # Number of retries to find free port number before fail with ZMQBindError. |
| # (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_bind_port_retries |
| #rpc_zmq_bind_port_retries = 100 |
| |
| # Default serialization mechanism for serializing/deserializing |
| # outgoing/incoming messages (string value) |
| # Allowed values: json, msgpack |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_serialization |
| #rpc_zmq_serialization = json |
| |
| # This option configures round-robin mode in zmq socket. True means not keeping |
| # a queue when server side disconnects. False means to keep queue and messages |
| # even if server is disconnected, when the server appears we send all |
| # accumulated messages to it. (boolean value) |
| #zmq_immediate = false |
| |
| |
| [oslo_middleware] |
| |
| # |
| # From oslo.middleware.http_proxy_to_wsgi |
| # |
| |
| # Whether the application is behind a proxy or not. This determines if the |
| # middleware should parse the headers or not. (boolean value) |
| enable_proxy_headers_parsing = {{ server.get('enable_proxy_headers_parsing', true) }} |
| |
| |
| [oslo_policy] |
| |
| # |
| # From oslo.policy |
| # |
| |
| # The JSON file that defines policies. (string value) |
| # Deprecated group/name - [DEFAULT]/policy_file |
| #policy_file = policy.json |
| policy_file = /etc/glance/policy.json |
| |
| # Default rule. Enforced when a requested rule is not found. (string value) |
| # Deprecated group/name - [DEFAULT]/policy_default_rule |
| #policy_default_rule = default |
| |
| # Directories where policy configuration files are stored. They can be relative |
| # to any directory in the search path defined by the config_dir option, or |
| # absolute paths. The file defined by policy_file must exist for these |
| # directories to be searched. Missing or empty directories are ignored. (multi |
| # valued) |
| # Deprecated group/name - [DEFAULT]/policy_dirs |
| #policy_dirs = policy.d |
| |
| |
| [paste_deploy] |
| |
| # |
| # From glance.api |
| # |
| |
| # |
| # Deployment flavor to use in the server application pipeline. |
| # |
| # Provide a string value representing the appropriate deployment |
| # flavor used in the server application pipleline. This is typically |
| # the partial name of a pipeline in the paste configuration file with |
| # the service name removed. |
| # |
| # For example, if your paste section name in the paste configuration |
| # file is [pipeline:glance-api-keystone], set ``flavor`` to |
| # ``keystone``. |
| # |
| # Possible values: |
| # * String value representing a partial pipeline name. |
| # |
| # Related Options: |
| # * config_file |
| # |
| # (string value) |
| #flavor = keystone |
| {% if server.get('image_cache', {}).get('enabled', False) %} |
| {% if server.image_cache.get('enable_management', False) %} |
| flavor=keystone+cachemanagement |
| {% else %} |
| flavor=keystone+caching |
| {% endif %} |
| {% else %} |
| flavor=keystone |
| {% endif %} |
| |
| # |
| # Name of the paste configuration file. |
| # |
| # Provide a string value representing the name of the paste |
| # configuration file to use for configuring piplelines for |
| # server application deployments. |
| # |
| # NOTES: |
| # * Provide the name or the path relative to the glance directory |
| # for the paste configuration file and not the absolute path. |
| # * The sample paste configuration file shipped with Glance need |
| # not be edited in most cases as it comes with ready-made |
| # pipelines for all common deployment flavors. |
| # |
| # If no value is specified for this option, the ``paste.ini`` file |
| # with the prefix of the corresponding Glance service's configuration |
| # file name will be searched for in the known configuration |
| # directories. (For example, if this option is missing from or has no |
| # value set in ``glance-api.conf``, the service will look for a file |
| # named ``glance-api-paste.ini``.) If the paste configuration file is |
| # not found, the service will not start. |
| # |
| # Possible values: |
| # * A string value representing the name of the paste configuration |
| # file. |
| # |
| # Related Options: |
| # * flavor |
| # |
| # (string value) |
| #config_file = glance-api-paste.ini |
| |
| |
| [profiler] |
| |
| # |
| # From glance.api |
| # |
| |
| # |
| # Enables the profiling for all services on this node. Default value is False |
| # (fully disable the profiling feature). |
| # |
| # Possible values: |
| # |
| # * True: Enables the feature |
| # * False: Disables the feature. The profiling cannot be started via this |
| # project |
| # operations. If the profiling is triggered by another project, this project |
| # part |
| # will be empty. |
| # (boolean value) |
| # Deprecated group/name - [profiler]/profiler_enabled |
| #enabled = false |
| |
| # |
| # Enables SQL requests profiling in services. Default value is False (SQL |
| # requests won't be traced). |
| # |
| # Possible values: |
| # |
| # * True: Enables SQL requests profiling. Each SQL query will be part of the |
| # trace and can the be analyzed by how much time was spent for that. |
| # * False: Disables SQL requests profiling. The spent time is only shown on a |
| # higher level of operations. Single SQL queries cannot be analyzed this |
| # way. |
| # (boolean value) |
| #trace_sqlalchemy = false |
| |
| # |
| # Secret key(s) to use for encrypting context data for performance profiling. |
| # This string value should have the following format: <key1>[,<key2>,...<keyn>], |
| # where each key is some random string. A user who triggers the profiling via |
| # the REST API has to set one of these keys in the headers of the REST API call |
| # to include profiling results of this node for this particular project. |
| # |
| # Both "enabled" flag and "hmac_keys" config options should be set to enable |
| # profiling. Also, to generate correct profiling information across all services |
| # at least one key needs to be consistent between OpenStack projects. This |
| # ensures it can be used from client side to generate the trace, containing |
| # information from all possible resources. (string value) |
| #hmac_keys = SECRET_KEY |
| |
| # |
| # Connection string for a notifier backend. Default value is messaging:// which |
| # sets the notifier to oslo_messaging. |
| # |
| # Examples of possible values: |
| # |
| # * messaging://: use oslo_messaging driver for sending notifications. |
| # (string value) |
| #connection_string = messaging:// |
| |
| |
| [store_type_location_strategy] |
| |
| # |
| # From glance.api |
| # |
| |
| # |
| # Preference order of storage backends. |
| # |
| # Provide a comma separated list of store names in the order in |
| # which images should be retrieved from storage backends. |
| # These store names must be registered with the ``stores`` |
| # configuration option. |
| # |
| # NOTE: The ``store_type_preference`` configuration option is applied |
| # only if ``store_type`` is chosen as a value for the |
| # ``location_strategy`` configuration option. An empty list will not |
| # change the location order. |
| # |
| # Possible values: |
| # * Empty list |
| # * Comma separated list of registered store names. Legal values are: |
| # * file |
| # * http |
| # * rbd |
| # * swift |
| # * sheepdog |
| # * cinder |
| # * vmware |
| # |
| # Related options: |
| # * location_strategy |
| # * stores |
| # |
| # (list value) |
| #store_type_preference = |
| {% if server.get('location_strategy', 'location_order') == 'store_type' and server.store_type_preference is defined %} |
| store_type_preference = {{ server.store_type_preference }} |
| {% endif %} |
| |
| |
| [task] |
| |
| # |
| # From glance.api |
| # |
| |
| # Time in hours for which a task lives after, either succeeding or failing |
| # (integer value) |
| # Deprecated group/name - [DEFAULT]/task_time_to_live |
| #task_time_to_live = 48 |
| |
| # |
| # Task executor to be used to run task scripts. |
| # |
| # Provide a string value representing the executor to use for task |
| # executions. By default, ``TaskFlow`` executor is used. |
| # |
| # ``TaskFlow`` helps make task executions easy, consistent, scalable |
| # and reliable. It also enables creation of lightweight task objects |
| # and/or functions that are combined together into flows in a |
| # declarative manner. |
| # |
| # Possible values: |
| # * taskflow |
| # |
| # Related Options: |
| # * None |
| # |
| # (string value) |
| #task_executor = taskflow |
| |
| # |
| # Absolute path to the work directory to use for asynchronous |
| # task operations. |
| # |
| # The directory set here will be used to operate over images - |
| # normally before they are imported in the destination store. |
| # |
| # NOTE: When providing a value for ``work_dir``, please make sure |
| # that enough space is provided for concurrent tasks to run |
| # efficiently without running out of space. |
| # |
| # A rough estimation can be done by multiplying the number of |
| # ``max_workers`` with an average image size (e.g 500MB). The image |
| # size estimation should be done based on the average size in your |
| # deployment. Note that depending on the tasks running you may need |
| # to multiply this number by some factor depending on what the task |
| # does. For example, you may want to double the available size if |
| # image conversion is enabled. All this being said, remember these |
| # are just estimations and you should do them based on the worst |
| # case scenario and be prepared to act in case they were wrong. |
| # |
| # Possible values: |
| # * String value representing the absolute path to the working |
| # directory |
| # |
| # Related Options: |
| # * None |
| # |
| # (string value) |
| #work_dir = /work_dir |
| |
| |
| [taskflow_executor] |
| |
| # |
| # From glance.api |
| # |
| |
| # |
| # Set the taskflow engine mode. |
| # |
| # Provide a string type value to set the mode in which the taskflow |
| # engine would schedule tasks to the workers on the hosts. Based on |
| # this mode, the engine executes tasks either in single or multiple |
| # threads. The possible values for this configuration option are: |
| # ``serial`` and ``parallel``. When set to ``serial``, the engine runs |
| # all the tasks in a single thread which results in serial execution |
| # of tasks. Setting this to ``parallel`` makes the engine run tasks in |
| # multiple threads. This results in parallel execution of tasks. |
| # |
| # Possible values: |
| # * serial |
| # * parallel |
| # |
| # Related options: |
| # * max_workers |
| # |
| # (string value) |
| # Allowed values: serial, parallel |
| #engine_mode = parallel |
| |
| # |
| # Set the number of engine executable tasks. |
| # |
| # Provide an integer value to limit the number of workers that can be |
| # instantiated on the hosts. In other words, this number defines the |
| # number of parallel tasks that can be executed at the same time by |
| # the taskflow engine. This value can be greater than one when the |
| # engine mode is set to parallel. |
| # |
| # Possible values: |
| # * Integer value greater than or equal to 1 |
| # |
| # Related options: |
| # * engine_mode |
| # |
| # (integer value) |
| # Minimum value: 1 |
| # Deprecated group/name - [task]/eventlet_executor_pool_size |
| #max_workers = 10 |
| |
| # |
| # Set the desired image conversion format. |
| # |
| # Provide a valid image format to which you want images to be |
| # converted before they are stored for consumption by Glance. |
| # Appropriate image format conversions are desirable for specific |
| # storage backends in order to facilitate efficient handling of |
| # bandwidth and usage of the storage infrastructure. |
| # |
| # By default, ``conversion_format`` is not set and must be set |
| # explicitly in the configuration file. |
| # |
| # The allowed values for this option are ``raw``, ``qcow2`` and |
| # ``vmdk``. The ``raw`` format is the unstructured disk format and |
| # should be chosen when RBD or Ceph storage backends are used for |
| # image storage. ``qcow2`` is supported by the QEMU emulator that |
| # expands dynamically and supports Copy on Write. The ``vmdk`` is |
| # another common disk format supported by many common virtual machine |
| # monitors like VMWare Workstation. |
| # |
| # Possible values: |
| # * qcow2 |
| # * raw |
| # * vmdk |
| # |
| # Related options: |
| # * disk_formats |
| # |
| # (string value) |
| # Allowed values: qcow2, raw, vmdk |
| #conversion_format = raw |
| {%- if server.get('barbican', {}).get('enabled', False) %} |
| [barbican] |
| auth_endpoint = {{ server.identity.get('protocol', 'http') }}://{{ server.identity.get('host', 'localhost') }}:{{ server.identity.get('port', '5000') }}/v3 |
| {%- endif %} |
| |
| {%- if server.get('configmap', {}).glance_api is defined %} |
| {%- set _data = server.configmap.glance_api %} |
| {%- include "oslo_templates/files/configmap/configmap.conf" %} |
| {%- endif %} |