ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Поддержка systemd в post/preun_service скриптах
@ 2013-02-04 12:02 Pavel Shilovsky
  2013-02-04 12:10 ` Dmitry V. Levin
  2013-02-04 12:11 ` Alexey Shabalin
  0 siblings, 2 replies; 15+ messages in thread
From: Pavel Shilovsky @ 2013-02-04 12:02 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Добрый день!

Сейчас работаю над поддержкой и systemd и sysvinit в спеках OpenStack
(сейчас там жёстко пробито использование systemd, что делалось на
скорую руку). Обнаружил, что для нормальной поддержки обеих систем не
хватает того, что скрипты post_service и preun_service умели понимать,
что система работает с systemd и вызывали соответствующие команды.
Нашёл багу, где аналогичное уже сделано для скрипта service:
https://bugzilla.altlinux.org/show_bug.cgi?id=24989

Таким образом, моё предложение сводится к тому, чтобы добавить такие
же проверки в два вышеописанных скрипта, что позволит достаточно
безболезненно для спеков перейти на поддержку обеих систем:
http://git.altlinux.org/people/piastry/packages/?p=service.git;a=commitdiff;h=b46c1dea129b9cf35b80f76e0ff7302a3ccaf47d

Пример использования данного изменения пакетом rabbitmq-server,
который сейчас также жёстко использует systemd:
http://git.altlinux.org/people/piastry/packages/?p=rabbitmq-server.git;a=commitdiff;h=82e1f7ae9e8518de3c0eabf2e9d6769be655f32d

Кто что думает по данному вопросу?

-- 
Best regards,
Pavel Shilovsky.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [devel] Поддержка systemd в post/preun_service скриптах
  2013-02-04 12:02 [devel] Поддержка systemd в post/preun_service скриптах Pavel Shilovsky
@ 2013-02-04 12:10 ` Dmitry V. Levin
  2013-02-04 12:18   ` Pavel Shilovsky
  2013-02-04 12:11 ` Alexey Shabalin
  1 sibling, 1 reply; 15+ messages in thread
From: Dmitry V. Levin @ 2013-02-04 12:10 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 981 bytes --]

On Mon, Feb 04, 2013 at 04:02:23PM +0400, Pavel Shilovsky wrote:
> Добрый день!
> 
> Сейчас работаю над поддержкой и systemd и sysvinit в спеках OpenStack
> (сейчас там жёстко пробито использование systemd, что делалось на
> скорую руку). Обнаружил, что для нормальной поддержки обеих систем не
> хватает того, что скрипты post_service и preun_service умели понимать,
> что система работает с systemd и вызывали соответствующие команды.
> Нашёл багу, где аналогичное уже сделано для скрипта service:
> https://bugzilla.altlinux.org/show_bug.cgi?id=24989
> 
> Таким образом, моё предложение сводится к тому, чтобы добавить такие
> же проверки в два вышеописанных скрипта, что позволит достаточно
> безболезненно для спеков перейти на поддержку обеих систем:
> http://git.altlinux.org/people/piastry/packages/?p=service.git;a=commitdiff;h=b46c1dea129b9cf35b80f76e0ff7302a3ccaf47d

Это все нужно только для сервисов, у которых вообще нет init-скриптов?


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [devel] Поддержка systemd в post/preun_service скриптах
  2013-02-04 12:02 [devel] Поддержка systemd в post/preun_service скриптах Pavel Shilovsky
  2013-02-04 12:10 ` Dmitry V. Levin
@ 2013-02-04 12:11 ` Alexey Shabalin
  2013-02-04 12:29   ` Pavel Shilovsky
  1 sibling, 1 reply; 15+ messages in thread
From: Alexey Shabalin @ 2013-02-04 12:11 UTC (permalink / raw)
  To: ALT Linux Team development discussions

4 февраля 2013 г., 16:02 пользователь Pavel Shilovsky написал:
> Добрый день!
>
> Сейчас работаю над поддержкой и systemd и sysvinit в спеках OpenStack
> (сейчас там жёстко пробито использование systemd, что делалось на
> скорую руку). Обнаружил, что для нормальной поддержки обеих систем не
> хватает того, что скрипты post_service и preun_service умели понимать,
> что система работает с systemd и вызывали соответствующие команды.
> Нашёл багу, где аналогичное уже сделано для скрипта service:
> https://bugzilla.altlinux.org/show_bug.cgi?id=24989

Если Вы заметили, то баг закрыт, т.е. исправлен.
Больше ничего делать не надо.
service умеет понимать, зачем этому же учить post/preun_service?

> Таким образом, моё предложение сводится к тому, чтобы добавить такие
> же проверки в два вышеописанных скрипта, что позволит достаточно
> безболезненно для спеков перейти на поддержку обеих систем:
> http://git.altlinux.org/people/piastry/packages/?p=service.git;a=commitdiff;h=b46c1dea129b9cf35b80f76e0ff7302a3ccaf47d
>
> Пример использования данного изменения пакетом rabbitmq-server,
> который сейчас также жёстко использует systemd:
> http://git.altlinux.org/people/piastry/packages/?p=rabbitmq-server.git;a=commitdiff;h=82e1f7ae9e8518de3c0eabf2e9d6769be655f32d
>
> Кто что думает по данному вопросу?


--
Alexey Shabalin

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [devel] Поддержка systemd в post/preun_service скриптах
  2013-02-04 12:10 ` Dmitry V. Levin
@ 2013-02-04 12:18   ` Pavel Shilovsky
  0 siblings, 0 replies; 15+ messages in thread
From: Pavel Shilovsky @ 2013-02-04 12:18 UTC (permalink / raw)
  To: ALT Linux Team development discussions

4 февраля 2013 г., 16:10 пользователь Dmitry V. Levin
<ldv@altlinux.org> написал:
> On Mon, Feb 04, 2013 at 04:02:23PM +0400, Pavel Shilovsky wrote:
>> Добрый день!
>>
>> Сейчас работаю над поддержкой и systemd и sysvinit в спеках OpenStack
>> (сейчас там жёстко пробито использование systemd, что делалось на
>> скорую руку). Обнаружил, что для нормальной поддержки обеих систем не
>> хватает того, что скрипты post_service и preun_service умели понимать,
>> что система работает с systemd и вызывали соответствующие команды.
>> Нашёл багу, где аналогичное уже сделано для скрипта service:
>> https://bugzilla.altlinux.org/show_bug.cgi?id=24989
>>
>> Таким образом, моё предложение сводится к тому, чтобы добавить такие
>> же проверки в два вышеописанных скрипта, что позволит достаточно
>> безболезненно для спеков перейти на поддержку обеих систем:
>> http://git.altlinux.org/people/piastry/packages/?p=service.git;a=commitdiff;h=b46c1dea129b9cf35b80f76e0ff7302a3ccaf47d
>
> Это все нужно только для сервисов, у которых вообще нет init-скриптов?

Это нужно например для того, чтобы пакет Х, который содержит и init
скрипт и systemd .ini файл нормально устанавливался и удалялся в
системах а) с sysvinit и б) c systemd.

-- 
Best regards,
Pavel Shilovsky.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [devel] Поддержка systemd в post/preun_service скриптах
  2013-02-04 12:11 ` Alexey Shabalin
@ 2013-02-04 12:29   ` Pavel Shilovsky
  2013-02-04 12:35     ` Alexey Shabalin
  0 siblings, 1 reply; 15+ messages in thread
From: Pavel Shilovsky @ 2013-02-04 12:29 UTC (permalink / raw)
  To: ALT Linux Team development discussions

4 февраля 2013 г., 16:11 пользователь Alexey Shabalin
<a.shabalin@gmail.com> написал:
> 4 февраля 2013 г., 16:02 пользователь Pavel Shilovsky написал:
>> Добрый день!
>>
>> Сейчас работаю над поддержкой и systemd и sysvinit в спеках OpenStack
>> (сейчас там жёстко пробито использование systemd, что делалось на
>> скорую руку). Обнаружил, что для нормальной поддержки обеих систем не
>> хватает того, что скрипты post_service и preun_service умели понимать,
>> что система работает с systemd и вызывали соответствующие команды.
>> Нашёл багу, где аналогичное уже сделано для скрипта service:
>> https://bugzilla.altlinux.org/show_bug.cgi?id=24989
>
> Если Вы заметили, то баг закрыт, т.е. исправлен.
> Больше ничего делать не надо.
> service умеет понимать, зачем этому же учить post/preun_service?

Скрипты post/preun_service вызывают помимо service команду chckonfig.
В итоге мы получаем, что при использовании этих скриптов во время
установки и удалении пакета на системах с systemd сервисы не
регистрируются в системе, и надо руками их регистрировать. Именно для
исправления данного бага и предложен данный патч.


-- 
Best regards,
Pavel Shilovsky.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [devel] Поддержка systemd в post/preun_service скриптах
  2013-02-04 12:29   ` Pavel Shilovsky
@ 2013-02-04 12:35     ` Alexey Shabalin
  2013-02-05  0:14       ` Dmitry V. Levin
  0 siblings, 1 reply; 15+ messages in thread
From: Alexey Shabalin @ 2013-02-04 12:35 UTC (permalink / raw)
  To: ALT Linux Team development discussions

4 февраля 2013 г., 16:29 пользователь Pavel Shilovsky написал:
> 4 февраля 2013 г., 16:11 пользователь Alexey Shabalin
> <a.shabalin@gmail.com> написал:
>> 4 февраля 2013 г., 16:02 пользователь Pavel Shilovsky написал:
>>> Добрый день!
>>>
>>> Сейчас работаю над поддержкой и systemd и sysvinit в спеках OpenStack
>>> (сейчас там жёстко пробито использование systemd, что делалось на
>>> скорую руку). Обнаружил, что для нормальной поддержки обеих систем не
>>> хватает того, что скрипты post_service и preun_service умели понимать,
>>> что система работает с systemd и вызывали соответствующие команды.
>>> Нашёл багу, где аналогичное уже сделано для скрипта service:
>>> https://bugzilla.altlinux.org/show_bug.cgi?id=24989
>>
>> Если Вы заметили, то баг закрыт, т.е. исправлен.
>> Больше ничего делать не надо.
>> service умеет понимать, зачем этому же учить post/preun_service?
>
> Скрипты post/preun_service вызывают помимо service команду chckonfig.
chkconfig тоже обучен работе с systemd. сервисы успешно регистрируются.
Другое дело, что они по умолчанию в ALTLinux не включаются.

> В итоге мы получаем, что при использовании этих скриптов во время
> установки и удалении пакета на системах с systemd сервисы не
> регистрируются в системе, и надо руками их регистрировать. Именно для
> исправления данного бага и предложен данный патч.


--
Alexey Shabalin

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [devel] Поддержка systemd в post/preun_service скриптах
  2013-02-04 12:35     ` Alexey Shabalin
@ 2013-02-05  0:14       ` Dmitry V. Levin
  2013-02-05 10:40         ` Pavel Shilovsky
  2013-02-06 16:44         ` Alexey Shabalin
  0 siblings, 2 replies; 15+ messages in thread
From: Dmitry V. Levin @ 2013-02-05  0:14 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1570 bytes --]

On Mon, Feb 04, 2013 at 04:35:26PM +0400, Alexey Shabalin wrote:
> 4 февраля 2013 г., 16:29 пользователь Pavel Shilovsky написал:
> > 4 февраля 2013 г., 16:11 пользователь Alexey Shabalin написал:
> >> 4 февраля 2013 г., 16:02 пользователь Pavel Shilovsky написал:
> >>> Добрый день!
> >>>
> >>> Сейчас работаю над поддержкой и systemd и sysvinit в спеках OpenStack
> >>> (сейчас там жёстко пробито использование systemd, что делалось на
> >>> скорую руку). Обнаружил, что для нормальной поддержки обеих систем не
> >>> хватает того, что скрипты post_service и preun_service умели понимать,
> >>> что система работает с systemd и вызывали соответствующие команды.
> >>> Нашёл багу, где аналогичное уже сделано для скрипта service:
> >>> https://bugzilla.altlinux.org/show_bug.cgi?id=24989
> >>
> >> Если Вы заметили, то баг закрыт, т.е. исправлен.
> >> Больше ничего делать не надо.
> >> service умеет понимать, зачем этому же учить post/preun_service?
> >
> > Скрипты post/preun_service вызывают помимо service команду chckonfig.
> chkconfig тоже обучен работе с systemd. сервисы успешно регистрируются.

Обучить post/preun_service по аналогии с service все равно нужно для того,
чтобы проще было поддерживать сервисы, в которых есть service-файлы и
уже нет init-скриптов.  Но это надо сделать более тонко, чем в
вышеупомянутом патче.

> Другое дело, что они по умолчанию в ALTLinux не включаются.

Хорошо бы запаковать каталоги, описанные в systemd.preset(5), а также
/lib/systemd/system-preset/99-default.preset оттуда же.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [devel] Поддержка systemd в post/preun_service скриптах
  2013-02-05  0:14       ` Dmitry V. Levin
@ 2013-02-05 10:40         ` Pavel Shilovsky
  2013-02-05 11:40           ` Sergei Epiphanov
  2013-02-06  6:20           ` Pavel Shilovsky
  2013-02-06 16:44         ` Alexey Shabalin
  1 sibling, 2 replies; 15+ messages in thread
From: Pavel Shilovsky @ 2013-02-05 10:40 UTC (permalink / raw)
  To: ALT Linux Team development discussions

5 февраля 2013 г., 4:14 пользователь Dmitry V. Levin <ldv@altlinux.org> написал:
> On Mon, Feb 04, 2013 at 04:35:26PM +0400, Alexey Shabalin wrote:
>> 4 февраля 2013 г., 16:29 пользователь Pavel Shilovsky написал:
>> > 4 февраля 2013 г., 16:11 пользователь Alexey Shabalin написал:
>> >> 4 февраля 2013 г., 16:02 пользователь Pavel Shilovsky написал:
>> >>> Добрый день!
>> >>>
>> >>> Сейчас работаю над поддержкой и systemd и sysvinit в спеках OpenStack
>> >>> (сейчас там жёстко пробито использование systemd, что делалось на
>> >>> скорую руку). Обнаружил, что для нормальной поддержки обеих систем не
>> >>> хватает того, что скрипты post_service и preun_service умели понимать,
>> >>> что система работает с systemd и вызывали соответствующие команды.
>> >>> Нашёл багу, где аналогичное уже сделано для скрипта service:
>> >>> https://bugzilla.altlinux.org/show_bug.cgi?id=24989
>> >>
>> >> Если Вы заметили, то баг закрыт, т.е. исправлен.
>> >> Больше ничего делать не надо.
>> >> service умеет понимать, зачем этому же учить post/preun_service?
>> >
>> > Скрипты post/preun_service вызывают помимо service команду chckonfig.
>> chkconfig тоже обучен работе с systemd. сервисы успешно регистрируются.

Даже у конфигурации с сервисами, у которых есть и init скрипты и
service скрипты, это не работает должным образом. Например, при
обновлении пакета с изменением service скрипта на машине с systemd, не
перегружается конфигурация сервиса, о чём systemd сообщает, когда
post_service выполняет condrestart запущенного сервиса.

>
> Обучить post/preun_service по аналогии с service все равно нужно для того,
> чтобы проще было поддерживать сервисы, в которых есть service-файлы и
> уже нет init-скриптов.  Но это надо сделать более тонко, чем в
> вышеупомянутом патче.

Согласен, что данная реализация не самая лучшая. Возможно стоит
перенести определение используется ли systemd в системе или нет в
отдельный файл куда-нибудь в /usr/share/service-functions?

-- 
Best regards,
Pavel Shilovsky.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [devel] Поддержка systemd в post/preun_service скриптах
  2013-02-05 10:40         ` Pavel Shilovsky
@ 2013-02-05 11:40           ` Sergei Epiphanov
  2013-02-05 11:50             ` Pavel Shilovsky
  2013-02-06  6:20           ` Pavel Shilovsky
  1 sibling, 1 reply; 15+ messages in thread
From: Sergei Epiphanov @ 2013-02-05 11:40 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 5 февраля 2013 14:40 Pavel Shilovsky wrote:
> Даже у конфигурации с сервисами, у которых есть и init скрипты и
> service скрипты, это не работает должным образом. Например, при
> обновлении пакета с изменением service скрипта на машине с systemd, не
> перегружается конфигурация сервиса, о чём systemd сообщает, когда
> post_service выполняет condrestart запущенного сервиса.

Сейчас что при изменении .service файла, что файла из init.d, systemd ругается 
на необходимость перезагрузки конфигурации. Это выполняется автоматически по 
окончании установки?

-- 
С уважением, Епифанов Сергей

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [devel] Поддержка systemd в post/preun_service скриптах
  2013-02-05 11:40           ` Sergei Epiphanov
@ 2013-02-05 11:50             ` Pavel Shilovsky
  0 siblings, 0 replies; 15+ messages in thread
From: Pavel Shilovsky @ 2013-02-05 11:50 UTC (permalink / raw)
  To: ALT Linux Team development discussions

5 февраля 2013 г., 15:40 пользователь Sergei Epiphanov
<serpiph@nikiet.ru> написал:
> On 5 февраля 2013 14:40 Pavel Shilovsky wrote:
>> Даже у конфигурации с сервисами, у которых есть и init скрипты и
>> service скрипты, это не работает должным образом. Например, при
>> обновлении пакета с изменением service скрипта на машине с systemd, не
>> перегружается конфигурация сервиса, о чём systemd сообщает, когда
>> post_service выполняет condrestart запущенного сервиса.
>
> Сейчас что при изменении .service файла, что файла из init.d, systemd ругается
> на необходимость перезагрузки конфигурации. Это выполняется автоматически по
> окончании установки?

При установке обновления, которое меняет файла .service, требуется
перезагрузить конфигурацию перед рестартом данного сервиса, что сейчас
не делается автоматически. Собственно, мой патч и направлен на решение
этой проблемы.

-- 
Best regards,
Pavel Shilovsky.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [devel] Поддержка systemd в post/preun_service скриптах
  2013-02-05 10:40         ` Pavel Shilovsky
  2013-02-05 11:40           ` Sergei Epiphanov
@ 2013-02-06  6:20           ` Pavel Shilovsky
  1 sibling, 0 replies; 15+ messages in thread
From: Pavel Shilovsky @ 2013-02-06  6:20 UTC (permalink / raw)
  To: ALT Linux Team development discussions

5 февраля 2013 г., 14:40 пользователь Pavel Shilovsky
<piastry@altlinux.org> написал:
> 5 февраля 2013 г., 4:14 пользователь Dmitry V. Levin <ldv@altlinux.org> написал:
>> Обучить post/preun_service по аналогии с service все равно нужно для того,
>> чтобы проще было поддерживать сервисы, в которых есть service-файлы и
>> уже нет init-скриптов.  Но это надо сделать более тонко, чем в
>> вышеупомянутом патче.
>
> Согласен, что данная реализация не самая лучшая. Возможно стоит
> перенести определение используется ли systemd в системе или нет в
> отдельный файл куда-нибудь в /usr/share/service-functions?

Вынес определение systemd в отдельный файл. Новая версия патча доступна тут:
http://git.altlinux.org/people/piastry/packages/?p=service.git;a=commitdiff;h=7c5974a11c65a5eb5e080a8a4772e7c44df409fe

-- 
Best regards,
Pavel Shilovsky.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [devel] Поддержка systemd в post/preun_service скриптах
  2013-02-05  0:14       ` Dmitry V. Levin
  2013-02-05 10:40         ` Pavel Shilovsky
@ 2013-02-06 16:44         ` Alexey Shabalin
  2013-02-06 22:48           ` Dmitry V. Levin
  1 sibling, 1 reply; 15+ messages in thread
From: Alexey Shabalin @ 2013-02-06 16:44 UTC (permalink / raw)
  To: ALT Linux Team development discussions

5 февраля 2013 г., 4:14 пользователь Dmitry V. Levin написал:
> On Mon, Feb 04, 2013 at 04:35:26PM +0400, Alexey Shabalin wrote:
>> 4 февраля 2013 г., 16:29 пользователь Pavel Shilovsky написал:
>> > 4 февраля 2013 г., 16:11 пользователь Alexey Shabalin написал:
>> >> 4 февраля 2013 г., 16:02 пользователь Pavel Shilovsky написал:
>> >>> Добрый день!
>> >>>
>> >>> Сейчас работаю над поддержкой и systemd и sysvinit в спеках OpenStack
>> >>> (сейчас там жёстко пробито использование systemd, что делалось на
>> >>> скорую руку). Обнаружил, что для нормальной поддержки обеих систем не
>> >>> хватает того, что скрипты post_service и preun_service умели понимать,
>> >>> что система работает с systemd и вызывали соответствующие команды.
>> >>> Нашёл багу, где аналогичное уже сделано для скрипта service:
>> >>> https://bugzilla.altlinux.org/show_bug.cgi?id=24989
>> >>
>> >> Если Вы заметили, то баг закрыт, т.е. исправлен.
>> >> Больше ничего делать не надо.
>> >> service умеет понимать, зачем этому же учить post/preun_service?
>> >
>> > Скрипты post/preun_service вызывают помимо service команду chckonfig.
>> chkconfig тоже обучен работе с systemd. сервисы успешно регистрируются.
>
> Обучить post/preun_service по аналогии с service все равно нужно для того,
> чтобы проще было поддерживать сервисы, в которых есть service-файлы и
> уже нет init-скриптов.  Но это надо сделать более тонко, чем в
> вышеупомянутом патче.

В общем да. Существуют такие dbus-сервисы (например
accounts-daemon.service) для которых нет init-скрипта, но которые не
мешало бы рестартовать при systemd.

>
>> Другое дело, что они по умолчанию в ALTLinux не включаются.
>
> Хорошо бы запаковать каталоги, описанные в systemd.preset(5), а также
> /lib/systemd/system-preset/99-default.preset оттуда же.
Я упаковал пока федорину копию /lib/systemd/system-preset/90-default.preset
Теперь нужно ещё добавить вызовы systemctl preset.
Я пока не пакую никаких макросов для rpm.
Надо придумать куда лучше их вставить:
http://cgit.freedesktop.org/systemd/systemd/tree/src/core/macros.systemd.in

--
Alexey Shabalin

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [devel] Поддержка systemd в post/preun_service скриптах
  2013-02-06 16:44         ` Alexey Shabalin
@ 2013-02-06 22:48           ` Dmitry V. Levin
  2013-02-07  9:01             ` Pavel Shilovsky
  2013-02-07 10:52             ` Alexey Shabalin
  0 siblings, 2 replies; 15+ messages in thread
From: Dmitry V. Levin @ 2013-02-06 22:48 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 2772 bytes --]

On Wed, Feb 06, 2013 at 08:44:15PM +0400, Alexey Shabalin wrote:
> 5 февраля 2013 г., 4:14 пользователь Dmitry V. Levin написал:
> > On Mon, Feb 04, 2013 at 04:35:26PM +0400, Alexey Shabalin wrote:
> >> 4 февраля 2013 г., 16:29 пользователь Pavel Shilovsky написал:
> >> > 4 февраля 2013 г., 16:11 пользователь Alexey Shabalin написал:
> >> >> 4 февраля 2013 г., 16:02 пользователь Pavel Shilovsky написал:
> >> >>> Добрый день!
> >> >>>
> >> >>> Сейчас работаю над поддержкой и systemd и sysvinit в спеках OpenStack
> >> >>> (сейчас там жёстко пробито использование systemd, что делалось на
> >> >>> скорую руку). Обнаружил, что для нормальной поддержки обеих систем не
> >> >>> хватает того, что скрипты post_service и preun_service умели понимать,
> >> >>> что система работает с systemd и вызывали соответствующие команды.
> >> >>> Нашёл багу, где аналогичное уже сделано для скрипта service:
> >> >>> https://bugzilla.altlinux.org/show_bug.cgi?id=24989
> >> >>
> >> >> Если Вы заметили, то баг закрыт, т.е. исправлен.
> >> >> Больше ничего делать не надо.
> >> >> service умеет понимать, зачем этому же учить post/preun_service?
> >> >
> >> > Скрипты post/preun_service вызывают помимо service команду chckonfig.
> >> chkconfig тоже обучен работе с systemd. сервисы успешно регистрируются.
> >
> > Обучить post/preun_service по аналогии с service все равно нужно для того,
> > чтобы проще было поддерживать сервисы, в которых есть service-файлы и
> > уже нет init-скриптов.  Но это надо сделать более тонко, чем в
> > вышеупомянутом патче.
> 
> В общем да. Существуют такие dbus-сервисы (например
> accounts-daemon.service) для которых нет init-скрипта, но которые не
> мешало бы рестартовать при systemd.
> 
> >
> >> Другое дело, что они по умолчанию в ALTLinux не включаются.
> >
> > Хорошо бы запаковать каталоги, описанные в systemd.preset(5), а также
> > /lib/systemd/system-preset/99-default.preset оттуда же.
> Я упаковал пока федорину копию /lib/systemd/system-preset/90-default.preset

Что-то там уж больно много всякой всячины разрешено.
И федоризмы остались, такие как atd (у нас atd встроен в crond).

> Теперь нужно ещё добавить вызовы systemctl preset.

Вот прямо в post_service его и надо будет вставить.

> Я пока не пакую никаких макросов для rpm.
> Надо придумать куда лучше их вставить:
> http://cgit.freedesktop.org/systemd/systemd/tree/src/core/macros.systemd.in

По идее, после доработки {post,preun}_service нам будет достаточно
нынешних %{post,preun}_service.

Насколько я понимаю, в случае sd_booted реализация post_service должна
делать примерно то же, что %systemd_post и %systemd_postun_with_restart
вместе взятые, в preun_service - примерно то же, что %systemd_preun.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [devel] Поддержка systemd в post/preun_service скриптах
  2013-02-06 22:48           ` Dmitry V. Levin
@ 2013-02-07  9:01             ` Pavel Shilovsky
  2013-02-07 10:52             ` Alexey Shabalin
  1 sibling, 0 replies; 15+ messages in thread
From: Pavel Shilovsky @ 2013-02-07  9:01 UTC (permalink / raw)
  To: ALT Linux Team development discussions

7 февраля 2013 г., 2:48 пользователь Dmitry V. Levin <ldv@altlinux.org> написал:
> On Wed, Feb 06, 2013 at 08:44:15PM +0400, Alexey Shabalin wrote:
>> 5 февраля 2013 г., 4:14 пользователь Dmitry V. Levin написал:
>> > On Mon, Feb 04, 2013 at 04:35:26PM +0400, Alexey Shabalin wrote:
>> >> 4 февраля 2013 г., 16:29 пользователь Pavel Shilovsky написал:
>> >> > 4 февраля 2013 г., 16:11 пользователь Alexey Shabalin написал:
>> >> >> 4 февраля 2013 г., 16:02 пользователь Pavel Shilovsky написал:
>> >> >>> Добрый день!
>> >> >>>
>> >> >>> Сейчас работаю над поддержкой и systemd и sysvinit в спеках OpenStack
>> >> >>> (сейчас там жёстко пробито использование systemd, что делалось на
>> >> >>> скорую руку). Обнаружил, что для нормальной поддержки обеих систем не
>> >> >>> хватает того, что скрипты post_service и preun_service умели понимать,
>> >> >>> что система работает с systemd и вызывали соответствующие команды.
>> >> >>> Нашёл багу, где аналогичное уже сделано для скрипта service:
>> >> >>> https://bugzilla.altlinux.org/show_bug.cgi?id=24989
>> >> >>
>> >> >> Если Вы заметили, то баг закрыт, т.е. исправлен.
>> >> >> Больше ничего делать не надо.
>> >> >> service умеет понимать, зачем этому же учить post/preun_service?
>> >> >
>> >> > Скрипты post/preun_service вызывают помимо service команду chckonfig.
>> >> chkconfig тоже обучен работе с systemd. сервисы успешно регистрируются.
>> >
>> > Обучить post/preun_service по аналогии с service все равно нужно для того,
>> > чтобы проще было поддерживать сервисы, в которых есть service-файлы и
>> > уже нет init-скриптов.  Но это надо сделать более тонко, чем в
>> > вышеупомянутом патче.
>>
>> В общем да. Существуют такие dbus-сервисы (например
>> accounts-daemon.service) для которых нет init-скрипта, но которые не
>> мешало бы рестартовать при systemd.
>>
>> >
>> >> Другое дело, что они по умолчанию в ALTLinux не включаются.
>> >
>> > Хорошо бы запаковать каталоги, описанные в systemd.preset(5), а также
>> > /lib/systemd/system-preset/99-default.preset оттуда же.
>> Я упаковал пока федорину копию /lib/systemd/system-preset/90-default.preset
>
> Что-то там уж больно много всякой всячины разрешено.
> И федоризмы остались, такие как atd (у нас atd встроен в crond).
>
>> Теперь нужно ещё добавить вызовы systemctl preset.
>
> Вот прямо в post_service его и надо будет вставить.
>
>> Я пока не пакую никаких макросов для rpm.
>> Надо придумать куда лучше их вставить:
>> http://cgit.freedesktop.org/systemd/systemd/tree/src/core/macros.systemd.in
>
> По идее, после доработки {post,preun}_service нам будет достаточно
> нынешних %{post,preun}_service.
>
> Насколько я понимаю, в случае sd_booted реализация post_service должна
> делать примерно то же, что %systemd_post и %systemd_postun_with_restart
> вместе взятые, в preun_service - примерно то же, что %systemd_preun.

Сделал что-то похожее на предложенное выше:
http://git.altlinux.org/people/piastry/packages/?p=service.git;a=commitdiff;h=950540de8cf8e5987c5694a529efded393ed8bfa

-- 
Best regards,
Pavel Shilovsky.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [devel] Поддержка systemd в post/preun_service скриптах
  2013-02-06 22:48           ` Dmitry V. Levin
  2013-02-07  9:01             ` Pavel Shilovsky
@ 2013-02-07 10:52             ` Alexey Shabalin
  1 sibling, 0 replies; 15+ messages in thread
From: Alexey Shabalin @ 2013-02-07 10:52 UTC (permalink / raw)
  To: ALT Linux Team development discussions

7 февраля 2013 г., 2:48 пользователь Dmitry V. Levin  написал:
>> >
>> >> Другое дело, что они по умолчанию в ALTLinux не включаются.
>> >
>> > Хорошо бы запаковать каталоги, описанные в systemd.preset(5), а также
>> > /lib/systemd/system-preset/99-default.preset оттуда же.
>> Я упаковал пока федорину копию /lib/systemd/system-preset/90-default.preset
>
> Что-то там уж больно много всякой всячины разрешено.
> И федоризмы остались, такие как atd (у нас atd встроен в crond).

Давайте в systemd я упакую только 99-default.preset с политикой "выключить все".
А остальные preset лучше размещать в каких-нибудь
branding-altlinux-(server|desktop|*)


--
Alexey Shabalin

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2013-02-07 10:52 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-04 12:02 [devel] Поддержка systemd в post/preun_service скриптах Pavel Shilovsky
2013-02-04 12:10 ` Dmitry V. Levin
2013-02-04 12:18   ` Pavel Shilovsky
2013-02-04 12:11 ` Alexey Shabalin
2013-02-04 12:29   ` Pavel Shilovsky
2013-02-04 12:35     ` Alexey Shabalin
2013-02-05  0:14       ` Dmitry V. Levin
2013-02-05 10:40         ` Pavel Shilovsky
2013-02-05 11:40           ` Sergei Epiphanov
2013-02-05 11:50             ` Pavel Shilovsky
2013-02-06  6:20           ` Pavel Shilovsky
2013-02-06 16:44         ` Alexey Shabalin
2013-02-06 22:48           ` Dmitry V. Levin
2013-02-07  9:01             ` Pavel Shilovsky
2013-02-07 10:52             ` Alexey Shabalin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git