ceilometer/releasenotes/notes/add-swift-storage_policy-attribute-322fbb5716c5bb10.yaml
Callum Dickinson 56ce75d897 Add storage_policy attribute for Swift containers
This exposes a Swift container's storage policy as a metadata
attribute in Ceilometer samples (via the storage.containers.objects
and storage.containers.objects.size meters) and the swift_account
Gnocchi resources, named storage_policy.

The storage policy determines the location and replication
parameters for a Swift container, making it a useful metric
for billing alongside the size of the container. The storage
policy for a container cannot be changed unless the container
is recreated, meaning that it does not change often (making it
suitable to be stored in Gnocchi as a metadata attribute).

The reason why this was not possible before was that Swift
did not return the storage policy for each container in the
GET account request, but a new proposed change to Swift [1]
adds it to the response as the storage_policy attribute.
This change for Ceilometer takes advantage of this and adds
it to Ceilometer samples and the Gnocchi resource type.

For this to work, the Swift change needs to be accepted
and merged.

[1]: https://review.opendev.org/c/openstack/swift/+/940601

Depends-On: I52b37cfa49cac8675f5087bcbcfe18db0b46d887
Change-Id: I25f74df61ef0a6a4b50f1357ddf86d5acc6d71e7
2025-02-07 00:33:12 +13:00

23 lines
1.1 KiB
YAML

---
features:
- |
The ``storage_policy`` resource metadata attribute has been added to the
``swift.containers.objects`` and ``swift.containers.objects.size`` meters,
populated from already performed Swift account ``GET`` requests.
This functionality requires using a new version of Swift that adds the
``storage_policy`` attribute when listing containers in an account.
Ceilometer is backwards compatible with Swift versions that do not
provide this functionality, but ``storage_policy`` will be set to
``None`` in samples and Gnocchi resources.
- |
An optional ``storage_policy`` attribute has been added to the
``swift_account`` Gnocchi resource type, to store the storage policy for
Swift containers in Gnocchi. For Swift accounts, ``storage_policy`` will
be set to ``None``.
upgrade:
- |
To publish the ``storage_policy`` attribute for Swift containers,
``gnocchi_resources.yaml`` will need to be updated to the latest version.
Swift in the target OpenStack cloud will also need upgrading to add
support for providing the storage policy when listing containers.