* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-14 18:18 [devel] Q: Имя макроса для отложенного перезапуска сервисов Vladimir D. Seleznev
@ 2021-09-14 20:23 ` Michael Shigorin
2021-09-14 21:51 ` Dmitry V. Levin
2021-09-14 20:30 ` Andrew A. Vasilyev
` (4 subsequent siblings)
5 siblings, 1 reply; 27+ messages in thread
From: Michael Shigorin @ 2021-09-14 20:23 UTC (permalink / raw)
To: devel
On Tue, Sep 14, 2021 at 06:18:01PM +0000, Vladimir D. Seleznev wrote:
> Есть необходимость в отложенном перезапуске некоторых сервисов после
> обновления пакетов, для этих целей я решил придумать новый макрос
> (унифицированный для sysv и sd). Цель — сообщить rpm'у, что после
> завершения транзакции нужно перезапустить указанные сервисы. Рабочее имя
> этого макроса %post_service_delay (по аналогии с %post_service), но
> возможно оно не самое лучшее.
>
> Вопрос: какое имя для макроса вам кажется более удачным?
%posttrans_service?
--
---- WBR, Michael Shigorin / http://altlinux.org
------ http://opennet.ru / http://anna-news.info
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-14 20:23 ` Michael Shigorin
@ 2021-09-14 21:51 ` Dmitry V. Levin
0 siblings, 0 replies; 27+ messages in thread
From: Dmitry V. Levin @ 2021-09-14 21:51 UTC (permalink / raw)
To: ALT Devel discussion list
On Tue, Sep 14, 2021 at 11:23:45PM +0300, Michael Shigorin wrote:
> On Tue, Sep 14, 2021 at 06:18:01PM +0000, Vladimir D. Seleznev wrote:
> > Есть необходимость в отложенном перезапуске некоторых сервисов после
> > обновления пакетов, для этих целей я решил придумать новый макрос
> > (унифицированный для sysv и sd). Цель — сообщить rpm'у, что после
> > завершения транзакции нужно перезапустить указанные сервисы. Рабочее имя
> > этого макроса %post_service_delay (по аналогии с %post_service), но
> > возможно оно не самое лучшее.
> >
> > Вопрос: какое имя для макроса вам кажется более удачным?
>
> %posttrans_service?
Этот макрос предназначен для использования в %post.
--
ldv
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-14 18:18 [devel] Q: Имя макроса для отложенного перезапуска сервисов Vladimir D. Seleznev
2021-09-14 20:23 ` Michael Shigorin
@ 2021-09-14 20:30 ` Andrew A. Vasilyev
2021-09-14 20:34 ` Alexey V. Vissarionov
` (3 subsequent siblings)
5 siblings, 0 replies; 27+ messages in thread
From: Andrew A. Vasilyev @ 2021-09-14 20:30 UTC (permalink / raw)
To: devel
14.09.2021 21:18, Vladimir D. Seleznev пишет:
> Рабочее имя
> этого макроса %post_service_delay (по аналогии с %post_service), но
>
> Вопрос: какое имя для макроса вам кажется более удачным?
%post_service_delayed
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-14 18:18 [devel] Q: Имя макроса для отложенного перезапуска сервисов Vladimir D. Seleznev
2021-09-14 20:23 ` Michael Shigorin
2021-09-14 20:30 ` Andrew A. Vasilyev
@ 2021-09-14 20:34 ` Alexey V. Vissarionov
2021-09-14 20:51 ` Leonid Krivoshein
` (2 subsequent siblings)
5 siblings, 0 replies; 27+ messages in thread
From: Alexey V. Vissarionov @ 2021-09-14 20:34 UTC (permalink / raw)
To: ALT Linux Team development discussions
On 2021-09-14 18:18:01 +0000, Vladimir D. Seleznev wrote:
> Есть необходимость в отложенном перезапуске некоторых
> сервисов после обновления пакетов, для этих целей я решил
> придумать новый макрос (унифицированный для sysv и sd).
> Цель — сообщить rpm'у, что после завершения транзакции нужно
> перезапустить указанные сервисы. Рабочее имя этого макроса
> %post_service_delay (по аналогии с %post_service), но
> возможно оно не самое лучшее.
> Вопрос: какое имя для макроса вам кажется более удачным?
%postpone_service
И аналогия угадывается, и явное указание отложить запуск прямо
в названии содержится.
--
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-14 18:18 [devel] Q: Имя макроса для отложенного перезапуска сервисов Vladimir D. Seleznev
` (2 preceding siblings ...)
2021-09-14 20:34 ` Alexey V. Vissarionov
@ 2021-09-14 20:51 ` Leonid Krivoshein
2021-09-14 21:54 ` Dmitry V. Levin
` (2 more replies)
2021-09-14 23:08 ` Dmitry V. Levin
2021-12-10 10:15 ` Dmitry V. Levin
5 siblings, 3 replies; 27+ messages in thread
From: Leonid Krivoshein @ 2021-09-14 20:51 UTC (permalink / raw)
To: devel
14.09.2021 21:18, Vladimir D. Seleznev пишет:
> Hi!
>
> Есть необходимость в отложенном перезапуске некоторых сервисов после
> обновления пакетов, для этих целей я решил придумать новый макрос
> (унифицированный для sysv и sd). Цель — сообщить rpm'у, что после
> завершения транзакции
Надо сначала договориться, что здесь называть "завершением транзакции".
Потому что пачка пакетов -- это ещё не всегда та транзакция, после
которой надо чего-то перезапустить. Часто инсталлятор ставит систему для
systemd сам находясь в окружении sysv. Чего бы хотелось от rpm реально:
отложить до "момента X" необходимость отработки разных стадий (будь то
файл-триггеры, пост-установочные скрипты, перезапуск служб). А "момент
X" должен наступать при запуске rpm с соответствующими ключиками -- вот
это и есть "завершение транзакции".
В качестве пояснения: и инсталлятор, и m-p делает транзакции в понимании
rpm мелкогранулированными, это на самом деле тот подходящий момент,
когда надо чего-то запускать или менять. Или, допустим, я готовлю скелет
файловой системы в безопасном чруте или даже на "чужой" архитектуре, мне
не надо, чтобы отрабатывал код из %post до тех пор, пока эта эта вся
подготовленная система не окажется на реальном железе. Уж простите меня,
старого дебианщика.))
> нужно перезапустить указанные сервисы. Рабочее имя
> этого макроса %post_service_delay (по аналогии с %post_service), но
> возможно оно не самое лучшее.
>
> Вопрос: какое имя для макроса вам кажется более удачным?
--
Best regards,
Leonid Krivoshein.
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-14 20:51 ` Leonid Krivoshein
@ 2021-09-14 21:54 ` Dmitry V. Levin
2021-09-14 22:11 ` Leonid Krivoshein
2021-09-15 11:30 ` Anton V. Boyarshinov
2021-12-20 16:50 ` Mikhail Novosyolov
2 siblings, 1 reply; 27+ messages in thread
From: Dmitry V. Levin @ 2021-09-14 21:54 UTC (permalink / raw)
To: devel
On Tue, Sep 14, 2021 at 11:51:56PM +0300, Leonid Krivoshein wrote:
>
> 14.09.2021 21:18, Vladimir D. Seleznev пишет:
> > Hi!
> >
> > Есть необходимость в отложенном перезапуске некоторых сервисов после
> > обновления пакетов, для этих целей я решил придумать новый макрос
> > (унифицированный для sysv и sd). Цель — сообщить rpm'у, что после
> > завершения транзакции
>
> Надо сначала договориться, что здесь называть "завершением транзакции".
> Потому что пачка пакетов -- это ещё не всегда та транзакция, после
> которой надо чего-то перезапустить. Часто инсталлятор ставит систему для
Напомню на всякий случай, что речь идёт о рестарте после обновления пакетов.
--
ldv
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-14 21:54 ` Dmitry V. Levin
@ 2021-09-14 22:11 ` Leonid Krivoshein
0 siblings, 0 replies; 27+ messages in thread
From: Leonid Krivoshein @ 2021-09-14 22:11 UTC (permalink / raw)
To: devel
15.09.2021 0:54, Dmitry V. Levin пишет:
> On Tue, Sep 14, 2021 at 11:51:56PM +0300, Leonid Krivoshein wrote:
>> 14.09.2021 21:18, Vladimir D. Seleznev пишет:
>>> Hi!
>>>
>>> Есть необходимость в отложенном перезапуске некоторых сервисов после
>>> обновления пакетов, для этих целей я решил придумать новый макрос
>>> (унифицированный для sysv и sd). Цель — сообщить rpm'у, что после
>>> завершения транзакции
>> Надо сначала договориться, что здесь называть "завершением транзакции".
>> Потому что пачка пакетов -- это ещё не всегда та транзакция, после
>> которой надо чего-то перезапустить. Часто инсталлятор ставит систему для
> Напомню на всякий случай, что речь идёт о рестарте после обновления пакетов.
То есть, предлагаемый Володей функционал будет в любом случае полезен
при обновлении. Да, виноват, я говорил о другом: о возможности
откладывать часть операций на этапе подготовки и развёртывания, и в
нужный момент отрабатывать их по всем установленным пакетам.
--
Best regards,
Leonid Krivoshein.
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-14 20:51 ` Leonid Krivoshein
2021-09-14 21:54 ` Dmitry V. Levin
@ 2021-09-15 11:30 ` Anton V. Boyarshinov
2021-09-15 13:01 ` Alexey V. Vissarionov
2021-09-15 13:39 ` Leonid Krivoshein
2021-12-20 16:50 ` Mikhail Novosyolov
2 siblings, 2 replies; 27+ messages in thread
From: Anton V. Boyarshinov @ 2021-09-15 11:30 UTC (permalink / raw)
To: Leonid Krivoshein; +Cc: ALT Linux Team development discussions
В Tue, 14 Sep 2021 23:51:56 +0300
Leonid Krivoshein <klark.devel@gmail.com> пишет:
> В качестве пояснения: и инсталлятор, и m-p делает транзакции в понимании
> rpm мелкогранулированными, это на самом деле тот подходящий момент,
> когда надо чего-то запускать или менять.
Запускать сервисы в процессе работы установщика? 8-0
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-15 11:30 ` Anton V. Boyarshinov
@ 2021-09-15 13:01 ` Alexey V. Vissarionov
2021-09-15 13:39 ` Leonid Krivoshein
1 sibling, 0 replies; 27+ messages in thread
From: Alexey V. Vissarionov @ 2021-09-15 13:01 UTC (permalink / raw)
To: ALT Linux Team development discussions
On 2021-09-15 14:30:43 +0300, Anton V. Boyarshinov wrote:
>> В качестве пояснения: и инсталлятор, и m-p делает транзакции
>> в понимании rpm мелкогранулированными, это на самом деле тот
>> подходящий момент, когда надо чего-то запускать или менять.
> Запускать сервисы в процессе работы установщика? 8-0
Может, и не в процессе, а вот сразу после - иногда бывает вполне
оправдано. Например, `service sshd keygen` правильнее выполнять
именно после установки, когда была хорошая нагрузка на накопители
и сетевые устройства, и ядерный пул энтропии наполнился от ПКП и
через add_device_randomness()
--
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-15 11:30 ` Anton V. Boyarshinov
2021-09-15 13:01 ` Alexey V. Vissarionov
@ 2021-09-15 13:39 ` Leonid Krivoshein
1 sibling, 0 replies; 27+ messages in thread
From: Leonid Krivoshein @ 2021-09-15 13:39 UTC (permalink / raw)
To: ALT Linux Team development discussions
15.09.2021 14:30, Anton V. Boyarshinov пишет:
> В Tue, 14 Sep 2021 23:51:56 +0300
> Leonid Krivoshein <klark.devel@gmail.com> пишет:
>
>> В качестве пояснения: и инсталлятор, и m-p делает транзакции в понимании
>> rpm мелкогранулированными, это на самом деле тот подходящий момент,
>> когда надо чего-то запускать или менять.
> Запускать сервисы в процессе работы установщика? 8-0
Во-первых, тут вышла оговорочка, пропущена приставка "не": "это на самом
деле не тот подходящий момент...". Установщик и m-p ставят пакеты не в
одну транзакцию, как известно.
Во-вторых, я имел ввиду не только сервисы. Вот пример того, что могло бы
оказаться полезным: ставим все пакеты в некоем чруте с --notriggers и
--noscripts, потом на реальном железе полученное в чруте дерево
разворачиваем и одной командой заставляем отработать все не отработанные
триггеры и скрипты. То бишь это подготовка файловой системы для запуска,
например, на "чужой" архитектуре.
--
Best regards,
Leonid Krivoshein.
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-14 20:51 ` Leonid Krivoshein
2021-09-14 21:54 ` Dmitry V. Levin
2021-09-15 11:30 ` Anton V. Boyarshinov
@ 2021-12-20 16:50 ` Mikhail Novosyolov
2 siblings, 0 replies; 27+ messages in thread
From: Mikhail Novosyolov @ 2021-12-20 16:50 UTC (permalink / raw)
To: devel
14.09.2021 23:51, Leonid Krivoshein пишет:
>
> 14.09.2021 21:18, Vladimir D. Seleznev пишет:
>> Hi!
>>
>> Есть необходимость в отложенном перезапуске некоторых сервисов после
>> обновления пакетов, для этих целей я решил придумать новый макрос
>> (унифицированный для sysv и sd). Цель — сообщить rpm'у, что после
>> завершения транзакции
>
> Надо сначала договориться, что здесь называть "завершением транзакции". Потому что пачка пакетов -- это ещё не всегда та транзакция, после которой надо чего-то перезапустить. Часто инсталлятор ставит систему для systemd сам находясь в окружении sysv. Чего бы хотелось от rpm реально: отложить до "момента X" необходимость отработки разных стадий (будь то файл-триггеры, пост-установочные скрипты, перезапуск служб). А "момент X" должен наступать при запуске rpm с соответствующими ключиками -- вот это и есть "завершение транзакции".
>
> В качестве пояснения: и инсталлятор, и m-p делает транзакции в понимании rpm мелкогранулированными, это на самом деле тот подходящий момент, когда надо чего-то запускать или менять. Или, допустим, я готовлю скелет файловой системы в безопасном чруте или даже на "чужой" архитектуре, мне не надо, чтобы отрабатывал код из %post до тех пор, пока эта эта вся подготовленная система не окажется на реальном железе. Уж простите меня, старого дебианщика.))
Вы изобрели почти zypper - набор костыликов поверх rpm ))
Правильнее стремиться к крупной транзакции, в которой бы rpm сам разобрался, что и когда сделать.
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-14 18:18 [devel] Q: Имя макроса для отложенного перезапуска сервисов Vladimir D. Seleznev
` (3 preceding siblings ...)
2021-09-14 20:51 ` Leonid Krivoshein
@ 2021-09-14 23:08 ` Dmitry V. Levin
2021-09-15 6:04 ` Anton Farygin
2021-09-15 8:39 ` Konstantin Lepikhov
2021-12-10 10:15 ` Dmitry V. Levin
5 siblings, 2 replies; 27+ messages in thread
From: Dmitry V. Levin @ 2021-09-14 23:08 UTC (permalink / raw)
To: ALT Devel discussion list
On Tue, Sep 14, 2021 at 06:18:01PM +0000, Vladimir D. Seleznev wrote:
> Hi!
>
> Есть необходимость в отложенном перезапуске некоторых сервисов после
> обновления пакетов,
На самом деле планируется завести 2 новых макроса с условными названиями:
- %post_service_чтототам: добавляется в %post пакета с сервисом (вместо
%post_service) для того, чтобы этому сервису при обновлении был сделан
try-restart не сразу в %post, а по окончании транзакции обновления
пакетов;
- %pre_service: добавляется в %pre пакета с сервисом (вместо %post_service
в %post) для того, чтобы этому сервису при обновлении (если он был
запущен) был сделан stop в %pre и start по окончании транзакции
обновления пакетов (как сейчас сделано в postfix).
--
ldv
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-14 23:08 ` Dmitry V. Levin
@ 2021-09-15 6:04 ` Anton Farygin
2021-09-15 7:35 ` Dmitry V. Levin
2021-09-15 8:39 ` Konstantin Lepikhov
1 sibling, 1 reply; 27+ messages in thread
From: Anton Farygin @ 2021-09-15 6:04 UTC (permalink / raw)
To: devel
On 15.09.2021 02:08, Dmitry V. Levin wrote:
> On Tue, Sep 14, 2021 at 06:18:01PM +0000, Vladimir D. Seleznev wrote:
>> Hi!
>>
>> Есть необходимость в отложенном перезапуске некоторых сервисов после
>> обновления пакетов,
> На самом деле планируется завести 2 новых макроса с условными названиями:
>
> - %post_service_чтототам: добавляется в %post пакета с сервисом (вместо
> %post_service) для того, чтобы этому сервису при обновлении был сделан
> try-restart не сразу в %post, а по окончании транзакции обновления
> пакетов;
>
> - %pre_service: добавляется в %pre пакета с сервисом (вместо %post_service
> в %post) для того, чтобы этому сервису при обновлении (если он был
> запущен) был сделан stop в %pre и start по окончании транзакции
> обновления пакетов (как сейчас сделано в postfix).
Может быть сделать проще и перезапускать все обновлённые сервисы в конце
транзакции ?
Одним универсальным макросом ?
Ещё с такими макросами начинаются проблемы с приоритетами перезапуска.
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-15 6:04 ` Anton Farygin
@ 2021-09-15 7:35 ` Dmitry V. Levin
2021-09-15 8:29 ` Anton Farygin
0 siblings, 1 reply; 27+ messages in thread
From: Dmitry V. Levin @ 2021-09-15 7:35 UTC (permalink / raw)
To: devel
On Wed, Sep 15, 2021 at 09:04:03AM +0300, Anton Farygin wrote:
> On 15.09.2021 02:08, Dmitry V. Levin wrote:
> > On Tue, Sep 14, 2021 at 06:18:01PM +0000, Vladimir D. Seleznev wrote:
> >> Hi!
> >>
> >> Есть необходимость в отложенном перезапуске некоторых сервисов после
> >> обновления пакетов,
> > На самом деле планируется завести 2 новых макроса с условными названиями:
> >
> > - %post_service_чтототам: добавляется в %post пакета с сервисом (вместо
> > %post_service) для того, чтобы этому сервису при обновлении был сделан
> > try-restart не сразу в %post, а по окончании транзакции обновления
> > пакетов;
> >
> > - %pre_service: добавляется в %pre пакета с сервисом (вместо %post_service
> > в %post) для того, чтобы этому сервису при обновлении (если он был
> > запущен) был сделан stop в %pre и start по окончании транзакции
> > обновления пакетов (как сейчас сделано в postfix).
>
> Может быть сделать проще и перезапускать все обновлённые сервисы в конце
> транзакции ?
>
> Одним универсальным макросом ?
Если бы все сервисы были бы одинаковыми, то можно было бы сделать проще,
но нет, сервисы разные, одни надо перезапускать сразу, потому что у них во
время работы доступ к файлам из своих пакетов, другие надо перезапускать
по окончании транзакции обновления, потому что у них при старте доступ к
файлам из чужих пакетов (например, к плагинам), которые обновляются позже,
третьи надо останавливать на время обновления, потому что у них во время
работы доступ к файлам из чужих пакетов (например, к плагинам), которые
обновляются позже.
> Ещё с такими макросами начинаются проблемы с приоритетами перезапуска.
В порядке обновления пакетов, внутри пакетов - в порядке вызова макросов,
кроме того, если используется systemd, то там могут что-нибудь
переупорядочить согласно зависимостям сервисов.
--
ldv
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-15 7:35 ` Dmitry V. Levin
@ 2021-09-15 8:29 ` Anton Farygin
2021-09-15 8:39 ` Dmitry V. Levin
0 siblings, 1 reply; 27+ messages in thread
From: Anton Farygin @ 2021-09-15 8:29 UTC (permalink / raw)
To: devel
On 15.09.2021 10:35, Dmitry V. Levin wrote:
>> Ещё с такими макросами начинаются проблемы с приоритетами перезапуска.
> В порядке обновления пакетов, внутри пакетов - в порядке вызова макросов,
> кроме того, если используется systemd, то там могут что-нибудь
> переупорядочить согласно зависимостям сервисов.
т.е. - я к тому, что в ряде случаев я бы предпочёл этот перезапуск
переносить в файл-триггеры именно этих пакетов вместо повсеместного
использования таких макросов.
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-15 8:29 ` Anton Farygin
@ 2021-09-15 8:39 ` Dmitry V. Levin
2021-09-15 8:51 ` Anton Farygin
0 siblings, 1 reply; 27+ messages in thread
From: Dmitry V. Levin @ 2021-09-15 8:39 UTC (permalink / raw)
To: devel
On Wed, Sep 15, 2021 at 11:29:55AM +0300, Anton Farygin wrote:
> On 15.09.2021 10:35, Dmitry V. Levin wrote:
> >> Ещё с такими макросами начинаются проблемы с приоритетами перезапуска.
> > В порядке обновления пакетов, внутри пакетов - в порядке вызова макросов,
> > кроме того, если используется systemd, то там могут что-нибудь
> > переупорядочить согласно зависимостям сервисов.
>
> т.е. - я к тому, что в ряде случаев я бы предпочёл этот перезапуск
> переносить в файл-триггеры именно этих пакетов вместо повсеместного
> использования таких макросов.
Поскольку нужно поддерживать разные способы перезапуска, то нужен
интерфейс выбора способа перезапуска для каждого сервиса, т.е. макросы.
--
ldv
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-15 8:39 ` Dmitry V. Levin
@ 2021-09-15 8:51 ` Anton Farygin
0 siblings, 0 replies; 27+ messages in thread
From: Anton Farygin @ 2021-09-15 8:51 UTC (permalink / raw)
To: devel
On 15.09.2021 11:39, Dmitry V. Levin wrote:
> On Wed, Sep 15, 2021 at 11:29:55AM +0300, Anton Farygin wrote:
>> On 15.09.2021 10:35, Dmitry V. Levin wrote:
>>>> Ещё с такими макросами начинаются проблемы с приоритетами перезапуска.
>>> В порядке обновления пакетов, внутри пакетов - в порядке вызова макросов,
>>> кроме того, если используется systemd, то там могут что-нибудь
>>> переупорядочить согласно зависимостям сервисов.
>> т.е. - я к тому, что в ряде случаев я бы предпочёл этот перезапуск
>> переносить в файл-триггеры именно этих пакетов вместо повсеместного
>> использования таких макросов.
> Поскольку нужно поддерживать разные способы перезапуска, то нужен
> интерфейс выбора способа перезапуска для каждого сервиса, т.е. макросы.
>
Тогда осмысленно, например, добавить макрос, который будет делать
файлтриггер на содержимое транзакции.
Для примера, если есть какая служба с кучей плагинов в разных пакетах,
то её надо перезапускать после обновления любого из плагинов. В конце
транзакции.
При этом одни и те же плагины могут использоваться разными службами и из
самих плагинов определить необходимость перезапуска не представляется
возможным.
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-14 23:08 ` Dmitry V. Levin
2021-09-15 6:04 ` Anton Farygin
@ 2021-09-15 8:39 ` Konstantin Lepikhov
1 sibling, 0 replies; 27+ messages in thread
From: Konstantin Lepikhov @ 2021-09-15 8:39 UTC (permalink / raw)
To: devel
Hi Dmitry!
On 09/15/2021, at 02:08:34 AM you wrote:
> On Tue, Sep 14, 2021 at 06:18:01PM +0000, Vladimir D. Seleznev wrote:
> > Hi!
> >
> > Есть необходимость в отложенном перезапуске некоторых сервисов после
> > обновления пакетов,
>
> На самом деле планируется завести 2 новых макроса с условными названиями:
>
> - %post_service_чтототам: добавляется в %post пакета с сервисом (вместо
> %post_service) для того, чтобы этому сервису при обновлении был сделан
> try-restart не сразу в %post, а по окончании транзакции обновления
> пакетов;
>
> - %pre_service: добавляется в %pre пакета с сервисом (вместо %post_service
> в %post) для того, чтобы этому сервису при обновлении (если он был
> запущен) был сделан stop в %pre и start по окончании транзакции
> обновления пакетов (как сейчас сделано в postfix).
буду только рад, насколько я помню, в postfix куча хаков для этого. И мне также
пришлось делать подобные хаки для courier-authlib (именно из-за обновления
плагинов).
--
WBR et al.
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-09-14 18:18 [devel] Q: Имя макроса для отложенного перезапуска сервисов Vladimir D. Seleznev
` (4 preceding siblings ...)
2021-09-14 23:08 ` Dmitry V. Levin
@ 2021-12-10 10:15 ` Dmitry V. Levin
2021-12-10 10:51 ` Vladimir D. Seleznev
2021-12-20 17:00 ` Mikhail Novosyolov
5 siblings, 2 replies; 27+ messages in thread
From: Dmitry V. Levin @ 2021-12-10 10:15 UTC (permalink / raw)
To: ALT Devel discussion list
Hi,
On Tue, Sep 14, 2021 at 06:18:01PM +0000, Vladimir D. Seleznev wrote:
> Есть необходимость в отложенном перезапуске некоторых сервисов после
> обновления пакетов, для этих целей я решил придумать новый макрос
> (унифицированный для sysv и sd). Цель — сообщить rpm'у, что после
> завершения транзакции нужно перезапустить указанные сервисы. Рабочее имя
> этого макроса %post_service_delay (по аналогии с %post_service), но
> возможно оно не самое лучшее.
>
> Вопрос: какое имя для макроса вам кажется более удачным?
Я бы хотел, чтобы из имени макроса было понятно сразу две вещи:
- что макрос делает,
- для какой секции он предназначен.
Виталий предложил такие имена:
- %pre_service_stop_posttrans_start:
макрос для секции %pre, который останавливает service, и ставит этот
service в очередь на перезапуск по окончании транзакции;
- %post_service_posttrans_restart:
макрос для секции %post, который ставит service в очередь на перезапуск
по окончании транзакции.
--
ldv
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-12-10 10:15 ` Dmitry V. Levin
@ 2021-12-10 10:51 ` Vladimir D. Seleznev
2021-12-10 11:08 ` Dmitry V. Levin
2021-12-20 17:00 ` Mikhail Novosyolov
1 sibling, 1 reply; 27+ messages in thread
From: Vladimir D. Seleznev @ 2021-12-10 10:51 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Fri, Dec 10, 2021 at 01:15:53PM +0300, Dmitry V. Levin wrote:
> Hi,
>
> On Tue, Sep 14, 2021 at 06:18:01PM +0000, Vladimir D. Seleznev wrote:
> > Есть необходимость в отложенном перезапуске некоторых сервисов после
> > обновления пакетов, для этих целей я решил придумать новый макрос
> > (унифицированный для sysv и sd). Цель — сообщить rpm'у, что после
> > завершения транзакции нужно перезапустить указанные сервисы. Рабочее имя
> > этого макроса %post_service_delay (по аналогии с %post_service), но
> > возможно оно не самое лучшее.
> >
> > Вопрос: какое имя для макроса вам кажется более удачным?
>
> Я бы хотел, чтобы из имени макроса было понятно сразу две вещи:
> - что макрос делает,
> - для какой секции он предназначен.
>
> Виталий предложил такие имена:
> - %pre_service_stop_posttrans_start:
> макрос для секции %pre, который останавливает service, и ставит этот
> service в очередь на перезапуск по окончании транзакции;
> - %post_service_posttrans_restart:
> макрос для секции %post, который ставит service в очередь на перезапуск
> по окончании транзакции.
Я не в состоянии запомнить такие имена.
--
WBR,
Vladimir D. Seleznev
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-12-10 10:51 ` Vladimir D. Seleznev
@ 2021-12-10 11:08 ` Dmitry V. Levin
2021-12-15 23:57 ` Dmitry V. Levin
0 siblings, 1 reply; 27+ messages in thread
From: Dmitry V. Levin @ 2021-12-10 11:08 UTC (permalink / raw)
To: ALT Devel discussion list
On Fri, Dec 10, 2021 at 01:51:11PM +0300, Vladimir D. Seleznev wrote:
> On Fri, Dec 10, 2021 at 01:15:53PM +0300, Dmitry V. Levin wrote:
> > On Tue, Sep 14, 2021 at 06:18:01PM +0000, Vladimir D. Seleznev wrote:
> > > Есть необходимость в отложенном перезапуске некоторых сервисов после
> > > обновления пакетов, для этих целей я решил придумать новый макрос
> > > (унифицированный для sysv и sd). Цель — сообщить rpm'у, что после
> > > завершения транзакции нужно перезапустить указанные сервисы. Рабочее имя
> > > этого макроса %post_service_delay (по аналогии с %post_service), но
> > > возможно оно не самое лучшее.
> > >
> > > Вопрос: какое имя для макроса вам кажется более удачным?
> >
> > Я бы хотел, чтобы из имени макроса было понятно сразу две вещи:
> > - что макрос делает,
> > - для какой секции он предназначен.
> >
> > Виталий предложил такие имена:
> > - %pre_service_stop_posttrans_start:
> > макрос для секции %pre, который останавливает service, и ставит этот
> > service в очередь на перезапуск по окончании транзакции;
> > - %post_service_posttrans_restart:
> > макрос для секции %post, который ставит service в очередь на перезапуск
> > по окончании транзакции.
>
> Я не в состоянии запомнить такие имена.
Мне кажется, что это скорее плюс, чем минус, поскольку эти макросы следует
применять только тогда, когда обычный %post_service не очень подходит.
На мой взгляд, ничего страшного не случится, если в каждом таком случае
придётся заглядывать в справочник.
--
ldv
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-12-10 11:08 ` Dmitry V. Levin
@ 2021-12-15 23:57 ` Dmitry V. Levin
2021-12-16 6:38 ` Anton Farygin
0 siblings, 1 reply; 27+ messages in thread
From: Dmitry V. Levin @ 2021-12-15 23:57 UTC (permalink / raw)
To: ALT Devel discussion list
On Fri, Dec 10, 2021 at 02:08:12PM +0300, Dmitry V. Levin wrote:
> On Fri, Dec 10, 2021 at 01:51:11PM +0300, Vladimir D. Seleznev wrote:
> > On Fri, Dec 10, 2021 at 01:15:53PM +0300, Dmitry V. Levin wrote:
[...]
> > > Я бы хотел, чтобы из имени макроса было понятно сразу две вещи:
> > > - что макрос делает,
> > > - для какой секции он предназначен.
> > >
> > > Виталий предложил такие имена:
> > > - %pre_service_stop_posttrans_start:
> > > макрос для секции %pre, который останавливает service, и ставит этот
> > > service в очередь на перезапуск по окончании транзакции;
> > > - %post_service_posttrans_restart:
> > > макрос для секции %post, который ставит service в очередь на перезапуск
> > > по окончании транзакции.
> >
> > Я не в состоянии запомнить такие имена.
>
> Мне кажется, что это скорее плюс, чем минус, поскольку эти макросы следует
> применять только тогда, когда обычный %post_service не очень подходит.
>
> На мой взгляд, ничего страшного не случится, если в каждом таком случае
> придётся заглядывать в справочник.
OK, всем спасибо, эти макросы теперь в Сизифе, ими уже можно пользоваться.
--
ldv
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-12-15 23:57 ` Dmitry V. Levin
@ 2021-12-16 6:38 ` Anton Farygin
2021-12-16 10:34 ` Dmitry V. Levin
0 siblings, 1 reply; 27+ messages in thread
From: Anton Farygin @ 2021-12-16 6:38 UTC (permalink / raw)
To: devel
On 16.12.2021 02:57, Dmitry V. Levin wrote:
> On Fri, Dec 10, 2021 at 02:08:12PM +0300, Dmitry V. Levin wrote:
>> On Fri, Dec 10, 2021 at 01:51:11PM +0300, Vladimir D. Seleznev wrote:
>>> On Fri, Dec 10, 2021 at 01:15:53PM +0300, Dmitry V. Levin wrote:
> [...]
>>>> Я бы хотел, чтобы из имени макроса было понятно сразу две вещи:
>>>> - что макрос делает,
>>>> - для какой секции он предназначен.
>>>>
>>>> Виталий предложил такие имена:
>>>> - %pre_service_stop_posttrans_start:
>>>> макрос для секции %pre, который останавливает service, и ставит этот
>>>> service в очередь на перезапуск по окончании транзакции;
>>>> - %post_service_posttrans_restart:
>>>> макрос для секции %post, который ставит service в очередь на перезапуск
>>>> по окончании транзакции.
>>> Я не в состоянии запомнить такие имена.
>> Мне кажется, что это скорее плюс, чем минус, поскольку эти макросы следует
>> применять только тогда, когда обычный %post_service не очень подходит.
>>
>> На мой взгляд, ничего страшного не случится, если в каждом таком случае
>> придётся заглядывать в справочник.
> OK, всем спасибо, эти макросы теперь в Сизифе, ими уже можно пользоваться.
Что бы ими можно было хорошо пользоваться их надо бы в stable ветки
перенести.
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-12-16 6:38 ` Anton Farygin
@ 2021-12-16 10:34 ` Dmitry V. Levin
0 siblings, 0 replies; 27+ messages in thread
From: Dmitry V. Levin @ 2021-12-16 10:34 UTC (permalink / raw)
To: ALT Devel discussion list
On Thu, Dec 16, 2021 at 09:38:48AM +0300, Anton Farygin wrote:
> On 16.12.2021 02:57, Dmitry V. Levin wrote:
> > On Fri, Dec 10, 2021 at 02:08:12PM +0300, Dmitry V. Levin wrote:
> >> On Fri, Dec 10, 2021 at 01:51:11PM +0300, Vladimir D. Seleznev wrote:
> >>> On Fri, Dec 10, 2021 at 01:15:53PM +0300, Dmitry V. Levin wrote:
> > [...]
> >>>> Я бы хотел, чтобы из имени макроса было понятно сразу две вещи:
> >>>> - что макрос делает,
> >>>> - для какой секции он предназначен.
> >>>>
> >>>> Виталий предложил такие имена:
> >>>> - %pre_service_stop_posttrans_start:
> >>>> макрос для секции %pre, который останавливает service, и ставит этот
> >>>> service в очередь на перезапуск по окончании транзакции;
> >>>> - %post_service_posttrans_restart:
> >>>> макрос для секции %post, который ставит service в очередь на перезапуск
> >>>> по окончании транзакции.
> >>> Я не в состоянии запомнить такие имена.
> >> Мне кажется, что это скорее плюс, чем минус, поскольку эти макросы следует
> >> применять только тогда, когда обычный %post_service не очень подходит.
> >>
> >> На мой взгляд, ничего страшного не случится, если в каждом таком случае
> >> придётся заглядывать в справочник.
> > OK, всем спасибо, эти макросы теперь в Сизифе, ими уже можно пользоваться.
> Что бы ими можно было хорошо пользоваться их надо бы в stable ветки
> перенести.
%pre_service_stop_posttrans_start я уже задействовал в пакете postfix,
%который уже в Сизифе, но я бы предпочёл, чтобы эти макросы хотя бы
немного потестировали за пределами песочницы в разных конфигурациях.
Есть 2 фактора, которые влияют на поведение:
- включён сервис или нет;
- systemd или sysvinit.
Итого 4 конфигурации, я их все проверил на обновление postfix.
--
ldv
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-12-10 10:15 ` Dmitry V. Levin
2021-12-10 10:51 ` Vladimir D. Seleznev
@ 2021-12-20 17:00 ` Mikhail Novosyolov
2021-12-20 17:07 ` Dmitry V. Levin
1 sibling, 1 reply; 27+ messages in thread
From: Mikhail Novosyolov @ 2021-12-20 17:00 UTC (permalink / raw)
To: devel
10.12.2021 13:15, Dmitry V. Levin пишет:
> - %post_service_posttrans_restart:
> макрос для секции %post, который ставит service в очередь на перезапуск
> по окончании транзакции.
Такое сложное решение чем-то лучше просто перезапуска в %posttrans?
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [devel] Q: Имя макроса для отложенного перезапуска сервисов
2021-12-20 17:00 ` Mikhail Novosyolov
@ 2021-12-20 17:07 ` Dmitry V. Levin
0 siblings, 0 replies; 27+ messages in thread
From: Dmitry V. Levin @ 2021-12-20 17:07 UTC (permalink / raw)
To: ALT Devel discussion list
On Mon, Dec 20, 2021 at 08:00:30PM +0300, Mikhail Novosyolov wrote:
>
> 10.12.2021 13:15, Dmitry V. Levin пишет:
>
> > - %post_service_posttrans_restart:
> > макрос для секции %post, который ставит service в очередь на перезапуск
> > по окончании транзакции.
> Такое сложное решение чем-то лучше просто перезапуска в %posttrans?
Просто перезапуска в %posttrans недостаточно, поскольку что-то ещё нужно
делать в случае установки, а не обновления. Можно, конечно, всё перенести
в %posttrans, но %pre_service_stop_posttrans_start в %posttrans никак не
перенести, а реализация во многом общая, так что суммарно такой вариант
получается проще.
--
ldv
^ permalink raw reply [flat|nested] 27+ messages in thread