|
219 | 219 | - name: Enable SBD [sbd] |
220 | 220 | ansible.builtin.command: |
221 | 221 | cmd: crm configure primitive rsc_iscsi_sbd stonith:external/sbd |
| 222 | + register: reg_iscsi |
| 223 | + changed_when: reg_iscsi.rc == 0 |
222 | 224 | when: |
223 | 225 | - sbd_stonith | string | lower == 'false' |
224 | 226 | - use_sbd | default(false) | bool |
225 | 227 | - is_primary |
226 | 228 |
|
| 229 | +- name: Collect fence_gce info (debug purpose) |
| 230 | + ansible.builtin.command: "{{ item }}" |
| 231 | + with_items: |
| 232 | + - which fence_gce |
| 233 | + - /usr/sbin/fence_gce --version |
| 234 | + - "/usr/sbin/fence_gce -vvv -n {{ primary_hostname }} --zone {{ primary_zone }} -o status" |
| 235 | + - "/usr/sbin/fence_gce -vvv -n {{ primary_hostname }} --zone {{ primary_zone }} -o list" |
| 236 | + - "/usr/sbin/fence_gce -vvv -n {{ primary_hostname }} --zone {{ primary_zone }} -o list-status" |
| 237 | + - "/usr/sbin/fence_gce -vvv -n {{ primary_hostname }} --zone {{ primary_zone }} -o metadata" |
| 238 | + - "/usr/sbin/fence_gce -vvv -n {{ primary_hostname }} --zone {{ primary_zone }} -o manpage" |
| 239 | + - "/usr/sbin/fence_gce -vvv -n {{ primary_hostname }} --zone {{ primary_zone }} -o monitor" |
| 240 | + when: |
| 241 | + - not (use_sbd | default(false) | bool) |
| 242 | + changed_when: false |
| 243 | + failed_when: false |
| 244 | + |
227 | 245 | # The following STONITH commands for GCP have been adapted from |
228 | 246 | # https://cloud.google.com/solutions/sap/docs/sap-hana-ha-config-sles#create_the_fencing_device_resources |
229 | 247 | - name: Configure GCP Native Fencing STONITH for Primary |
|
236 | 254 | op monitor interval="300s" timeout="120s" |
237 | 255 | op start interval="0" timeout="60s" |
238 | 256 | meta target-role=Started |
| 257 | + register: reg_fence_gce_prim |
| 258 | + changed_when: reg_fence_gce_prim.rc == 0 |
| 259 | + until: reg_fence_gce_prim is successful |
| 260 | + retries: 3 |
| 261 | + delay: 30 |
239 | 262 | when: |
240 | 263 | - is_primary |
241 | 264 | - not (use_sbd | default(false) | bool) |
|
252 | 275 | op monitor interval="300s" timeout="120s" |
253 | 276 | op start interval="0" timeout="60s" |
254 | 277 | meta target-role=Started |
| 278 | + register: reg_fence_gce_sec |
| 279 | + changed_when: reg_fence_gce_sec.rc == 0 |
| 280 | + until: reg_fence_gce_sec is successful |
| 281 | + retries: 3 |
| 282 | + delay: 30 |
255 | 283 | when: |
256 | 284 | - is_primary |
257 | 285 | - not (use_sbd | default(false) | bool) |
|
260 | 288 | ansible.builtin.command: > |
261 | 289 | crm configure location LOC_STONITH_{{ primary_hostname }} \ |
262 | 290 | rsc_gce_stonith_primary -inf: "{{ primary_hostname }}" |
| 291 | + register: reg_loc_prim |
| 292 | + changed_when: reg_loc_prim.rc == 0 |
263 | 293 | when: |
264 | 294 | - is_primary |
265 | 295 | - not (use_sbd | default(false) | bool) |
|
268 | 298 | ansible.builtin.command: > |
269 | 299 | crm configure location LOC_STONITH_{{ secondary_hostname }} \ |
270 | 300 | rsc_gce_stonith_secondary -inf: "{{ secondary_hostname }}" |
| 301 | + register: reg_loc_sec |
| 302 | + changed_when: reg_loc_sec.rc == 0 |
271 | 303 | when: |
272 | 304 | - is_primary |
273 | 305 | - not (use_sbd | default(false) | bool) |
|
278 | 310 | crm configure property |
279 | 311 | $id="cib-bootstrap-options" |
280 | 312 | stonith-timeout=300s |
| 313 | + register: reg_st |
| 314 | + changed_when: reg_st.rc == 0 |
281 | 315 | when: |
282 | 316 | - stonith_timeout != '300s' |
283 | 317 | - is_primary |
|
289 | 323 | crm configure property |
290 | 324 | $id="cib-bootstrap-options" |
291 | 325 | stonith-enabled=true |
| 326 | + register: reg_se |
| 327 | + changed_when: reg_se.rc == 0 |
292 | 328 | when: |
293 | 329 | - stonith_enabled | string | lower != 'true' |
294 | 330 | - is_primary |
|
313 | 349 | crm configure rsc_defaults |
314 | 350 | $id="rsc-options" |
315 | 351 | migration-threshold=5000 |
| 352 | + register: reg_mig_t |
| 353 | + changed_when: reg_mig_t.rc == 0 |
316 | 354 | when: |
317 | 355 | - migration_threshold != '5000' |
318 | 356 | - is_primary |
319 | 357 |
|
320 | 358 | - name: Set op_defaults timeout |
321 | 359 | ansible.builtin.command: |
322 | 360 | cmd: crm configure op_defaults timeout=600 |
| 361 | + register: reg_op_tim |
| 362 | + changed_when: reg_op_tim.rc == 0 |
323 | 363 | when: |
324 | 364 | - op_default_timeout != '600' |
325 | 365 | - is_primary |
|
334 | 374 | cidr_netmask=32 |
335 | 375 | nic=eth0 |
336 | 376 | op monitor interval=3600s timeout=60s |
| 377 | + register: reg_ip |
| 378 | + changed_when: reg_ip.rc == 0 |
337 | 379 | when: |
338 | 380 | - rsc_ip | length == 0 |
339 | 381 | - is_primary |
|
383 | 425 | cmd: >- |
384 | 426 | crm resource clear |
385 | 427 | rsc_ip_{{ sap_hana_install_sid }}_HDB{{ sap_hana_install_instance_number }} |
| 428 | + changed_when: true |
386 | 429 | when: |
387 | 430 | - is_primary |
388 | 431 | - reg_vip_location.stdout | trim | split(' ') | last != primary_hostname |
|
397 | 440 | binfile="/usr/bin/socat" |
398 | 441 | cmdline_options="-U TCP-LISTEN:625{{ sap_hana_install_instance_number }},backlog=10,fork,reuseaddr /dev/null" |
399 | 442 | op monitor timeout=20s interval=10s op_params depth=0 |
| 443 | + register: reg_hc_prim |
| 444 | + changed_when: reg_hc_prim.rc == 0 |
400 | 445 | when: |
401 | 446 | - is_primary |
402 | 447 | - rsc_healthcheck_primary | length == 0 |
|
408 | 453 | grp_ip_hc |
409 | 454 | rsc_ip_{{ sap_hana_install_sid }}_HDB{{ sap_hana_install_instance_number }} |
410 | 455 | rsc_healthcheck_primary |
| 456 | + register: reg_grp_ip_hc |
| 457 | + changed_when: reg_grp_ip_hc.rc == 0 |
411 | 458 | when: |
412 | 459 | - is_primary |
413 | 460 | - grp_ip_hc | length == 0 |
|
0 commit comments