Lepsze rc-scripts (Re: SPECS (DEVEL): util-linux.spec - added buildcond with)

Paweł Sakowski pawel w sakowski.eu.org
Pon, 24 Maj 2004, 18:43:05 CEST


On Mon, 2004-05-24 at 08:25 +0200, Andrzej Krzysztofowicz wrote: 
> Ale tu tez o co innego chodzi: czy mozna zrobic takie "needs", zeby
> 1. szlo dalej w przypadku FAIL.
> 2. probowalo zrobic _dokladnie to samo_ pozniej ponownie
> ?

Przy ścisłym trzymaniu się zasady "need" punkt 1 nigdy nie zajdzie --
więc trzeba po prostu zamodelować needami dokładny moment, kiedy usługa
faktycznie może być wykonana (jak we wcześniejszym przykładzie kiedy
swap wymaga NFS).

> Taka sytuacje: A needs B needs C needs D
> I chcesz pomiedzy _kazdymi_ dwoma odpalac skrypt E...
> Projektowo nietrywialne IMO.

Ja bym spojrzał na to inaczej:

swap needs: swapon_/dev/hda3
swap needs: swapon_/home/services/swap
/home/services/swap needs: nfs
Zope needs: nothing [ale dobrze żeby było dużo swapu]

Chodzi o to, żeby tutaj wymusić porządek swapon_/dev/hda3, nfs,
swapon_/home/services/swap, tomcat. Czyli, żeby jeśli kilka usług może
się wykonać (ze względu na spełnienie need) to żeby startowały się
najpierw swapon_*, a potem dopiero inne. Modelowo do zrobienia --
wystarczy usługom dodać parametr "priority" i nie startować już
wykonalnych low-priority dopóki istnieją wykonalne niewykonane
high-priority.

Takie podejście wymaga jeszcze, żeby zaspokajanie needów nie było
robione przez stos wywołań (przez odpalanie /sbin/need), tylko z
jakiegoś procesu centralnego który będzie w stanie spośród procesów
czekających na odpalenie wybrać ten najpilniejszy. Wykonalne.

Chyba żaden z istniejących initscriptów nie obsługuje wszystkiego
powyższego. Jeśli ktoś by się zdecydował implementować własne
initscripty to zgłaszam się do pomocy. Sam wszystkiego nie uciągnę.
... no, może po sesji.

-- 
+----------------------------------------------------------------------+
| Paweł Sakowski <pawel w sakowski.eu.org>            Never trust a man  |
|                            who can count up to 1023 on his fingers.  |
+----------------------------------------------------------------------+




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