|
33 | 33 | - name: wait until ring configmap includes new pv devices |
34 | 34 | ansible.builtin.shell: | |
35 | 35 | {{ oc_header }} |
36 | | - timeout 900s bash -c 'until oc debug --keep-labels=true job/swift-ring-rebalance -- /bin/sh -c "swift-ring-tool get && swift-ring-builder object.builder search --device pv" ; do sleep 60; done' |
| 36 | + oc debug --keep-labels=true job/swift-ring-rebalance -- /bin/sh -c "swift-ring-tool get && swift-ring-builder object.builder search --device pv" |
| 37 | + register: result |
| 38 | + until: result.rc == 0 and 'No matching devices found' not in result.stdout |
| 39 | + retries: 15 |
| 40 | + delay: 60 |
37 | 41 |
|
38 | 42 | - name: set standalone node weight to 0 in swift rings |
39 | 43 | ansible.builtin.shell: | |
|
43 | 47 | while read -r node; do |
44 | 48 | swift-ring-tool drain ${node} |
45 | 49 | done <<< "{{ swift_node_list_result.stdout }}" |
46 | | - swift-ring-tool forced_rebalance |
47 | 50 | swift-ring-tool push' |
48 | 51 |
|
49 | | -- name: push rings to standalone and restart swift services |
50 | | - ansible.builtin.shell: | |
51 | | - {{ shell_header }} |
52 | | - {{ oc_header }} |
53 | | - CONTROLLER1_SSH="{{ controller1_ssh }}" |
54 | | - oc extract --confirm cm/swift-ring-files |
55 | | - $CONTROLLER1_SSH "tar -C /var/lib/config-data/puppet-generated/swift/etc/swift/ -xzf -" < swiftrings.tar.gz |
56 | | - $CONTROLLER1_SSH "systemctl restart tripleo_swift_*" |
57 | | -
|
58 | | -- name: wait until all replicas are 100% available after first rebalance |
59 | | - ansible.builtin.shell: | |
60 | | - {{ oc_header }} |
61 | | - timeout 900s bash -c 'until oc debug --keep-labels=true job/swift-ring-rebalance -- /bin/sh -c "swift-ring-tool get && swift-dispersion-report" | grep -q "100.00% of object copies found" ; do sleep 60; done' |
62 | | -
|
63 | | -- name: rebalance rings second time |
64 | | - ansible.builtin.shell: | |
65 | | - {{ oc_header }} |
66 | | - oc debug --keep-labels=true job/swift-ring-rebalance -- /bin/sh -c ' |
67 | | - swift-ring-tool get |
68 | | - swift-ring-tool forced_rebalance |
69 | | - swift-ring-tool push' |
70 | | -
|
71 | | -- name: push rings to standalone and restart swift services |
72 | | - ansible.builtin.shell: | |
73 | | - {{ shell_header }} |
74 | | - {{ oc_header }} |
75 | | - CONTROLLER1_SSH="{{ controller1_ssh }}" |
76 | | - oc extract --confirm cm/swift-ring-files |
77 | | - $CONTROLLER1_SSH "tar -C /var/lib/config-data/puppet-generated/swift/etc/swift/ -xzf -" < swiftrings.tar.gz |
78 | | - $CONTROLLER1_SSH "systemctl restart tripleo_swift_*" |
79 | | -
|
80 | | -- name: wait until all replicas are 100% available after second rebalance |
81 | | - ansible.builtin.shell: | |
82 | | - {{ oc_header }} |
83 | | - timeout 900s bash -c 'until oc debug --keep-labels=true job/swift-ring-rebalance -- /bin/sh -c "swift-ring-tool get && swift-dispersion-report" | grep -q "100.00% of object copies found" ; do sleep 60; done' |
84 | | -
|
85 | | -- name: rebalance rings third time |
86 | | - ansible.builtin.shell: | |
87 | | - {{ oc_header }} |
88 | | - oc debug --keep-labels=true job/swift-ring-rebalance -- /bin/sh -c ' |
89 | | - swift-ring-tool get |
90 | | - swift-ring-tool forced_rebalance |
91 | | - swift-ring-tool push' |
92 | | -
|
93 | | -- name: push rings to standalone and restart swift services |
94 | | - ansible.builtin.shell: | |
95 | | - {{ shell_header }} |
96 | | - {{ oc_header }} |
97 | | - CONTROLLER1_SSH="{{ controller1_ssh }}" |
98 | | - oc extract --confirm cm/swift-ring-files |
99 | | - $CONTROLLER1_SSH "tar -C /var/lib/config-data/puppet-generated/swift/etc/swift/ -xzf -" < swiftrings.tar.gz |
100 | | - $CONTROLLER1_SSH "systemctl restart tripleo_swift_*" |
101 | | -
|
102 | | -- name: wait until all replicas are 100% available after third rebalance |
103 | | - ansible.builtin.shell: | |
104 | | - {{ oc_header }} |
105 | | - timeout 900s bash -c 'until oc debug --keep-labels=true job/swift-ring-rebalance -- /bin/sh -c "swift-ring-tool get && swift-dispersion-report" | grep -q "100.00% of object copies found" ; do sleep 60; done' |
| 52 | +- name: "rebalance rings and wait until replication finished - iteration {{ item }}" |
| 53 | + ansible.builtin.include_tasks: rebalance_and_wait.yaml |
| 54 | + loop: [1, 2, 3] |
106 | 55 |
|
107 | 56 | - name: wait until /srv/node on standalone is drained |
108 | 57 | ansible.builtin.shell: | |
|
0 commit comments