Swift: add swift_extra_ring_files variable to handle multi-policies deployment

The current tasks only use a hardcoded list deploying only the required files.
When using multiple custom policies, additionnal object-*.builder and
object*.gz files are to be deployed as well.
This adds a new default-empty variable that can be overridden when needed

Change-Id: I29c8e349c7cc83e3a2e01ff702d235a0cd97340e
Closes-Bug: #1844752
This commit is contained in:
Alexis Deberg 2019-09-20 11:46:36 -04:00
parent 5ff7bab46b
commit 0adbbb268e
5 changed files with 20 additions and 0 deletions

View File

@ -78,6 +78,8 @@ syslog_swift_facility: "local0"
swift_enable_rolling_upgrade: "yes"
swift_extra_ring_files: []
####################
# Keystone
####################

View File

@ -190,6 +190,7 @@
- "container.ring.gz"
- "object.builder"
- "object.ring.gz"
- "{{ swift_extra_ring_files }}"
- name: Check if policies shall be overwritten
local_action: stat path="{{ node_custom_config }}/swift/policy.json"

View File

@ -108,6 +108,7 @@
- "container.ring.gz"
- "object.builder"
- "object.ring.gz"
- "{{ swift_extra_ring_files }}"
- name: Fail if ring files don't exist
run_once: True

View File

@ -215,6 +215,16 @@ Enable Swift in ``/etc/kolla/globals.yml``:
enable_swift : "yes"
If you are to deploy multiple policies, override the variable
``swift_extra_ring_files`` with the list of your custom ring files, .builder
and .ring.gz all together. This will append them to the list of default rings.
.. code-block:: yaml
swift_extra_ring_files:
- object-1.builder
- object-1.ring.gz
Once the rings are in place, deploying Swift is the same as any other Kolla
Ansible service:

View File

@ -0,0 +1,6 @@
---
features:
- |
Add a new variable to be used by the swift role, ``swift_extra_ring_files``.
It allows to pass additional ring files to be deployed in the context of
a multi-policy setup.