Bug#427499: Merge a few bugs and provide LSB header
Andre Felipe Machado
andremachado at techforce.com.br
Thu Feb 21 15:28:36 UTC 2008
Hello, Petter
Many thanks for the explanations.
> A weak dependency mean that it will not fail to register/install this
> script if the dependency is missing. If it is present (all $all
> matches all/any script, thus always present), the script have to start
> after and stop before its weak dependency. If it can't, the ordering
> is not well defined.
I read [0] and tried to move the cluster daemons to the end of init.d queue
as far as possible, in a defined order inside the group.
As the Should-Start does not guarantee this, removed then at the new
proposed headers below.
>
> The current implementation of insserv will first order all scripts
> according to their dependencies ignoring the $all, and finally move
> all scripts with the $all dependency to the last order + 1.
Given that $all is composed of "base" services, should not the order be
first honor the $all then the other strong dependencies in the header?
> Yes, if the packages have hard dependencies on each other and can know
> that other scripts will be installed in time, it can drop the
> $remote_fs dependency. I would not recommend it, though, as it
> document the need for a mounted /usr/ and it is useful to include in
> case the script dependencies are changed in the future.
>
Well, I do not have experience with insserv yet, so the objective is
to move the cluster daemons group to the very end of boot sequence in a
enforced defined order.
($all) > $network > $remote_fs > ssh > ccs > cman > fence > clvmd
There are system services like $named and $time and $syslog that should
start before any cluster daemon, if available.
Their absence could lead to troubles in a production site, but they are
not "essential" for a cluster start.
I suggest that redhat-cluster-suite depends on ssh too, because when
problems arise, without ssh is very difficult to solve them without
it. (my own experience).
I guess that the new proposed headers below will accomplish the objective
and still LSB 3.1 compliant (did not carefully check against 3.2 [1] but
seem
ok at first sight).
Please, review them.
### BEGIN INIT INFO
# Provides: clvmd
# Required-Start: $network $remote_fs fence
# Required-Stop: fence $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Cluster aware LVM daemon.
# Description: Coordinate LVM synchronization accross the
# Red Hat Cluster.
### END INIT INFO
### BEGIN INIT INFO
# Provides: fence
# Required-Start: $network $remote_fs cman
# Required-Stop: cman $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Cluster device fencing daemon.
# Description: Coordinate device fencing accross the
# Red Hat Cluster.
### END INIT INFO
### BEGIN INIT INFO
# Provides: cman
# Required-Start: $network $remote_fs ccs
# Required-Stop: ccs $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Cluster manager daemon.
# Description: Manage cluster synchronization accross the
# Red Hat Cluster.
### END INIT INFO
### BEGIN INIT INFO
# Provides: ccs
# Required-Start: $network $remote_fs ssh
# Required-Stop: ssh $remote_fs $network
# Should-Start: $all
# Should-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Cluster aware LVM daemon.
# Description: Cluster configuration system to manage the
# cluster.conf file across the
# Red Hat Cluster.
### END INIT INFO
Regards.
Andre Felipe Machado
[0]
http://refspecs.freestandards.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
[1]
http://refspecs.freestandards.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
--
"A Debian user never dies. Issues a last command:
shutdown -h now"
http://www.techforce.com.br
More information about the pkg-lvm-maintainers
mailing list