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_enable_rolling_upgrade: "yes"
swift_extra_ring_files: []
#################### ####################
# Keystone # Keystone
#################### ####################

View File

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

View File

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

View File

@ -215,6 +215,16 @@ Enable Swift in ``/etc/kolla/globals.yml``:
enable_swift : "yes" 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 Once the rings are in place, deploying Swift is the same as any other Kolla
Ansible service: 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.