ClusterLabs / pcs

Pacemaker command line interface and GUI
GNU General Public License v2.0
250 stars 116 forks source link

"pcs config" and "pcs property" only lists first object in cluster_property_setcluster_property_set #853

Open Bakerj0 opened 2 months ago

Bakerj0 commented 2 months ago

"pcs config" and "pcs property" only lists first object in cluster_property_setcluster_property_set, and this misses reporting custom attributes set through something like crm_attribute, which used to be reported:

RHEL 7:

[root@noded ~]# crm_attribute -n hana_rh2_site_srHook_DC1 -v SOK -t crm_config -s SAPHanaSR [root@noded ~]# pcs property Cluster Properties: cluster-infrastructure: corosync cluster-name: ClusterA dc-version: 1.1.23-1.el7_9.1-9acf116022 hana_rh2_site_srHook_DC1: SOK <-----

RHEL 8:

[root@clustera-rhel8 ~]# crm_attribute -n hana_rh2_site_srHook_DC1 -v SOK -t crm_config -s SAPHanaSR [root@clustera-rhel8 ~]# pcs property Cluster Properties: cluster-infrastructure: corosync cluster-name: cluster-rhel8-test dc-version: 2.1.7-5.el8_10-0f7f88312 have-watchdog: false last-lrm-refresh: 1718119854 maintenance-mode: false stonith-enabled: false

Not sure if this is the expected behavior or not, and was hoping for some more info here to see if this was expected. For reference it seems like the change was introduced here:

rewrite `pcs property config` command · ClusterLabs/pcs@67c5f06
https://github.com/ClusterLabs/pcs/commit/67c5f062c077fa3b0c77e34123b1a820c6e14a13
tomjelinek commented 2 months ago

Multiple sets of cluster properties were never supported by pcs. Note that there aren't and never were any pcs commands for managing cluster properties in multiple sets. Pcs has been allowing configuring cluster properties in one set only since RHEL 7.

Pcs was indeed printing cluster properties from multiple sets in versions up to pcs-0.11.6 and pcs-0.10.17. However, this was more of an unintentional effect, a bug, than a feature. The printing was merging all properties sets together. If a particular key was specified in multiple sets with different values, pcs selected only one of the values and silently hidden the others.

With the overhaul of cluster properties management, the functionality got consistent and now pcs only prints the one cluster properties set it allows to manage.