--- # Copyright 2014, Rackspace US, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - name: "Copy the swift_rings.py file" template: src: swift_rings.py.j2 dest: "/etc/swift/scripts/swift_rings.py" owner: "{{ swift_system_user_name }}" group: "{{ swift_system_group_name }}" mode: "0700" tags: - swift-rings - swift-rings-scripts - name: "Build ring-contents files" template: src: ring.contents.j2 dest: "/etc/swift/scripts/{{ item.type }}.contents" owner: "{{ swift_system_user_name }}" group: "{{ swift_system_group_name }}" with_items: - { item: "{{ swift.account | default({}) }}", port: "{{ swift_account_port }}", type: "account" } - { item: "{{ swift.container | default({}) }}", port: "{{ swift_container_port}}", type: "container" } tags: - swift-rings - swift-rings-contents - name: "Build ring-contents files for storage policies" template: src: ring.contents.j2 dest: "/etc/swift/scripts/object-{{ item[0].policy.index }}.contents" owner: "{{ swift_system_user_name }}" group: "{{ swift_system_group_name }}" with_nested: - "{{ swift.storage_policies }}" - [{ type: 'object', port: "{{ swift_object_port }}" }] tags: - swift-rings - swift-rings-contents - name: "build rings for account/container from contents files" command: "/etc/swift/scripts/swift_rings.py -f /etc/swift/scripts/{{ item }}.contents" with_items: - account - container when: swift_managed_regions is not defined become: yes become_user: "{{ swift_system_user_name }}" args: chdir: /etc/swift/ring_build_files/ tags: - swift-rings - swift-rings-build - name: "build rings for account/container from contents files" command: "/etc/swift/scripts/swift_rings.py -f /etc/swift/scripts/{{ item[0] }}.contents -r {{ item[1] }}" with_nested: - [ 'account', 'container' ] - swift_managed_regions | default([]) become: yes become_user: "{{ swift_system_user_name }}" args: chdir: /etc/swift/ring_build_files/ tags: - swift-rings - swift-rings-build - name: "build rings for storage policies from contents files" command: "/etc/swift/scripts/swift_rings.py -f /etc/swift/scripts/object-{{ item.policy.index }}.contents" with_items: - "{{ swift.storage_policies }}" when: swift_managed_regions is not defined become: yes become_user: "{{ swift_system_user_name }}" args: chdir: /etc/swift/ring_build_files/ tags: - swift-rings - swift-rings-build - name: "build rings for storage policies from contents files" command: "/etc/swift/scripts/swift_rings.py -f /etc/swift/scripts/object-{{ item[0].policy.index }}.contents -r {{ item[1] }}" with_nested: - "{{ swift.storage_policies }}" - swift_managed_regions | default([]) become: yes become_user: "{{ swift_system_user_name }}" args: chdir: /etc/swift/ring_build_files/ tags: - swift-rings - swift-rings-build