1 |
On Thu, 4 Dec 2014 12:55:44 -0600 William Hubbs wrote: |
2 |
> Several issues not related to the original have been brought up, which I |
3 |
> will briefly respond to, but let's try to move back to the original |
4 |
> issue I brought up, which is whether the early loop solver should break |
5 |
> loops or just output messages about them. |
6 |
|
7 |
Just make it configurable and let users to decide what they want. |
8 |
People who want their loops to be broken will use it. Algorithm |
9 |
itself looks quite reasonable and safe. If someone hesitates and |
10 |
prefers handle such cases manually, loop breaker may be disabled. |
11 |
|
12 |
> > > It seems to be a statement of fact that OpenRC ISN'T compatible with |
13 |
> > > LSB dependencies. What it "should" be is anything but a statement of |
14 |
> > > fact, which is what the word "should" means... |
15 |
> > |
16 |
> > Yes, it is not compatible now. And if OpenRC wants to step out of |
17 |
> > Gentoo scope to other distros, it should be. But as one can see, |
18 |
> > Gentoo will also benefit from proposed fixes, which will made OpenRC |
19 |
> > init system more robust and error-prone. |
20 |
> |
21 |
> We are talking about two issues; I did not mean for the lsb support to |
22 |
> get into this thread. I was just wanting to discuss the early loop solver. |
23 |
|
24 |
Issues are connected, that's why there were put into consideration |
25 |
also. Anyway discussion seems to be quite productive :) |
26 |
|
27 |
> > > I don't get why Gentoo gets by just fine with things as they are, but |
28 |
> > > nobody else apparently can. Just fix your dependencies. |
29 |
> > |
30 |
> > I don't have broken dependencies on my systems right now. And this |
31 |
> > is not a discussion of my personal issues at all. What I'm trying |
32 |
> > to do is to make OpenRC robust and resilient to errors which may |
33 |
> > occur as well as expand its scope outside of Gentoo as a mature |
34 |
> > init system. |
35 |
> |
36 |
> Being error-resistant is a good thing, but the issue with breaking |
37 |
> dependency loops without human intervention is we can't be sure we are |
38 |
> breaking them in a sane way. |
39 |
|
40 |
We can discuss early loop solver algorithm then. |
41 |
|
42 |
1. It respects need > after > use priority and never breaks need |
43 |
deps. "After" deps will be broken only if there is no "use" deps to |
44 |
broke. |
45 |
|
46 |
2. In case we have not a simple loop but branches, inner loops and |
47 |
so on algorithm uses heuristics to break as little dependencies as |
48 |
possible, keeping "after" upon "use". |
49 |
|
50 |
On algorithm details you should talk directly to xai (dyokunev), |
51 |
since he wrote them. But from my analysis they look safe, though |
52 |
some details may be optimized in future. |
53 |
|
54 |
> > > > Warnings for users about loops is a good idea for Gentoo, but will |
55 |
> > > > produce a lot of not always wanted output on Debian, that's why |
56 |
> > > > this option should be configurable. |
57 |
> |
58 |
> I'm not completely opposed to it being configurable. However, I am |
59 |
> opposed to the configurability being implemented the way it is in the |
60 |
> patch, because it breaks the public API for what I see as a minor gain, |
61 |
> if it is a gain at all. |
62 |
|
63 |
Then we should either look for a way to add it without API breaking |
64 |
or update the public API, if current version doesn't allow required |
65 |
features to be implemented. |
66 |
|
67 |
> For more ways to control how services stop/start/deal with the timeout |
68 |
> issue, you might want to look up the -stop and -timeout keywords in man |
69 |
> openrc-run. |
70 |
|
71 |
I'm aware of this option, but this is not exactly what I need. I'm |
72 |
interested in some kind of trigger which can change global timeout |
73 |
value to something like 1 second, so that a wrapper may be put into |
74 |
SHUDOWNCMD of upsmon.conf or OpenRC should support some hook to |
75 |
check for /etc/killpower and adjust timeout accordingly. Maybe I'm |
76 |
asking too much... |
77 |
|
78 |
Best regards, |
79 |
Andrew Savchenko |