upstart po ostatnich zmianach...

Jacek Konieczny jajcus w jajcus.net
Pon, 14 Cze 2010, 08:16:50 CEST


On Sun, Jun 13, 2010 at 10:33:07PM +0200, Pawel Golaszewski wrote:
> On Sun, 13 Jun 2010, Jacek Konieczny wrote:
> > Mógłbyś spróbować odpalić tam upstarta z tego brancha:
> > 
> > https://code.launchpad.net/~jajcus-jajcus/upstart/state-save-stable
> > 
>
> A możesz wrzucić to na branch-a jakiegoś do cvs-u? :) będzie prościej :)

Nie ma sensu wrzucać tego gdziekolwiek poza launchpad, bo te zmiany
stracą wszelki sens jak nie zostaną przyjęte do upstream, a zamiast tego
wejdzie coś innego. Czekam na review chociaż…

> BTW - inna rzecz mi się rzuciła w oczy, która jest problematyczna.
> Chodzi o zmienne, na przykładzie pliku upstart-a z cronie będzie to 
> CROND_MAIL_PROG.
> 
> Te same zmienne są ustawiane dwojako:
> - w pliku /etc/init/<service>.conf
> - w pliku /etc/sysconfig/<service>
> 
> To będzie powodowało problemy ("które jest nadrzędne?", "dlaczego 
> ustawiłem, a nie działa?"...). Dodatkowo poprawki w nowszych wersjach 
> skryptu startowego (/etc/init/<service>.conf) będą tylko jako rpmnew. 
> Na coś trzeba się zdecydować i sysconfig będzie tu lepsze.

Ta… zamiast 'limit' itp. ustawień w *.conf, też proponujesz jakieś
SERVICE_ULIMITS w /etc/sysconfig/<service> itd? I w ogóle zamiast
prostego 'exec ...' wrzucić cały skrypt zaczynający się od:

. /etc/rc.d/init.d/functions
. /etc/sysconfig/service

? To właściwie po co bawić się w Upstart, jeżeli skończym na czymś co od
obecnych rc.d/init.d/* nie wiele będzie się różnić?

Upstart ma uprościć sprawę. Załatwić sam z siebie to, co teraz rzeźbimy
górą skryptów shellowych. SysVinit nie dawał nawet namiastki takiej
możliwości, Upstart, choć wciąż daleki od ideału, daje znacznie więcej.

Czytanie /etc/sysconfig/* dodałem to niektórych upstartowych jobów tylko
dla backward-compatibility.

Dlatego moim założeniem było: starać się, żeby pliki
/etc/init/<service>.conf były jak najprostsze i traktować je jako pliki
konfiguracyjne (/etc/rc.d/init.d/* też były kiedys %config, ale potem
się okazało, że to więcej kodu niż konfiguracji…)

Idealnie by było, jakby Upstart pozwalał mieć i szablon joba (gdzieś w
/lib/cośtam i /usr/share/cośtam, powiedzmy) a w /etc/init/*.conf można
było tylko uzupełnić joba o konfigurację (ale też podmienić skrypty, gdy
jest taka potrzeba). Niestety, na razie takiej możliwości nie ma i
trzeba całe *.conf traktować jako konfigurację.

Pozdrowienia,
        Jacek


Więcej informacji o liście dyskusyjnej pld-devel-pl