I just realised that we can set up a oneshot for the disjunction with its dependencies being the intersection of the dependencies of all services in the disjunction, with the `up' and `down' being something like `s6-svwait -o -[ud] srv1 srv2 ...' ([ud]: `u' for `up', `d' for `down'), so perhaps no change is need after all in s6-rc.
Nevertheless, s6-svwait -o seems to also fail if some failure occurs before the wanted state is reached, eg. one `dnscrypt-proxy' instance reporting permanent failure before another one comes up successfully. So we might need to add an option to ignore such failures. On Tue, Feb 14, 2017 at 09:31:47PM +0000, Laurent Bercot wrote: > If that kind of setup can be generalized, I'm not opposed to adding a > "failover instance manager" set of programs to s6, because I believe it's > reasonably in scope. I would much rather do that than add disjunction > management to s6-rc. -- My current OpenPGP key: RSA4096/0x227E8CAAB7AA186C (expires: 2020.10.19) 7077 7781 B859 5166 AE07 0286 227E 8CAA B7AA 186C