---
title: Charmhub | Deploy Glance using Charmhub - The Open Operator Collection
description: Deploy the latest version of Glance on any cloud.
url: https://charmhub.io/glance/configurations
---

# Glance

[OpenStack Charmers](https://charmhub.io/publisher/openstack-charmers "View all packages from OpenStack Charmers")

* [OpenStack Charmers](https://charmhub.io/publisher/openstack-charmers "View all packages from OpenStack Charmers")
* [Cloud](https://charmhub.io/?filter=cloud)
* [Storage](https://charmhub.io/?filter=storage)

Platform:

24.04

23.10

23.04

22.10

22.04

20.04

18.04

14.04

12.04

yoga/stable 718

```
juju deploy glance --channel yoga/stable
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

* [action-managed-upgrade](https://charmhub.io/glance/configurations#action-managed-upgrade)
* [api-config-flags](https://charmhub.io/glance/configurations#api-config-flags)
* [audit-middleware](https://charmhub.io/glance/configurations#audit-middleware)
* [bluestore-compression-algorithm](https://charmhub.io/glance/configurations#bluestore-compression-algorithm)
* [bluestore-compression-max-blob-size](https://charmhub.io/glance/configurations#bluestore-compression-max-blob-size)
* [bluestore-compression-max-blob-size-hdd](https://charmhub.io/glance/configurations#bluestore-compression-max-blob-size-hdd)
* [bluestore-compression-max-blob-size-ssd](https://charmhub.io/glance/configurations#bluestore-compression-max-blob-size-ssd)
* [bluestore-compression-min-blob-size](https://charmhub.io/glance/configurations#bluestore-compression-min-blob-size)
* [bluestore-compression-min-blob-size-hdd](https://charmhub.io/glance/configurations#bluestore-compression-min-blob-size-hdd)
* [bluestore-compression-min-blob-size-ssd](https://charmhub.io/glance/configurations#bluestore-compression-min-blob-size-ssd)
* [bluestore-compression-mode](https://charmhub.io/glance/configurations#bluestore-compression-mode)
* [bluestore-compression-required-ratio](https://charmhub.io/glance/configurations#bluestore-compression-required-ratio)
* [ceph-osd-replication-count](https://charmhub.io/glance/configurations#ceph-osd-replication-count)
* [ceph-pool-weight](https://charmhub.io/glance/configurations#ceph-pool-weight)
* [cinder-http-retries](https://charmhub.io/glance/configurations#cinder-http-retries)
* [cinder-state-transition-timeout](https://charmhub.io/glance/configurations#cinder-state-transition-timeout)
* [cinder-volume-types](https://charmhub.io/glance/configurations#cinder-volume-types)
* [container-formats](https://charmhub.io/glance/configurations#container-formats)
* [custom-import-properties](https://charmhub.io/glance/configurations#custom-import-properties)
* [database](https://charmhub.io/glance/configurations#database)
* [database-user](https://charmhub.io/glance/configurations#database-user)
* [debug](https://charmhub.io/glance/configurations#debug)
* [disk-formats](https://charmhub.io/glance/configurations#disk-formats)
* [dns-ha](https://charmhub.io/glance/configurations#dns-ha)
* [ec-profile-crush-locality](https://charmhub.io/glance/configurations#ec-profile-crush-locality)
* [ec-profile-device-class](https://charmhub.io/glance/configurations#ec-profile-device-class)
* [ec-profile-durability-estimator](https://charmhub.io/glance/configurations#ec-profile-durability-estimator)
* [ec-profile-helper-chunks](https://charmhub.io/glance/configurations#ec-profile-helper-chunks)
* [ec-profile-k](https://charmhub.io/glance/configurations#ec-profile-k)
* [ec-profile-locality](https://charmhub.io/glance/configurations#ec-profile-locality)
* [ec-profile-m](https://charmhub.io/glance/configurations#ec-profile-m)
* [ec-profile-name](https://charmhub.io/glance/configurations#ec-profile-name)
* [ec-profile-plugin](https://charmhub.io/glance/configurations#ec-profile-plugin)
* [ec-profile-scalar-mds](https://charmhub.io/glance/configurations#ec-profile-scalar-mds)
* [ec-profile-technique](https://charmhub.io/glance/configurations#ec-profile-technique)
* [ec-rbd-metadata-pool](https://charmhub.io/glance/configurations#ec-rbd-metadata-pool)
* [expose-image-locations](https://charmhub.io/glance/configurations#expose-image-locations)
* [filesystem-store-datadir](https://charmhub.io/glance/configurations#filesystem-store-datadir)
* [ha-bindiface](https://charmhub.io/glance/configurations#ha-bindiface)
* [ha-mcastport](https://charmhub.io/glance/configurations#ha-mcastport)
* [haproxy-client-timeout](https://charmhub.io/glance/configurations#haproxy-client-timeout)
* [haproxy-connect-timeout](https://charmhub.io/glance/configurations#haproxy-connect-timeout)
* [haproxy-queue-timeout](https://charmhub.io/glance/configurations#haproxy-queue-timeout)
* [haproxy-server-timeout](https://charmhub.io/glance/configurations#haproxy-server-timeout)
* [harden](https://charmhub.io/glance/configurations#harden)
* [image-conversion](https://charmhub.io/glance/configurations#image-conversion)
* [image-size-cap](https://charmhub.io/glance/configurations#image-size-cap)
* [nagios\_context](https://charmhub.io/glance/configurations#nagios_context)
* [nagios\_servicegroups](https://charmhub.io/glance/configurations#nagios_servicegroups)
* [openstack-origin](https://charmhub.io/glance/configurations#openstack-origin)
* [os-admin-hostname](https://charmhub.io/glance/configurations#os-admin-hostname)
* [os-admin-network](https://charmhub.io/glance/configurations#os-admin-network)
* [os-internal-hostname](https://charmhub.io/glance/configurations#os-internal-hostname)
* [os-internal-network](https://charmhub.io/glance/configurations#os-internal-network)
* [os-public-hostname](https://charmhub.io/glance/configurations#os-public-hostname)
* [os-public-network](https://charmhub.io/glance/configurations#os-public-network)
* [pool-type](https://charmhub.io/glance/configurations#pool-type)
* [prefer-ipv6](https://charmhub.io/glance/configurations#prefer-ipv6)
* [rabbit-user](https://charmhub.io/glance/configurations#rabbit-user)
* [rabbit-vhost](https://charmhub.io/glance/configurations#rabbit-vhost)
* [rados-connect-timeout](https://charmhub.io/glance/configurations#rados-connect-timeout)
* [rbd-pool-name](https://charmhub.io/glance/configurations#rbd-pool-name)
* [region](https://charmhub.io/glance/configurations#region)
* [registry-config-flags](https://charmhub.io/glance/configurations#registry-config-flags)
* [restrict-ceph-pools](https://charmhub.io/glance/configurations#restrict-ceph-pools)
* [restrict-image-location-operations](https://charmhub.io/glance/configurations#restrict-image-location-operations)
* [s3-store-access-key](https://charmhub.io/glance/configurations#s3-store-access-key)
* [s3-store-bucket](https://charmhub.io/glance/configurations#s3-store-bucket)
* [s3-store-host](https://charmhub.io/glance/configurations#s3-store-host)
* [s3-store-secret-key](https://charmhub.io/glance/configurations#s3-store-secret-key)
* [ssl\_ca](https://charmhub.io/glance/configurations#ssl_ca)
* [ssl\_cert](https://charmhub.io/glance/configurations#ssl_cert)
* [ssl\_key](https://charmhub.io/glance/configurations#ssl_key)
* [use-internal-endpoints](https://charmhub.io/glance/configurations#use-internal-endpoints)
* [use-policyd-override](https://charmhub.io/glance/configurations#use-policyd-override)
* [use-syslog](https://charmhub.io/glance/configurations#use-syslog)
* [verbose](https://charmhub.io/glance/configurations#verbose)
* [vip](https://charmhub.io/glance/configurations#vip)
* [vip\_cidr](https://charmhub.io/glance/configurations#vip_cidr)
* [vip\_iface](https://charmhub.io/glance/configurations#vip_iface)
* [worker-multiplier](https://charmhub.io/glance/configurations#worker-multiplier)

[Learn about configurations >](https://juju.is/docs/juju/configuration#heading--application-configuration)

* action-managed-upgrade | boolean

  If True enables openstack upgrades for this charm via juju actions.
  You will still need to set openstack-origin to the new repository but
  instead of an upgrade running automatically across all units, it will
  wait for you to execute the openstack-upgrade action for this charm on
  each unit. If False it will revert to existing behavior of upgrading
  all units on config change.
* api-config-flags | string

  Comma-separated list of key=value pairs to be added to glance-api.conf
  where 'value' may itself be a comma-separated list of values to be
  assigned to the 'key'.
* audit-middleware | boolean

  Enable Keystone auditing middleware for logging API calls.
* bluestore-compression-algorithm | string

  Compressor to use (if any) for pools requested by this charm.
  .
  NOTE: The ceph-osd charm sets a global default for this value (defaults
  to 'lz4' unless configured by the end user) which will be used unless
  specified for individual pools.
* bluestore-compression-max-blob-size | int

  Chunks larger than this are broken into smaller blobs sizing bluestore
  compression max blob size before being compressed on pools requested by
  this charm.
* bluestore-compression-max-blob-size-hdd | int

  Value of bluestore compression max blob size for rotational media on
  pools requested by this charm.
* bluestore-compression-max-blob-size-ssd | int

  Value of bluestore compression max blob size for solid state media on
  pools requested by this charm.
* bluestore-compression-min-blob-size | int

  Chunks smaller than this are never compressed on pools requested by
  this charm.
* bluestore-compression-min-blob-size-hdd | int

  Value of bluestore compression min blob size for rotational media on
  pools requested by this charm.
* bluestore-compression-min-blob-size-ssd | int

  Value of bluestore compression min blob size for solid state media on
  pools requested by this charm.
* bluestore-compression-mode | string

  Policy for using compression on pools requested by this charm.
  .
  'none' means never use compression.
  'passive' means use compression when clients hint that data is
  compressible.
  'aggressive' means use compression unless clients hint that
  data is not compressible.
  'force' means use compression under all circumstances even if the clients
  hint that the data is not compressible.
* bluestore-compression-required-ratio | float

  The ratio of the size of the data chunk after compression relative to the
  original size must be at least this small in order to store the
  compressed version on pools requested by this charm.
* ceph-osd-replication-count | int

  Default: 3

  This value dictates the number of replicas ceph must make of any
  object it stores within the images rbd pool. Of course, this only
  applies if using Ceph as a backend store. Note that once the images
  rbd pool has been created, changing this value will not have any
  effect (although it can be changed in ceph by manually configuring
  your ceph cluster).
* ceph-pool-weight | int

  Default: 5

  Defines a relative weighting of the pool as a percentage of the total
  amount of data in the Ceph cluster. This effectively weights the number
  of placement groups for the pool created to be appropriately portioned
  to the amount of data expected. For example, if the compute images
  for the OpenStack compute instances are expected to take up 20% of the
  overall configuration then this value would be specified as 20. Note -
  it is important to choose an appropriate value for the pool weight as
  this directly affects the number of placement groups which will be
  created for the pool. The number of placement groups for a pool can
  only be increased, never decreased - so it is important to identify the
  percent of data that will likely reside in the pool.
* cinder-http-retries | int

  Default: 3

  Number of cinderclient retries on failed http calls.
* cinder-state-transition-timeout | int

  Default: 30

  Time period of time in seconds to wait for a cinder volume transition
  to complete.
* cinder-volume-types | string

  Comma separated list of cinder volume\_types that can be configured
  as cinder storage backends. The first one in the list will be
  configured as the default backend.
* container-formats | string

  Comma separated list of container formats that Glance will support.
* custom-import-properties | string

  Set custom image properties when images are imported using the
  interoperable image import process. Properties and their value are
  delimited by commas, and values with colons and spaces are possible.
  The properties specified here will be added to the glance-api
  configuration file without being validated.
  Example: 'prop1:val1,prop2:val-2,prop3:val:with:colons'
* database | string

  Default: glance

  Glance database name.
* database-user | string

  Default: glance

  Database username
* debug | boolean

  Enable debug logging.
* disk-formats | string

  Default: ami,ari,aki,vhd,vmdk,raw,qcow2,vdi,iso,root-tar

  Comma separated list of disk formats that Glance will support.
* dns-ha | boolean

  Use DNS HA with MAAS 2.0. Note if this is set do not set vip
  settings below.
* ec-profile-crush-locality | string

  (lrc plugin) The type of the crush bucket in which each set of chunks
  defined by l will be stored. For instance, if it is set to rack, each
  group of l chunks will be placed in a different rack. It is used to
  create a CRUSH rule step such as step choose rack. If it is not set,
  no such grouping is done.
* ec-profile-device-class | string

  Device class from CRUSH map to use for placement groups for
  erasure profile - valid values: ssd, hdd or nvme (or leave
  unset to not use a device class).
* ec-profile-durability-estimator | int

  (shec plugin - c) The number of parity chunks each of which includes
  each data chunk in its calculation range. The number is used as a
  durability estimator. For instance, if c=2, 2 OSDs can be down
  without losing data.
* ec-profile-helper-chunks | int

  (clay plugin - d) Number of OSDs requested to send data during
  recovery of a single chunk. d needs to be chosen such that
  k+1 <= d <= k+m-1. Larger the d, the better the savings.
* ec-profile-k | int

  Default: 1

  Number of data chunks that will be used for EC data pool. K+M factors
  should never be greater than the number of available zones (or hosts)
  for balancing.
* ec-profile-locality | int

  (lrc plugin - l) Group the coding and data chunks into sets of size l.
  For instance, for k=4 and m=2, when l=3 two groups of three are created.
  Each set can be recovered without reading chunks from another set. Note
  that using the lrc plugin does incur more raw storage usage than isa or
  jerasure in order to reduce the cost of recovery operations.
* ec-profile-m | int

  Default: 2

  Number of coding chunks that will be used for EC data pool. K+M factors
  should never be greater than the number of available zones (or hosts)
  for balancing.
* ec-profile-name | string

  Name for the EC profile to be created for the EC pools. If not defined
  a profile name will be generated based on the name of the pool used by
  the application.
* ec-profile-plugin | string

  Default: jerasure

  EC plugin to use for this applications pool. The following list of
  plugins acceptable - jerasure, lrc, isa, shec, clay.
* ec-profile-scalar-mds | string

  (clay plugin) specifies the plugin that is used as a building
  block in the layered construction. It can be one of jerasure,
  isa, shec (defaults to jerasure).
* ec-profile-technique | string

  EC profile technique used for this applications pool - will be
  validated based on the plugin configured via ec-profile-plugin.
  Supported techniques are ‘reed\_sol\_van’, ‘reed\_sol\_r6\_op’,
  ‘cauchy\_orig’, ‘cauchy\_good’, ‘liber8tion’ for jerasure,
  ‘reed\_sol\_van’, ‘cauchy’ for isa and ‘single’, ‘multiple’
  for shec.
* ec-rbd-metadata-pool | string

  Name of the metadata pool to be created (for RBD use-cases). If not
  defined a metadata pool name will be generated based on the name of
  the data pool used by the application. The metadata pool is always
  replicated, not erasure coded.
* expose-image-locations | boolean

  Default: True

  Expose underlying image locations via the API. Enabling this is
  useful especially when using Ceph for image storage. Only disable
  this option if you do not wish to use copy-on-write clones of RAW
  format images with Ceph in Cinder and Nova.
  .
  NOTE: When S3 backend is enabled, this value will be ignored. The
  charm will not expose the image location for all backends not to
  expose S3 credentials.
* filesystem-store-datadir | string

  Default: /var/lib/glance/images/

  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.
* ha-bindiface | string

  Default: eth0

  Default network interface on which HA cluster will bind to communication
  with the other members of the HA Cluster.
* ha-mcastport | int

  Default: 5444

  Default multicast port number that will be used to communicate between
  HA Cluster nodes.
* haproxy-client-timeout | int

  Client timeout configuration in ms for haproxy, used in HA
  configurations. If not provided, default value of 90000ms is used.
* haproxy-connect-timeout | int

  Connect timeout configuration in ms for haproxy, used in HA
  configurations. If not provided, default value of 9000ms is used.
* haproxy-queue-timeout | int

  Queue timeout configuration in ms for haproxy, used in HA
  configurations. If not provided, default value of 9000ms is used.
* haproxy-server-timeout | int

  Server timeout configuration in ms for haproxy, used in HA
  configurations. If not provided, default value of 90000ms is used.
* harden | string

  Apply system hardening. Supports a space-delimited list of modules
  to run. Supported modules currently include os, ssh, apache and mysql.
* image-conversion | boolean

  Enable conversion of all images to raw format during image import,
  only supported on stein or newer. This only works on imported images
  (for example using 'openstack image create --import') Does not work
  on regular image uploads (like 'openstack image create')
* image-size-cap | string

  Default: 1TB

  Maximum size of image a user can upload. Defaults to 1TB
  (1099511627776 bytes). Example values: 500M, 500MB, 5G, 5TB.
  Valid units: K, KB, M, MB, G, GB, T, TB, P, PB. If no units provided,
  bytes are assumed.
  .
  WARNING: this value should only be increased after careful consideration
  and must be set to a value under 8EB (9223372036854775808 bytes).
* nagios\_context | string

  Default: juju

  Used by the nrpe-external-master subordinate charm. A string that will
  be prepended to instance name to set the host name in nagios. So for
  instance the hostname would be something like 'juju-myservice-0'. If
  you are running multiple environments with the same services in them
  this allows you to differentiate between them.
* nagios\_servicegroups | string

  A comma-separated list of nagios service groups.
  If left empty, the nagios\_context will be used as the servicegroup
* openstack-origin | string

  Default: yoga

  Repository from which to install. May be one of the following:
  distro (default), ppa:somecustom/ppa, a deb url sources entry,
  or a supported Ubuntu Cloud Archive e.g.
  .
  cloud:<series>-<openstack-release>
  cloud:<series>-<openstack-release>/updates
  cloud:<series>-<openstack-release>/staging
  cloud:<series>-<openstack-release>/proposed
  .
  See https://wiki.ubuntu.com/OpenStack/CloudArchive for info on which
  cloud archives are available and supported.
  .
  NOTE: updating this setting to a source that is known to provide
  a later version of OpenStack will trigger a software upgrade unless
  action-managed-upgrade is set to True.
* os-admin-hostname | string

  The hostname or address of the admin endpoints created for glance
  in the keystone identity provider.
  .
  This value will be used for admin endpoints. For example, an
  os-admin-hostname set to 'glance.admin.example.com' with ssl enabled will
  create a admin endpoint for glance of:
  .
  https://glance.admin.example.com:9292/
* os-admin-network | string

  The IP address and netmask of the OpenStack Admin network (e.g.
  192.168.0.0/24)
  .
  This network will be used for admin endpoints.
* os-internal-hostname | string

  The hostname or address of the internal endpoints created for glance
  in the keystone identity provider.
  .
  This value will be used for internal endpoints. For example, an
  os-internal-hostname set to 'glance.internal.example.com' with ssl
  enabled will create a internal endpoint for glance of:
  .
  https://glance.internal.example.com:9292/
* os-internal-network | string

  The IP address and netmask of the OpenStack Internal network (e.g.
  192.168.0.0/24)
  .
  This network will be used for internal endpoints.
* os-public-hostname | string

  The hostname or address of the public endpoints created for glance
  in the keystone identity provider.
  .
  This value will be used for public endpoints. For example, an
  os-public-hostname set to 'glance.example.com' with ssl enabled will
  create a public endpoint for glance of:
  .
  https://glance.example.com:9292/
* os-public-network | string

  The IP address and netmask of the OpenStack Public network (e.g.
  192.168.0.0/24)
  .
  This network will be used for public endpoints.
* pool-type | string

  Default: replicated

  Ceph pool type to use for storage - valid values include ‘replicated’
  and ‘erasure-coded’.
* prefer-ipv6 | boolean

  If True enables IPv6 support. The charm will expect network interfaces
  to be configured with an IPv6 address. If set to False (default) IPv4
  is expected.
  .
  NOTE: these charms do not currently support IPv6 privacy extension. In
  order for this charm to function correctly, the privacy extension must be
  disabled and a non-temporary address must be configured/available on
  your network interface.
* rabbit-user | string

  Default: glance

  Username to request access on rabbitmq-server.
* rabbit-vhost | string

  Default: openstack

  RabbitMQ virtual host to request access on rabbitmq-server.
* rados-connect-timeout | int

  Default: 1200

  The amount of time to wait to try and connect to rados. This allows to
  connect to other backends if those are also configured.
  NOTE: This will only be effective if multiple backends are configured,
  otherwise the value will be ignored.
* rbd-pool-name | string

  Optionally specify an existing rbd pool that cinder should map to.
* region | string

  Default: RegionOne

  OpenStack Region
* registry-config-flags | string

  Comma-separated list of key=value pairs to be added to
  glance-registry.conf where 'value' may itself be a comma-separated list
  of values to be assigned to the 'key'.
* restrict-ceph-pools | boolean

  Optionally restrict Ceph key permissions to access pools as required.
* restrict-image-location-operations | boolean

  If this is set to True, all \*\_image\_location operations in the Glance api
  will be restricted to role:admin which will result in non-admin users no
  longer being able to view the "locations" information for an image.
  This only affects environments that have expose-image-locations set to
  True.
  WARNING: enabling this restriction will cause Nova to no longer be able
  to create COW clones or snapshots for non-admin users when using the
  RBDImageBackend in the nova-compute charm.
* s3-store-access-key | string

  Access key for authenticating to the S3 storage server.
* s3-store-bucket | string

  Bucket name where the glance images will be stored in the S3 server.
* s3-store-host | string

  Location where S3 server is listening. Can be a DNS name or an IP
  address. The value must start with the schema (http:// or
  https://). e.g., https://s3.ap-northeast-1.amazonaws.com or
  http://my-object-storage.example.com:8080
  .
  NOTE: The S3 backend can be enabled only for Ussuri or later
  releases with this charm. Enabling S3 backend will override
  expose-image-locations as false not to expose S3 credentials
  through Glance API.
* s3-store-secret-key | string

  Secret key for authenticating to the S3 storage server.
* ssl\_ca | string

  SSL CA to use with the certificate and key provided - this is only
  required if you are providing a privately signed ssl\_cert and ssl\_key.
* ssl\_cert | string

  SSL certificate to install and use for API ports. Setting this value
  and ssl\_key will enable reverse proxying, point Glance's entry in the
  Keystone catalog to use https, and override any certificate and key
  issued by Keystone (if it is configured to do so).
* ssl\_key | string

  SSL key to use with certificate specified as ssl\_cert.
* use-internal-endpoints | boolean

  Openstack mostly defaults to using public endpoints for
  internal communication between services. If set to True this option will
  configure services to use internal endpoints where possible.
* use-policyd-override | boolean

  If True then use the resource file named 'policyd-override' to install
  override YAML files in the service's policy.d directory. The resource
  file should be a ZIP file containing at least one yaml file with a .yaml
  or .yml extension. If False then remove the overrides.
* use-syslog | boolean

  Setting this to True will allow supporting services to log to syslog.
* verbose | boolean

  Enable verbose logging.
* vip | string

  Virtual IP(s) to use to front API services in HA configuration.
  .
  If multiple networks are being used, a VIP should be provided for each
  network, separated by spaces.
* vip\_cidr | int

  Default: 24

  Default CIDR netmask to use for HA vip when it cannot be automatically
  determined.
* vip\_iface | string

  Default: eth0

  Default network interface to use for HA vip when it cannot be
  automatically determined.
* worker-multiplier | float

  The CPU core multiplier to use when configuring worker processes for
  this service. By default, the number of workers for each daemon is
  set to twice the number of CPU cores a service unit has. This default
  value will be capped to 4 workers unless this configuration option
  is set.
