Configure back ends

Configure back ends

The Image service supports several back ends for storing virtual machine images:

  • Block Storage service (cinder)
  • A directory on a local file system
  • HTTP
  • Ceph RBD
  • Sheepdog
  • Object Storage service (swift)
  • VMware ESX

Note

You must use only raw image formats with the Ceph RBD back end.

The following tables detail the options available for each.

Description of cinder configuration options
Configuration option = Default value Description
[glance_store]  
cinder_api_insecure = False

(Boolean) 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
cinder_ca_certificates_file = None

(String) 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
cinder_catalog_info = volumev2::publicURL

(String) 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>:<interface> At least service_type and interface 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
cinder_endpoint_template = None

(String) 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
cinder_http_retries = 3

(Integer) 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
cinder_os_region_name = None

(String) 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
cinder_state_transition_timeout = 300

(Integer) 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
cinder_store_auth_address = None

(String) 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
cinder_store_password = None

(String) 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
cinder_store_project_name = None

(String) 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
cinder_store_user_name = None

(String) 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
cinder_volume_type = None

(String) Volume type that will be used for volume creation in cinder.

Some cinder backends can have several volume types to optimize storage usage. Adding this option allows an operator to choose a specific volume type in cinder that can be optimized for images.

If this is not set, then the default volume type specified in the cinder configuration will be used for volume creation.

Possible values:

  • A valid volume type from cinder

Related options:

  • None
Description of filesystem configuration options
Configuration option = Default value Description
[glance_store]  
filesystem_store_datadir = /var/lib/glance/images

(String) 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
filesystem_store_datadirs = None

(Multi-valued) 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
filesystem_store_file_perm = 0

(Integer) 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
filesystem_store_metadata_file = None

(String) 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
Description of HTTP configuration options
Configuration option = Default value Description
[glance_store]  
http_proxy_information = {}

(Dict) 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
https_ca_certificates_file = None

(String) 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
https_insecure = True

(Boolean) 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
Description of RADOS Block Devices (RBD) configuration options
Configuration option = Default value Description
[glance_store]  
rados_connect_timeout = 0

(Integer) 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
rbd_store_ceph_conf = /etc/ceph/ceph.conf

(String) 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
rbd_store_chunk_size = 8

(Integer) 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
rbd_store_pool = images

(String) 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
rbd_store_user = None

(String) 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
Description of Sheepdog configuration options
Configuration option = Default value Description
[glance_store]  
sheepdog_store_address = 127.0.0.1

(String) 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
sheepdog_store_chunk_size = 64

(Integer) 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
sheepdog_store_port = 7000

(Port number) 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
Description of swift configuration options
Configuration option = Default value Description
[DEFAULT]  
default_swift_reference = ref1

(String) 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
swift_store_auth_address = None (String) The address where the Swift authentication service is listening.
swift_store_config_file = None

(String) 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 diabled. Configuring this option is highly recommended while using Swift storage backend for image storage as it helps avoid storage of credentials in the database.

Possible values:

  • None
  • String value representing a vaid configuration file path

Related options:

  • None
swift_store_key = None (String) Auth key for the user authenticating against the Swift authentication service.
swift_store_user = None (String) The user to authenticate against the Swift authentication service.
[glance_store]  
default_swift_reference = ref1

(String) 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
swift_store_admin_tenants =

(List) 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
swift_store_auth_address = None (String) DEPRECATED: The address where the Swift authentication service is listening. The option ‘auth_address’ in the Swift back-end configuration file is used instead.
swift_store_auth_insecure = False

(Boolean) 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
swift_store_auth_version = 2 (String) DEPRECATED: Version of the authentication service to use. Valid versions are 2 and 3 for keystone and 1 (deprecated) for swauth and rackspace. The option ‘auth_version’ in the Swift back-end configuration file is used instead.
swift_store_cacert = /etc/ssl/certs/ca-certificates.crt

(String) 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
swift_store_config_file = None

(String) 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.

NOTE: Please do not configure this option if you have set swift_store_multi_tenant to True.

Possible values:

  • String value representing an absolute path on the glance-api node

Related options:

  • swift_store_multi_tenant
swift_store_container = glance

(String) 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
swift_store_create_container_on_put = False

(Boolean) 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
swift_store_endpoint = https://swift.openstack.example.org/v1/path_not_including_container_name

(String) 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
swift_store_endpoint_type = publicURL

(String) 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
swift_store_expire_soon_interval = 60

(Integer) 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
swift_store_key = None (String) DEPRECATED: Auth key for the user authenticating against the Swift authentication service. The option ‘key’ in the Swift back-end configuration file is used to set the authentication key instead.
swift_store_large_object_chunk_size = 200

(Integer) 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
swift_store_large_object_size = 5120

(Integer) 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
swift_store_multi_tenant = False

(Boolean) 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

NOTE: If using multi-tenant swift store, please make sure that you do not set a swift configuration file with the ‘swift_store_config_file’ option.

Possible values:

  • True
  • False

Related options:

  • swift_store_config_file
swift_store_multiple_containers_seed = 0

(Integer) 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
swift_store_region = RegionTwo

(String) 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
swift_store_retry_get_count = 0

(Integer) 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
swift_store_service_type = object-store

(String) 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
swift_store_ssl_compression = True

(Boolean) 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
swift_store_use_trusts = True

(Boolean) 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
swift_store_user = None (String) DEPRECATED: The user to authenticate against the Swift authentication service. The option ‘user’ in the Swift back-end configuration file is set instead.

Configure vCenter data stores for the Image service back end

To use vCenter data stores for the Image service back end, you must update the glance-api.conf file, as follows:

  • Add data store parameters to the VMware Datastore Store Options section.

  • Specify vSphere as the back end.

    Note

    You must configure any configured Image service data stores for the Compute service.

You can specify vCenter data stores directly by using the data store name or Storage Policy Based Management (SPBM), which requires vCenter Server 5.5 or later. For details, see Configure vCenter data stores for the back end.

Note

If you intend to use multiple data stores for the back end, use the SPBM feature.

In the glance_store section, set the stores and default_store options to vsphere, as shown in this code sample:

[glance_store]
# List of stores enabled. Valid stores are: cinder, file, http, rbd,
# sheepdog, swift, vsphere (list value)
stores = file,http,vsphere
# Which back end scheme should Glance use by default is not specified
# in a request to add a new image to Glance? Known schemes are determined
# by the known_stores option below.
# Default: 'file'
default_store = vsphere

The following table describes the parameters in the VMware Datastore Store Options section:

Description of VMware configuration options
Configuration option = Default value Description
[glance_store]  
vmware_api_retry_count = 10

(Integer) The number of VMware API retries.

This configuration option specifies the number of times the VMware ESX/VC server API must be retried upon connection related issues or server API call overload. It is not possible to specify ‘retry forever’.

Possible Values:

  • Any positive integer value

Related options:

  • None
vmware_ca_file = /etc/ssl/certs/ca-certificates.crt

(String) Absolute path to the CA bundle file.

This configuration option enables the operator to use a custom Cerificate Authority File to verify the ESX/vCenter certificate.

If this option is set, the “vmware_insecure” option will be ignored and the CA file specified will be used to authenticate the ESX/vCenter server certificate and establish a secure connection to the server.

Possible Values:

  • Any string that is a valid absolute path to a CA file

Related options:

  • vmware_insecure
vmware_datastores = None

(Multi-valued) The datastores where the image can be stored.

This configuration option specifies the datastores where the image can be stored in the VMWare store backend. This option may be specified multiple times for specifying multiple datastores. The datastore name should be specified after its datacenter path, separated by ”:”. An optional weight may be given after the datastore name, separated again by ”:” to specify the priority. Thus, the required format becomes <datacenter_path>:<datastore_name>:<optional_weight>.

When adding an image, the datastore with highest weight will be selected, unless there is not enough free space available in cases where the image size is already known. If no weight is given, it is assumed to be zero and the directory will be considered for selection last. If multiple datastores have the same weight, then the one with the most free space available is selected.

Possible Values:

  • Any string of the format: <datacenter_path>:<datastore_name>:<optional_weight>

Related options:

  • None
vmware_insecure = False

(Boolean) Set verification of the ESX/vCenter server certificate.

This configuration option takes a boolean value to determine whether or not to verify the ESX/vCenter server certificate. If this option is set to True, the ESX/vCenter server certificate is not verified. If this option is set to False, then the default CA truststore is used for verification.

This option is ignored if the “vmware_ca_file” option is set. In that case, the ESX/vCenter server certificate will then be verified using the file specified using the “vmware_ca_file” option .

Possible Values:

  • True
  • False

Related options:

  • vmware_ca_file
vmware_server_host = 127.0.0.1

(String) Address of the ESX/ESXi or vCenter Server target system.

This configuration option sets the address of the ESX/ESXi or vCenter Server target system. This option is required when using the VMware storage backend. The address can contain an IP address (127.0.0.1) or a DNS name (www.my-domain.com).

Possible Values:

  • A valid IPv4 or IPv6 address
  • A valid DNS name

Related options:

  • vmware_server_username
  • vmware_server_password
vmware_server_password = vmware

(String) Server password.

This configuration option takes the password for authenticating with the VMware ESX/ESXi or vCenter Server. This option is required when using the VMware storage backend.

Possible Values:

  • Any string that is a password corresponding to the username specified using the “vmware_server_username” option

Related options:

  • vmware_server_host
  • vmware_server_username
vmware_server_username = root

(String) Server username.

This configuration option takes the username for authenticating with the VMware ESX/ESXi or vCenter Server. This option is required when using the VMware storage backend.

Possible Values:

  • Any string that is the username for a user with appropriate privileges

Related options:

  • vmware_server_host
  • vmware_server_password
vmware_store_image_dir = /openstack_glance

(String) The directory where the glance images will be stored in the datastore.

This configuration option specifies the path to the directory where the glance images will be stored in the VMware datastore. If this option is not set, the default directory where the glance images are stored is openstack_glance.

Possible Values:

  • Any string that is a valid path to a directory

Related options:

  • None
vmware_task_poll_interval = 5

(Integer) Interval in seconds used for polling remote tasks invoked on VMware ESX/VC server.

This configuration option takes in the sleep time in seconds for polling an on-going async task as part of the VMWare ESX/VC server API call.

Possible Values:

  • Any positive integer value

Related options:

  • None

The following block of text shows a sample configuration:

# ============ VMware Datastore Store Options =====================
# ESX/ESXi or vCenter Server target system.
# The server value can be an IP address or a DNS name
# e.g. 127.0.0.1, 127.0.0.1:443, www.vmware-infra.com
vmware_server_host = 192.168.0.10

# Server username (string value)
vmware_server_username = ADMINISTRATOR

# Server password (string value)
vmware_server_password = password

# Inventory path to a datacenter (string value)
# Value optional when vmware_server_ip is an ESX/ESXi host: if specified
# should be `ha-datacenter`.
vmware_datacenter_path = DATACENTER

# Datastore associated with the datacenter (string value)
vmware_datastore_name = datastore1

# PBM service WSDL file location URL. e.g.
# file:///opt/SDK/spbm/wsdl/pbmService.wsdl Not setting this
# will disable storage policy based placement of images.
# (string value)
#vmware_pbm_wsdl_location =

# The PBM policy. If `pbm_wsdl_location` is set, a PBM policy needs
# to be specified. This policy will be used to select the datastore
# in which the images will be stored.
#vmware_pbm_policy =

# The interval used for polling remote tasks
# invoked on VMware ESX/VC server in seconds (integer value)
vmware_task_poll_interval = 5

# Absolute path of the folder containing the images in the datastore
# (string value)
vmware_store_image_dir = /openstack_glance

# Allow to perform insecure SSL requests to the target system (boolean value)
vmware_api_insecure = False

Configure vCenter data stores for the back end

You can specify a vCenter data store for the back end by setting the vmware_datastore_name parameter value to the vCenter name of the data store. This configuration limits the back end to a single data store.

If present, comment or delete the vmware_pbm_wsdl_location and vmware_pbm_policy parameters.

Uncomment and define the vmware_datastore_name parameter with the name of the vCenter data store.

Complete the other vCenter configuration parameters as appropriate.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.