Fix swift ring distribute
The swift ring distribute task was using the Synchronize module which is broken in ansible 2.1 when using become and delegate_to. The become and delegate_to methods are required to make the module pull from a remote source to another remote source using a specific user. To resolve the issue these tasks have been changed to use the command module. Related-Issue: https://github.com/ansible/ansible/issues/15405 Change-Id: I1f0a14759408e3efd066a8adf4510db688d01437 Closes-bug: #1597475 Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This commit is contained in:
parent
203743e0d9
commit
2ba929f172
@ -13,26 +13,28 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
# NOTE(cloudnull): These methods have been changed to use the rsync command
|
||||||
|
# instead of the Synchronize module. The change was required due to an upstream
|
||||||
|
# issue with the module when running with delegate_to and become. Sadly the fix
|
||||||
|
# does not seem to be trivial. "https://github.com/ansible/ansible/issues/15405"
|
||||||
- name: "Get swift rings"
|
- name: "Get swift rings"
|
||||||
synchronize:
|
command: |
|
||||||
src: "/etc/swift/ring_build_files/"
|
rsync -e 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
|
||||||
mode: push
|
-avz {{ swift_system_user_name }}@{{ hostvars[groups['swift_hosts'][0]]['ansible_ssh_host'] }}:/etc/swift/ring_build_files/ \
|
||||||
dest: "/etc/swift/"
|
/etc/swift/
|
||||||
set_remote_user: False
|
|
||||||
delegate_to: "{{ groups['swift_hosts'][0] }}"
|
|
||||||
become: yes
|
become: yes
|
||||||
become_user: "{{ swift_system_user_name }}"
|
become_user: "{{ swift_system_user_name }}"
|
||||||
tags:
|
tags:
|
||||||
- swift-get-rings
|
- swift-get-rings
|
||||||
|
- skip_ansible_lint
|
||||||
|
|
||||||
- name: "Get swift rings for backup in ring_build_files directory"
|
- name: "Get swift rings for backup in ring_build_files directory"
|
||||||
synchronize:
|
command: |
|
||||||
src: "/etc/swift/ring_build_files/"
|
rsync -e 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
|
||||||
mode: push
|
-avz {{ swift_system_user_name }}@{{ hostvars[groups['swift_hosts'][0]]['ansible_ssh_host'] }}:/etc/swift/ring_build_files/ \
|
||||||
dest: "/etc/swift/ring_build_files/"
|
/etc/swift/ring_build_files/
|
||||||
set_remote_user: False
|
|
||||||
delegate_to: "{{ groups['swift_hosts'][0] }}"
|
|
||||||
become: yes
|
become: yes
|
||||||
become_user: "{{ swift_system_user_name }}"
|
become_user: "{{ swift_system_user_name }}"
|
||||||
tags:
|
tags:
|
||||||
- swift-get-rings
|
- swift-get-rings
|
||||||
|
- skip_ansible_lint
|
||||||
|
Loading…
x
Reference in New Issue
Block a user