---
# 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.

- include: swift_rings_md5sum.yml

- include: swift_rings_check.yml
  when: >
    inventory_hostname == groups['swift_hosts'][0]

- include: swift_rings_build.yml
  when: >
    inventory_hostname == groups['swift_hosts'][0]

- include: swift_rings_distribute.yml

---
# 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.

- include: swift_rings_md5sum.yml

- include: swift_rings_check.yml
  when: >
    inventory_hostname == groups['swift_hosts'][0]

- include: swift_rings_build.yml
  when: >
    inventory_hostname == groups['swift_hosts'][0]

- include: swift_rings_distribute.yml

- include: swift_rings_md5sum.yml

- include: swift_rings_check.yml
  when: >
    inventory_hostname == groups['swift_hosts'][0]

Add md5sum check for swift rings after ring-sync
Add md5sum check for swift rings after ring-sync

Moving towards multi-region swift there is a chance that 2 regions will
attempt to update the ring at the same time. Whilst measures are in
place to ensure a region only updates its own region entries in the
ring it would still be possible, if the 2 runs happened simultaneously,
that some ring inconsistencies could happen. For example, if a region A
updates at the same time as region B but the sync order is different
some nodes could have region A's "updated" ring and some with region
B's "updated" ring.

To ensure this hasn't happened (without our knowledge) this patch adds
another md5sum check which will report if the rings are inconsistent
across the nodes.

Change-Id: Id88dfebcaa0553437953f92235bf63363f750797
Partially-Implements: blueprint multi-region-swift
