* Re: [devel] [git update] packages/nginx: heads/master
@ 2007-08-30 21:24 ` Dmitry V. Levin
2007-08-30 22:27 ` Konstantin A. Lepikhov
2007-08-31 14:11 ` Michael Shigorin
0 siblings, 2 replies; 13+ messages in thread
From: Dmitry V. Levin @ 2007-08-30 21:24 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 2289 bytes --]
On Fri, Aug 31, 2007 at 01:15:18AM +0400, Denis Smirnov wrote:
> Update of /people/mithraen/packages/nginx.git
[...]
> Full diff since `nginx/0.5.31-alt2' follows:
> diff --git a/nginx.init b/nginx.init
> index 342181a..290bf4e 100755
> --- a/nginx.init
> +++ b/nginx.init
> @@ -13,6 +13,8 @@ WITHOUT_RC_COMPAT=1
>
> LOCKFILE=/var/lock/nginx/nginx
> PIDFILE=/var/run/nginx.pid
> +OLDBINPID=/var/run/nginx.pid.oldbin
> +BINARY=/usr/sbin/nginx
Зачем это??
> RETVAL=0
>
> start()
> @@ -26,7 +28,7 @@ start()
>
> stop()
> {
> - stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root --name nginx -- /usr/sbin/nginx
> + stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root --name nginx -- $BINARY
Не нужен никакой $BINARY, выкиньте --name nginx и напишите по-человечески.
Может хотя бы /etc/init.d/template посмотрите?
> upgrade()
> {
> - check
> - RETVAL=$?
> - if [ $RETVAL -eq 0 ]; then
> - echo -n $"Upgrading nginx: "
> - kill -USR2 `cat $PIDFILE`
> + conftest
> RETVAL=$?
> + echo -n "Upgrading nginx: "
> + if [ $RETVAL -eq 0 ]; then
> + # TODO: use start-stop-daemon?
> + [ -s "$PIDFILE" ] && kill -USR2 `cat "$PIDFILE"`
> + RETVAL=$?
> + # let the signal through; the system might be fairly busy,
> + # so if we don't see the oldpidfile immediately, wait 5 sec
> + [ -s "$OLDBINPID" ] || sleep 5
> + [ -s "$OLDBINPID" ] && kill -TERM `cat "$OLDBINPID"`
> + success
> + else
> + failure
> + RETVAL=1
> + fi
Какому пользователю принадлежит файл $PIDFILE?
Делать
kill -USR2 `cat "$PIDFILE"`
не глядя нельзя, если слово "безопасность" для вас не пустой звук.
> condrestart)
> - [ -e "$LOCKFILE" ] && upgrade ||:
> + # package upgrade should invoke upgrade();
> + # sysadmin doing condrestart by hand
> + # should invoke restart() if nginx's running.
> + # see also manual/triggers in rpm docs
> + # and /usr/sbin/post_service
> + if ! [ "$RPM_INSTALL_ARG1" -ge 0 ] 2>/dev/null; then
> + if [ -e "$LOCKFILE" ]; then
> + restart
> + fi
> + exit 0
> + fi
> + if [ "$RPM_INSTALL_ARG1" -gt 1 ]; then
> + upgrade
> + fi
А почему при обновлении пакета нельзя выполнить обычный condrestart?
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master
2007-08-30 21:24 ` [devel] [git update] packages/nginx: heads/master Dmitry V. Levin
@ 2007-08-30 22:27 ` Konstantin A. Lepikhov
2007-08-31 0:09 ` Dmitry V. Levin
2007-08-31 14:11 ` Michael Shigorin
1 sibling, 1 reply; 13+ messages in thread
From: Konstantin A. Lepikhov @ 2007-08-30 22:27 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 459 bytes --]
Hi Dmitry!
Friday 31, at 01:24:22 AM you wrote:
...
> Зачем это??
...
>
> А почему при обновлении пакета нельзя выполнить обычный condrestart?
Это, видимо, пытались повторить рекомендации Сысоева по обновлению nginx "на
лету", т.е. без закрытия соединений - http://sysoev.ru/nginx/docs/control.html
Я тогда сделал upgrade как раз с полуручным управлением, поскольку логика
с откатом конфигурации требует участия человека.
--
WBR et al.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master
2007-08-30 22:27 ` Konstantin A. Lepikhov
@ 2007-08-31 0:09 ` Dmitry V. Levin
2007-08-31 0:32 ` Michael Shigorin
0 siblings, 1 reply; 13+ messages in thread
From: Dmitry V. Levin @ 2007-08-31 0:09 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 540 bytes --]
On Fri, Aug 31, 2007 at 02:27:55AM +0400, Konstantin A. Lepikhov wrote:
> Friday 31, at 01:24:22 AM you wrote:
>
> ...
> > Зачем это??
> ...
> >
> > А почему при обновлении пакета нельзя выполнить обычный condrestart?
> Это, видимо, пытались повторить рекомендации Сысоева по обновлению nginx "на
> лету", т.е. без закрытия соединений - http://sysoev.ru/nginx/docs/control.html
Может сперва сделать, чтобы этот nginx просто нормально работал не хуже
apache1, а потом уже будем заниматься усовершенствованиями?
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master
2007-08-31 0:09 ` Dmitry V. Levin
@ 2007-08-31 0:32 ` Michael Shigorin
2007-08-31 0:40 ` Dmitry V. Levin
0 siblings, 1 reply; 13+ messages in thread
From: Michael Shigorin @ 2007-08-31 0:32 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 981 bytes --]
On Fri, Aug 31, 2007 at 04:09:51AM +0400, Dmitry V. Levin wrote:
> > > А почему при обновлении пакета нельзя выполнить обычный
> > > condrestart?
> > Это, видимо, пытались повторить рекомендации Сысоева по
> > обновлению nginx "на лету", т.е. без закрытия соединений -
> > http://sysoev.ru/nginx/docs/control.html
> Может сперва сделать, чтобы этот nginx просто нормально работал
> не хуже apache1, а потом уже будем заниматься
> усовершенствованиями?
Я было так и подумал, но он вдруг починился. :)
Насчёт твоих сомнений по патчу для nginx.init::stop() --
постараюсь проверить, но фактически у меня именно так и
заработало (проверялось на хостовом /etc/init.d/nginx,
в сборку переносились только более-менее проверенные
изменения, с которыми проблемы вылазили уже при дальнейшей
проверке).
PS: никогда бы не подумал, что Сысоев(!) не осилил autotools...
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master
2007-08-31 0:32 ` Michael Shigorin
@ 2007-08-31 0:40 ` Dmitry V. Levin
2007-08-31 0:47 ` Michael Shigorin
0 siblings, 1 reply; 13+ messages in thread
From: Dmitry V. Levin @ 2007-08-31 0:40 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 707 bytes --]
On Fri, Aug 31, 2007 at 03:32:55AM +0300, Michael Shigorin wrote:
> On Fri, Aug 31, 2007 at 04:09:51AM +0400, Dmitry V. Levin wrote:
> > > > А почему при обновлении пакета нельзя выполнить обычный
> > > > condrestart?
> > > Это, видимо, пытались повторить рекомендации Сысоева по
> > > обновлению nginx "на лету", т.е. без закрытия соединений -
> > > http://sysoev.ru/nginx/docs/control.html
> > Может сперва сделать, чтобы этот nginx просто нормально работал
> > не хуже apache1, а потом уже будем заниматься
> > усовершенствованиями?
>
> Я было так и подумал, но он вдруг починился. :)
В принципе описанную схему реализовать несложно, если есть работающий
proof-of-concept.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master
2007-08-31 0:40 ` Dmitry V. Levin
@ 2007-08-31 0:47 ` Michael Shigorin
2007-08-31 1:10 ` Dmitry V. Levin
0 siblings, 1 reply; 13+ messages in thread
From: Michael Shigorin @ 2007-08-31 0:47 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 758 bytes --]
On Fri, Aug 31, 2007 at 04:40:21AM +0400, Dmitry V. Levin wrote:
> > > > > А почему при обновлении пакета нельзя выполнить обычный
> > > > > condrestart?
> > > > Это, видимо, пытались повторить рекомендации Сысоева по
> > > > обновлению nginx "на лету", т.е. без закрытия соединений
> > > > - http://sysoev.ru/nginx/docs/control.html
> > > Может сперва сделать, чтобы этот nginx просто нормально
> > > работал не хуже apache1, а потом уже будем заниматься
> > > усовершенствованиями?
> > Я было так и подумал, но он вдруг починился. :)
> В принципе описанную схему реализовать несложно, если есть
> работающий proof-of-concept.
Какую/какой?
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master
2007-08-31 0:47 ` Michael Shigorin
@ 2007-08-31 1:10 ` Dmitry V. Levin
2007-08-31 14:02 ` Michael Shigorin
0 siblings, 1 reply; 13+ messages in thread
From: Dmitry V. Levin @ 2007-08-31 1:10 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 877 bytes --]
On Fri, Aug 31, 2007 at 03:47:22AM +0300, Michael Shigorin wrote:
> On Fri, Aug 31, 2007 at 04:40:21AM +0400, Dmitry V. Levin wrote:
> > > > > > А почему при обновлении пакета нельзя выполнить обычный
> > > > > > condrestart?
> > > > > Это, видимо, пытались повторить рекомендации Сысоева по
> > > > > обновлению nginx "на лету", т.е. без закрытия соединений
> > > > > - http://sysoev.ru/nginx/docs/control.html
> > > > Может сперва сделать, чтобы этот nginx просто нормально
> > > > работал не хуже apache1, а потом уже будем заниматься
> > > > усовершенствованиями?
> > > Я было так и подумал, но он вдруг починился. :)
> > В принципе описанную схему реализовать несложно, если есть
> > работающий proof-of-concept.
>
> Какую/какой?
Схему, описанную у Сысоева, можно реализовать корректно,
если есть ещё кривая но уже работающая реализация.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master
2007-08-31 1:10 ` Dmitry V. Levin
@ 2007-08-31 14:02 ` Michael Shigorin
2007-08-31 21:43 ` Dmitry V. Levin
0 siblings, 1 reply; 13+ messages in thread
From: Michael Shigorin @ 2007-08-31 14:02 UTC (permalink / raw)
To: ALT Devel discussion list
On Fri, Aug 31, 2007 at 05:10:53AM +0400, Dmitry V. Levin wrote:
> > > > > Может сперва сделать, чтобы этот nginx просто нормально
> > > > > работал не хуже apache1, а потом уже будем заниматься
> > > > > усовершенствованиями?
> > > > Я было так и подумал, но он вдруг починился. :)
> > > В принципе описанную схему реализовать несложно, если есть
> > > работающий proof-of-concept.
> > Какую/какой?
> Схему, описанную у Сысоева, можно реализовать корректно,
> если есть ещё кривая но уже работающая реализация.
Так покатит?
http://git.altlinux.org/people/mike/packages/nginx.git?p=nginx.git;a=shortlog;h=mike/init-secure-fixup
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master
2007-08-30 21:24 ` [devel] [git update] packages/nginx: heads/master Dmitry V. Levin
2007-08-30 22:27 ` Konstantin A. Lepikhov
@ 2007-08-31 14:11 ` Michael Shigorin
2007-08-31 15:19 ` Денис Смирнов
1 sibling, 1 reply; 13+ messages in thread
From: Michael Shigorin @ 2007-08-31 14:11 UTC (permalink / raw)
To: ALT Devel discussion list
On Fri, Aug 31, 2007 at 01:24:22AM +0400, Dmitry V. Levin wrote:
> > +OLDBINPID=/var/run/nginx.pid.oldbin
> > +BINARY=/usr/sbin/nginx
> Зачем это??
Постфактум: Костик объяснил правильно; и оно почти работало.
Собственно, эти костыли были этапом экспериментов -- то, куда
оно пришло сегодня, вчера в общих чертах и представлялось.
> > - stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root --name nginx -- /usr/sbin/nginx
> > + stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root --name nginx -- $BINARY
> Не нужен никакой $BINARY, выкиньте --name nginx и напишите по-человечески.
> Может хотя бы /etc/init.d/template посмотрите?
Дим, смотрел и не раз.
Здесь проблема была не в починке методом s,nginx,/usr/sbin/nginx,
а в применении --name nginx с самого начала.
Где бы правильное применение задокументировать -- в template?
Каждый раз читать /etc/init.d/functions не очень интересно.
> Какому пользователю принадлежит файл $PIDFILE?
root:root
> Делать kill -USR2 `cat "$PIDFILE"` не глядя нельзя, если слово
> "безопасность" для вас не пустой звук.
А то. Более подробный анализ -- здесь:
https://bugzilla.altlinux.org/show_bug.cgi?id=12655#c9
> > condrestart)
> > - [ -e "$LOCKFILE" ] && upgrade ||:
> > + # package upgrade should invoke upgrade();
> > + # sysadmin doing condrestart by hand
> > + # should invoke restart() if nginx's running.
> > + # see also manual/triggers in rpm docs
> > + # and /usr/sbin/post_service
> > + if ! [ "$RPM_INSTALL_ARG1" -ge 0 ] 2>/dev/null; then
> > + if [ -e "$LOCKFILE" ]; then
> > + restart
> > + fi
> > + exit 0
> > + fi
> > + if [ "$RPM_INSTALL_ARG1" -gt 1 ]; then
> > + upgrade
> > + fi
> А почему при обновлении пакета нельзя выполнить обычный condrestart?
Поскольку можно круто выпендриться и выполнить необычный =)
Со времён nginx-0.1.x так хотел, но только теперь добрался.
УМВР и потому в git.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master
2007-08-31 14:11 ` Michael Shigorin
@ 2007-08-31 15:19 ` Денис Смирнов
2007-08-31 15:56 ` [devel] [git update] [JT] " Alexey I. Froloff
0 siblings, 1 reply; 13+ messages in thread
From: Денис Смирнов @ 2007-08-31 15:19 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 702 bytes --]
On Fri, Aug 31, 2007 at 05:11:58PM +0300, Michael Shigorin wrote:
>> А почему при обновлении пакета нельзя выполнить обычный condrestart?
MS> Поскольку можно круто выпендриться и выполнить необычный =)
MS> Со времён nginx-0.1.x так хотел, но только теперь добрался.
MS> УМВР и потому в git.
Поясняю -- nginx умеет "плавное" обновление -- то есть новые соединения
будут обслуживаться новыми дочками, а старые -- старыми. Таким образом
можно делать обновление на живой системе без остановки сервиса.
--
С уважением, Денис
http://freesource.info
----------------------------------------------------------------------------
Хочешь стать бесконечно значительным, раздели себя на ноль.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] [JT] packages/nginx: heads/master
2007-08-31 15:19 ` Денис Смирнов
@ 2007-08-31 15:56 ` Alexey I. Froloff
2007-09-01 13:09 ` Денис Смирнов
0 siblings, 1 reply; 13+ messages in thread
From: Alexey I. Froloff @ 2007-08-31 15:56 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 477 bytes --]
* Денис Смирнов <mithraen@> [070831 19:19]:
> Поясняю -- nginx умеет "плавное" обновление -- то есть новые соединения
> будут обслуживаться новыми дочками, а старые -- старыми. Таким образом
> можно делать обновление на живой системе без остановки сервиса.
Подумаешь? irssi тоже так умеет.
--
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
-------------------------------------------
Inform-Mobil, Ltd. System Administrator
http://www.inform-mobil.ru/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master
2007-08-31 14:02 ` Michael Shigorin
@ 2007-08-31 21:43 ` Dmitry V. Levin
0 siblings, 0 replies; 13+ messages in thread
From: Dmitry V. Levin @ 2007-08-31 21:43 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 844 bytes --]
On Fri, Aug 31, 2007 at 05:02:27PM +0300, Michael Shigorin wrote:
> On Fri, Aug 31, 2007 at 05:10:53AM +0400, Dmitry V. Levin wrote:
> > > > > > Может сперва сделать, чтобы этот nginx просто нормально
> > > > > > работал не хуже apache1, а потом уже будем заниматься
> > > > > > усовершенствованиями?
> > > > > Я было так и подумал, но он вдруг починился. :)
> > > > В принципе описанную схему реализовать несложно, если есть
> > > > работающий proof-of-concept.
> > > Какую/какой?
> > Схему, описанную у Сысоева, можно реализовать корректно,
> > если есть ещё кривая но уже работающая реализация.
>
> Так покатит?
>
> http://git.altlinux.org/people/mike/packages/nginx.git?p=nginx.git;a=shortlog;h=mike/init-secure-fixup
Спасибо,
в -alt4 настолько же лучше чем в -alt3, насколько
в -alt3 лучше чем в -alt1.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] [JT] packages/nginx: heads/master
2007-08-31 15:56 ` [devel] [git update] [JT] " Alexey I. Froloff
@ 2007-09-01 13:09 ` Денис Смирнов
0 siblings, 0 replies; 13+ messages in thread
From: Денис Смирнов @ 2007-09-01 13:09 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 565 bytes --]
On Fri, Aug 31, 2007 at 07:56:54PM +0400, Alexey I. Froloff wrote:
>> Поясняю -- nginx умеет "плавное" обновление -- то есть новые соединения
>> будут обслуживаться новыми дочками, а старые -- старыми. Таким образом
>> можно делать обновление на живой системе без остановки сервиса.
AIF> Подумаешь? irssi тоже так умеет.
Я к тому, что это требует отдельных плясок вокруг initscript'а.
--
С уважением, Денис
http://freesource.info
----------------------------------------------------------------------------
Плохомy пpогpаммеpy дpайвеpы мешают!
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2007-09-01 13:09 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-08-30 21:24 ` [devel] [git update] packages/nginx: heads/master Dmitry V. Levin
2007-08-30 22:27 ` Konstantin A. Lepikhov
2007-08-31 0:09 ` Dmitry V. Levin
2007-08-31 0:32 ` Michael Shigorin
2007-08-31 0:40 ` Dmitry V. Levin
2007-08-31 0:47 ` Michael Shigorin
2007-08-31 1:10 ` Dmitry V. Levin
2007-08-31 14:02 ` Michael Shigorin
2007-08-31 21:43 ` Dmitry V. Levin
2007-08-31 14:11 ` Michael Shigorin
2007-08-31 15:19 ` Денис Смирнов
2007-08-31 15:56 ` [devel] [git update] [JT] " Alexey I. Froloff
2007-09-01 13:09 ` Денис Смирнов
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