Date: Wed, 31 May 2006 07:08:47 -0600 From: Alan Robertson <alanr@unix.sh> To: Gavan Fantom <gavan@coolfactor.org> Cc: freebsd-rc@freebsd.org, ocf@lists.community.tummy.com, tech-userlevel@netbsd.org, General Linux-HA mailing list <linux-ha@lists.linux-ha.org> Subject: Re: [Linux-HA] Integrating OCF framework w/ (Net|Free)BSD rc.d Message-ID: <447D955F.4070907@unix.sh> In-Reply-To: <447D87DC.7040104@coolfactor.org> References: <20060513015129.C95601@arbitor.digitalfreaks.org> <446D3B73.3040202@unix.sh> <447D87DC.7040104@coolfactor.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Gavan Fantom wrote: > Alan Robertson wrote: >> Brian A. Seklecki wrote: >>> What is OCF? The extensions required to make any RC script register a >>> system service as a Cluster Resource in the Linux-HA infrastructure. >>> >>> For those of you unfamiliar with OCF, please refer to the draft >>> standard at: >>> http://www.opencf.org/cgi-bin/viewcvs.cgi/specs/ra/resource-agent-api.txt?rev=HEAD >>> >>> http://linux-ha.org/HeartbeatResourceAgent >>> http://linux-ha.org/LSBResourceAgent >>> http://linux-ha.org/OCFResourceAgent >>> http://linux-ha.org/ResourceAgentSpecs >>> >>> Fortunately, our rc.d system infrastructure is sufficiently extensible >>> in nature to easily mitigate the need for duplicate OCF script coding >>> efforts by Port maintainers. Existing in-tree and Ports-provided >>> rc.d/ compliant scripts can be extended with very little effort. >> OK. You don't have to write OCF scripts if you don't want to. BUT, for >> R2, you really do want something equivalent to "status" operations. Is >> that available in *BSD rc.d scripts? > > /etc/rc.d/<script> status > > Does that do what you want? Well... OCF resource agents also have a (hopefully) more thorough test called "monitor". That's a value add over "status" (at least to some degree), as are a number of other things it does... But speaking from a minimum requirements basis: If status returns a reliable return code it probably meets the minimal needs. Minimally there needs to be at least two distinct classes of return codes: one for running and one for not running. Optimally, there ought to be at least three: Running, stopped, and something's-wrong-here. Is there some kind of metadata (description, etc) that one can mechanically get out of the scripts? In LSB init scripts, there is a certain style of comment which makes it possible for us to give some help to the user in configuring these resources. If such information can be obtained from BSD init scripts, then so much the better. (It's not strictly necessary, but it is nice). If you want to see how we "fake up" these kinds of things for the LSB init scripts, then see lib/plugins/raexeclsb.c. One could easily imagine a lib/plugins/raexecfreebsd.c that did what you needed. See also: http://cvs.linux-ha.org/viewcvs/viewcvs.cgi/*checkout*/linux-ha/lib/plugins/lrm/raexeclsb.c?content-type=text%2Fplain We're not going to write raexecfreebsd.c, but we'd certainly entertain a patch providing it ;-). [On the other hand, if you seriously wanted to switch to OCF style scripts, that would be absolutely awesome, and we'd love to discuss it. I'm sure that would be a difficult thing to sell folks on, but it has its advantages too]. -- Alan Robertson <alanr@unix.sh> "Openness is the foundation and preservative of friendship... Let me claim from you at all times your undisguised opinions." - William Wilberforce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?447D955F.4070907>