Bug 40643 - не стартую кластерные ресурсы типа (class=ocf provider=heartbeat type=pgsql) в кластере, собранном в Altlinux 9
Summary: не стартую кластерные ресурсы типа (class=ocf provider=heartbeat type=pgsql) ...
Status: CLOSED FIXED
Alias: None
Product: Branch p9
Classification: Distributions
Component: pacemaker-cli (show other bugs)
Version: не указана
Hardware: x86 Linux
: P5 critical
Assignee: pav@altlinux.org
QA Contact: qa-p9@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-08-03 15:49 MSK by Vadim Ponomarev
Modified: 2022-01-24 15:10 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vadim Ponomarev 2021-08-03 15:49:49 MSK
Проблема: не стартую кластерные ресурсы типа (class=ocf provider=heartbeat type=pgsql) в кластере, собранном в Altlinux 9.

Причина: команда /usr/sbin/crm_attribute некорретно отрабатывает значения параметра -v, начинающиеся с символа -
[root@test99c21735-node01 ~]# export OCF_RESOURCE_INSTANCE="test99c21735-clone"
[root@test99c21735-node01 ~]# crm_mon -Afr1 | grep master-test99c21735-clone
    * master-test99c21735-clone         : INFINITY
[root@test99c21735-node01 ~]# /usr/sbin/crm_master -l reboot -v INFINITY
[root@test99c21735-node01 ~]# crm_mon -Afr1 | grep master-test99c21735-clone
    * master-test99c21735-clone         : INFINITY
[root@test99c21735-node01 ~]# /usr/sbin/crm_master -l reboot -v -INFINITY
Could not map name=FINITY to a UUID
[root@test99c21735-node01 ~]# /usr/sbin/crm_attribute -n master-$OCF_RESOURCE_INSTANCE -l reboot -v -INFINITY
Could not map name=FINITY to a UUID

Дополнительная информация:
[root@test99c21735-node01 ~]# cat /etc/os-release
NAME="ALT Server"
VERSION="9.1"
ID=altlinux
VERSION_ID=9.1
PRETTY_NAME="ALT Server 9.1 (FalcoRusticolus)"
ANSI_COLOR="1;33"
CPE_NAME="cpe:/o:alt:server:9.1"
HOME_URL="https://basealt.ru/"
BUG_REPORT_URL="https://bugs.altlinux.org/"
[root@test99c21735-node01 ~]# rpm -q --whatprovides /usr/sbin/crm_master
pacemaker-cli-2.1.0-alt1.x86_64
[root@test99c21735-node01 ~]# rpm -q --whatprovides /usr/sbin/crm_attribute
pacemaker-cli-2.1.0-alt1.x86_64

В версии pacemaker-cli-2.0.3-alt1.x86_64 проблема не проявлялась.
Comment 1 Andrey Cherepanov 2021-08-03 16:07:07 MSK
(Ответ для Vadim Ponomarev на комментарий #0)
> Проблема: не стартую кластерные ресурсы типа (class=ocf provider=heartbeat
> type=pgsql) в кластере, собранном в Altlinux 9.
> 
> Причина: команда /usr/sbin/crm_attribute некорретно отрабатывает значения
> параметра -v, начинающиеся с символа -
> [root@test99c21735-node01 ~]# export
> OCF_RESOURCE_INSTANCE="test99c21735-clone"
> [root@test99c21735-node01 ~]# crm_mon -Afr1 | grep master-test99c21735-clone
>     * master-test99c21735-clone         : INFINITY
> [root@test99c21735-node01 ~]# /usr/sbin/crm_master -l reboot -v INFINITY
> [root@test99c21735-node01 ~]# crm_mon -Afr1 | grep master-test99c21735-clone
>     * master-test99c21735-clone         : INFINITY
> [root@test99c21735-node01 ~]# /usr/sbin/crm_master -l reboot -v -INFINITY
> Could not map name=FINITY to a UUID
> [root@test99c21735-node01 ~]# /usr/sbin/crm_attribute -n
> master-$OCF_RESOURCE_INSTANCE -l reboot -v -INFINITY
> Could not map name=FINITY to a UUID
> 
> Дополнительная информация:
> [root@test99c21735-node01 ~]# cat /etc/os-release
> NAME="ALT Server"
> VERSION="9.1"
> ID=altlinux
> VERSION_ID=9.1
> PRETTY_NAME="ALT Server 9.1 (FalcoRusticolus)"
> ANSI_COLOR="1;33"
> CPE_NAME="cpe:/o:alt:server:9.1"
> HOME_URL="https://basealt.ru/"
> BUG_REPORT_URL="https://bugs.altlinux.org/"
> [root@test99c21735-node01 ~]# rpm -q --whatprovides /usr/sbin/crm_master
> pacemaker-cli-2.1.0-alt1.x86_64
> [root@test99c21735-node01 ~]# rpm -q --whatprovides /usr/sbin/crm_attribute
> pacemaker-cli-2.1.0-alt1.x86_64
> 
> В версии pacemaker-cli-2.0.3-alt1.x86_64 проблема не проявлялась.

Попробуйте:
/usr/sbin/crm_master -l reboot -v '\-INFINITY'
Comment 2 Vadim Ponomarev 2021-08-03 16:49:40 MSK
(Ответ для Andrey Cherepanov на комментарий #1)
> (Ответ для Vadim Ponomarev на комментарий #0)
> > Проблема: не стартую кластерные ресурсы типа (class=ocf provider=heartbeat
> > type=pgsql) в кластере, собранном в Altlinux 9.
> > 
> > Причина: команда /usr/sbin/crm_attribute некорретно отрабатывает значения
> > параметра -v, начинающиеся с символа -
> > [root@test99c21735-node01 ~]# export
> > OCF_RESOURCE_INSTANCE="test99c21735-clone"
> > [root@test99c21735-node01 ~]# crm_mon -Afr1 | grep master-test99c21735-clone
> >     * master-test99c21735-clone         : INFINITY
> > [root@test99c21735-node01 ~]# /usr/sbin/crm_master -l reboot -v INFINITY
> > [root@test99c21735-node01 ~]# crm_mon -Afr1 | grep master-test99c21735-clone
> >     * master-test99c21735-clone         : INFINITY
> > [root@test99c21735-node01 ~]# /usr/sbin/crm_master -l reboot -v -INFINITY
> > Could not map name=FINITY to a UUID
> > [root@test99c21735-node01 ~]# /usr/sbin/crm_attribute -n
> > master-$OCF_RESOURCE_INSTANCE -l reboot -v -INFINITY
> > Could not map name=FINITY to a UUID
> > 
> > Дополнительная информация:
> > [root@test99c21735-node01 ~]# cat /etc/os-release
> > NAME="ALT Server"
> > VERSION="9.1"
> > ID=altlinux
> > VERSION_ID=9.1
> > PRETTY_NAME="ALT Server 9.1 (FalcoRusticolus)"
> > ANSI_COLOR="1;33"
> > CPE_NAME="cpe:/o:alt:server:9.1"
> > HOME_URL="https://basealt.ru/"
> > BUG_REPORT_URL="https://bugs.altlinux.org/"
> > [root@test99c21735-node01 ~]# rpm -q --whatprovides /usr/sbin/crm_master
> > pacemaker-cli-2.1.0-alt1.x86_64
> > [root@test99c21735-node01 ~]# rpm -q --whatprovides /usr/sbin/crm_attribute
> > pacemaker-cli-2.1.0-alt1.x86_64
> > 
> > В версии pacemaker-cli-2.0.3-alt1.x86_64 проблема не проявлялась.
> 
> Попробуйте:
> /usr/sbin/crm_master -l reboot -v '\-INFINITY'


[root@test99c21735-node01 ~]# /usr/sbin/crm_master -l reboot -v '\-INFINITY'
[root@test99c21735-node01 ~]# crm_mon -Afr1 | grep master-test99c21735-clone
    * master-test99c21735-clone         : \-INFINITY

Не работает (должно быть     * master-test99c21735-clone         : -INFINITY)
И даже если бы сработало, то это даже не workaround, поскольку кластерный агент pgsql содержит вызов crm_master без экранирующих символов, а править его - плохой путь.
Comment 3 Vadim Ponomarev 2021-08-03 17:01:12 MSK
править надо  crm_attribute, кластерный агент корректный (ну за исключением того что юзает depricated-утилиту crm_master), его трогать не стоит
на самом деле сделать "затычку" в crm_master легко, ибо работает

[root@test99c21735-node01 ~]# /usr/sbin/crm_attribute -n master-$OCF_RESOURCE_INSTANCE -l reboot --update=-INFINITY
[root@test99c21735-node01 ~]# crm_mon -Afr1 | grep master-test99c21735-clone
    * master-test99c21735-clone         : -INFINITY

Но это плохой путь. Сломан crm_attribute - его нужно починить.
Comment 4 Vadim Ponomarev 2021-10-08 11:05:13 MSK
Ошибка исправлена в pacemaker релиз 2.1.1:
Fixes since Pacemaker-2.1.0
 - tools: crm_attribute supports node attribute values starting with a '-' again (regression introduced in 2.1.0)

см. https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-2.1.1

Просьба собрать и заменить версию пакетов группы pacemaker c 2.1.0 на 2.1.1
Comment 5 Andrey Cherepanov 2021-10-08 11:27:09 MSK
(Ответ для Vadim Ponomarev на комментарий #4)
> Ошибка исправлена в pacemaker релиз 2.1.1:
> Fixes since Pacemaker-2.1.0
>  - tools: crm_attribute supports node attribute values starting with a '-'
> again (regression introduced in 2.1.0)
> 
> см. https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-2.1.1
> 
> Просьба собрать и заменить версию пакетов группы pacemaker c 2.1.0 на 2.1.1

Спасибо. 286631 BUILDING #1 [locked] p9 pacemaker.git=2.1.1-alt1
Comment 6 Vadim Ponomarev 2021-11-09 09:49:49 MSK
В ветках p9 и p10 появилось. Спасибо. 
Подскажите, а когда появится в ветке c9f1?
Comment 7 Andrey Cherepanov 2021-11-09 10:19:01 MSK
(Ответ для Vadim Ponomarev на комментарий #6)
> В ветках p9 и p10 появилось. Спасибо. 
> Подскажите, а когда появится в ветке c9f1?

Только после закрытия найденной CVE.
Comment 8 Andrey Cherepanov 2022-01-24 15:10:42 MSK
Исправлено.