diff --git a/.README.html b/.README.html index 1cdf7104..2edecbc1 100644 --- a/.README.html +++ b/.README.html @@ -814,45 +814,47 @@

ha_cluster_sbd_options

- module3 sbd_watchdog: /dev/watchdog2 sbd_devices: - - /dev/vdx - - /dev/vdy - attributes: - - attrs: - - name: attribute1 - value: value1_node1 - - name: attribute2 - value: value2_node1 - utilization: - - attrs: - - name: utilization1 - value: value1_node1 - - name: utilization2 - value: value2_node1 - - node_name: node2 - pcs_address: node2-address:2224 - corosync_addresses: - - 192.168.1.12 - - 192.168.2.12 - sbd_watchdog_modules: - - module1 - sbd_watchdog_modules_blocklist: - - module3 - sbd_watchdog: /dev/watchdog1 - sbd_devices: - - /dev/vdw - - /dev/vdz - attributes: - - attrs: - - name: attribute1 - value: value1_node2 - - name: attribute2 - value: value2_node2 - utilization: - - attrs: - - name: utilization1 - value: value1_node2 - - name: utilization2 - value: value2_node2 + - /dev/disk/by-id/000001 + - /dev/disk/by-id/000002 + - /dev/disk/by-id/000003 + attributes: + - attrs: + - name: attribute1 + value: value1_node1 + - name: attribute2 + value: value2_node1 + utilization: + - attrs: + - name: utilization1 + value: value1_node1 + - name: utilization2 + value: value2_node1 + - node_name: node2 + pcs_address: node2-address:2224 + corosync_addresses: + - 192.168.1.12 + - 192.168.2.12 + sbd_watchdog_modules: + - module1 + sbd_watchdog_modules_blocklist: + - module3 + sbd_watchdog: /dev/watchdog1 + sbd_devices: + - /dev/disk/by-id/000001 + - /dev/disk/by-id/000002 + - /dev/disk/by-id/000003 + attributes: + - attrs: + - name: attribute1 + value: value1_node2 + - name: attribute2 + value: value2_node2 + utilization: + - attrs: + - name: utilization1 + value: value1_node2 + - name: utilization2 + value: value2_node2

This variable defines various settings which vary from cluster node to cluster node.

Note: Use an inventory or playbook hosts to specify @@ -878,7 +880,9 @@

ha_cluster_sbd_options

  • sbd_watchdog (optional) - Watchdog device to be used by SBD. Defaults to /dev/watchdog if not set.
  • sbd_devices (optional) - Devices to use for exchanging -SBD messages and for monitoring. Defaults to empty list if not set.
  • +SBD messages and for monitoring. Defaults to empty list if not set. +Always refer to the devices using the long, stable device name +(/dev/disk/by-id/).
  • attributes (optional) - List of sets of Pacemaker node attributes for the node. Currently, only one set is supported, so the first set is used and the rest are ignored.
  • @@ -1819,18 +1823,20 @@

    SBD watchdog and devices

    - module2 sbd_watchdog: /dev/watchdog2 sbd_devices: - - /dev/vdx - - /dev/vdy - node2: - ha_cluster: - sbd_watchdog_modules: - - module1 - sbd_watchdog_modules_blocklist: - - module2 - sbd_watchdog: /dev/watchdog1 - sbd_devices: - - /dev/vdw - - /dev/vdz + - /dev/disk/by-id/000001 + - /dev/disk/by-id/000001 + - /dev/disk/by-id/000003 + node2: + ha_cluster: + sbd_watchdog_modules: + - module1 + sbd_watchdog_modules_blocklist: + - module2 + sbd_watchdog: /dev/watchdog1 + sbd_devices: + - /dev/disk/by-id/000001 + - /dev/disk/by-id/000002 + - /dev/disk/by-id/000003

    Example Playbooks

    Following examples show what the structure of the role variables @@ -1949,54 +1957,54 @@

    Using
    - hosts: node1 node2
       vars:
    -    ha_cluster_cluster_name: my-new-cluster
    -    ha_cluster_hacluster_password: password
    -    ha_cluster_sbd_enabled: true
    -    ha_cluster_sbd_options:
    -      - name: delay-start
    -        value: 'no'
    -      - name: startmode
    -        value: always
    -      - name: timeout-action
    -        value: 'flush,reboot'
    -      - name: watchdog-timeout
    -        value: 30
    -    ha_cluster_node_options:
    -      - node_name: node1
    -        sbd_watchdog_modules:
    -          - iTCO_wdt
    -        sbd_watchdog_modules_blocklist:
    -          - ipmi_watchdog
    -        sbd_watchdog: /dev/watchdog1
    -        sbd_devices:
    -          - /dev/vdx
    -          - /dev/vdy
    -          - /dev/vdz
    -      - node_name: node2
    -        sbd_watchdog_modules:
    -          - iTCO_wdt
    -        sbd_watchdog_modules_blocklist:
    -          - ipmi_watchdog
    -        sbd_watchdog: /dev/watchdog1
    -        sbd_devices:
    -          - /dev/vdx
    -          - /dev/vdy
    -          - /dev/vdz
    -    # Best practice for setting SBD timeouts:
    -    # watchdog-timeout * 2 = msgwait-timeout (set automatically)
    -    # msgwait-timeout * 1.2 = stonith-timeout
    -    ha_cluster_cluster_properties:
    -      - attrs:
    -          - name: stonith-timeout
    -            value: 72
    -    ha_cluster_resource_primitives:
    -      - id: fence_sbd
    -        agent: 'stonith:fence_sbd'
    -        instance_attrs:
    -          - attrs:
    -              # taken from host_vars
    +    my_sbd_devices:
    +      # This variable is not used by the role.
    +      # It's purpose is to define SBD devices once so they don't need
    +      # to be repeated several times in the role variables.
    +      - /dev/disk/by-id/000001
    +      - /dev/disk/by-id/000002
    +      - /dev/disk/by-id/000003
    +    ha_cluster_cluster_name: my-new-cluster
    +    ha_cluster_hacluster_password: password
    +    ha_cluster_sbd_enabled: true
    +    ha_cluster_sbd_options:
    +      - name: delay-start
    +        value: 'no'
    +      - name: startmode
    +        value: always
    +      - name: timeout-action
    +        value: 'flush,reboot'
    +      - name: watchdog-timeout
    +        value: 30
    +    ha_cluster_node_options:
    +      - node_name: node1
    +        sbd_watchdog_modules:
    +          - iTCO_wdt
    +        sbd_watchdog_modules_blocklist:
    +          - ipmi_watchdog
    +        sbd_watchdog: /dev/watchdog1
    +        sbd_devices: "{{ my_sbd_devices }}"
    +      - node_name: node2
    +        sbd_watchdog_modules:
    +          - iTCO_wdt
    +        sbd_watchdog_modules_blocklist:
    +          - ipmi_watchdog
    +        sbd_watchdog: /dev/watchdog1
    +        sbd_devices: "{{ my_sbd_devices }}"
    +    # Best practice for setting SBD timeouts:
    +    # watchdog-timeout * 2 = msgwait-timeout (set automatically)
    +    # msgwait-timeout * 1.2 = stonith-timeout
    +    ha_cluster_cluster_properties:
    +      - attrs:
    +          - name: stonith-timeout
    +            value: 72
    +    ha_cluster_resource_primitives:
    +      - id: fence_sbd
    +        agent: 'stonith:fence_sbd'
    +        instance_attrs:
    +          - attrs:
                   - name: devices
    -                value: "{{ ha_cluster.sbd_devices | join(',') }}"
    +                value: "{{ my_sbd_devices | join(',') }}"
                   - name: pcmk_delay_base
                     value: 30
     
    @@ -2017,9 +2025,9 @@ 

    Using ha_cluster - ipmi_watchdog sbd_watchdog: /dev/watchdog1 sbd_devices: - - /dev/vdx - - /dev/vdy - - /dev/vdz + - /dev/disk/by-id/000001 + - /dev/disk/by-id/000002 + - /dev/disk/by-id/000003 node2: ha_cluster: sbd_watchdog_modules: @@ -2028,9 +2036,9 @@

    Using ha_cluster - ipmi_watchdog sbd_watchdog: /dev/watchdog1 sbd_devices: - - /dev/vdx - - /dev/vdy - - /dev/vdz

    + - /dev/disk/by-id/000001 + - /dev/disk/by-id/000002 + - /dev/disk/by-id/000003

    Variables specified in inventory can be omitted when writing the playbook:

    Using ha_cluster
             instance_attrs:
               - attrs:
                   # taken from host_vars
    -              - name: devices
    -                value: "{{ ha_cluster.sbd_devices | join(',') }}"
    -              - name: pcmk_delay_base
    -                value: 30
    -
    -  roles:
    -    - linux-system-roles.ha_cluster
    + # this only works if all nodes have the same sbd_devices + - name: devices + value: "{{ ha_cluster.sbd_devices | join(',') }}" + - name: pcmk_delay_base + value: 30 + + roles: + - linux-system-roles.ha_cluster

    If both the ha_cluster_node_options and ha_cluster variables contain SBD options, those in ha_cluster_node_options have precedence.

    diff --git a/CHANGELOG.md b/CHANGELOG.md index 514e9bc8..53b9fb8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,20 @@ Changelog ========= +[1.19.1] - 2024-08-20 +-------------------- + +### Bug Fixes + +- fix: Fixes for new pcs and ansible (#223) + +### Other Changes + +- ci: Add workflow for ci_test bad, use remote fmf plan (#221) +- ci: Fix missing slash in ARTIFACTS_URL (#222) +- docs: fix sbd_devices documentation and examples (#224) +- test: add gather_facts true for tests that need facts (#225) + [1.19.0] - 2024-08-01 --------------------