puppet-swift will no longer raise an error if swift-ring-builder rebalance returns an exit code of 1. This is a warning but not an error in swift-ring-builder; errors use an exit code of 2 in swift-ring-builder.

Add support for swift storage policies. This change adds storage policy support to the swift ringbuilder class as well as ring_object_device. This change also adds a new custom type/provider called swift_storage_policy that is used to create and enforce rules for storage policies in swift.conf

Adds a wrapper class for the storage::loopback definition, making it possible to add multiple loopback devices using a Hiera hash.

Add support for swift storage policies. This change adds storage policy support to the swift ringbuilder class as well as ring_object_device. The swift ringbuilder provider was modified to accept ring_object_device with a name that starts with an integer followed by colon. For example, a ring_object_device without a storage policy would be named 127.0.0.1:6000/4 A ring_object_device that should be included in storage-policy:1 would be 1:127.0.0.1:6000/4. Spec tests were split up and updated to test the changes to ring_object_device as well.

This change also adds a new custom type/provider called swift_storage_policy that is used to create and enforce rules for storage policies in swift.conf This provider enforces rules established by the swift project for storage_policies. This provider uses the puppet inifile provider to control storage policy entries in swift.conf. This provider implements a way to remove/purge a storage policy including it’s section header from swift.conf.

An upcoming change will enable the use of erasure code through swift storage policies.

swift_proxy_config ini provider is now used to mange
all sections in proxy-server.conf. The erb templates
and use of concat for proxy.conf sections has been removed.
All template logic is moved into proxy middleware classes.
To purge proxy.conf of settings that are not specified
set the new paramater “purge_config” to “true”.

A new ceilometermiddleware option “nonblocking_notify” has been added and can be used to send notifications in a separate background thread. This avoids blocking of Swift if RabbitMQ is not able to process new notifications. In this case notifications will be dropped after the local queue (defaults to 1000 entries) is exhausted. It requires the Newton release of ceilometermiddleware. This option is disabled by default and not changing the current behavior.

swift::proxy::ceilometer::rabbit_host, swift::proxy::ceilometer::rabbit_hosts, swift::proxy::ceilometer::rabbit_password, swift::proxy::ceilometer::rabbit_port, swift::proxy::ceilometer::rabbit_userid and swift::proxy::ceilometer::rabbit_virtual_host are deprecated. swift::proxy::ceilometer::default_transport_url should be used instead.