Re: [Openais] new config system

2008-03-27 Thread Christine Caulfield
David Teigland wrote:
 On Wed, Mar 26, 2008 at 12:24:23PM -0700, Steven Dake wrote:
 This diagram indicates there is a need for two separate levels of
 datahiding.  The first level is the libcsdb (corosync db) which then
 some other library parses for information specific to the cluster stack.
 Then this other api is used.  In my mind this type of double abstraction
 serves no purpose.  They both serve up the same data.  It also may
 
 Right, libcsdb isn't doing anything, scratch it out.  I just added it
 because Chrissie suggested another lib in there might help.

The main reason for the double library was to avoid linking libxml with
an openais component. While I'm clear (and heartly agree) that large
external libraries should not be part of the exec I had a bit of a hard
time getting a clear policy for IPC-based libraries.

I'm not wedded to either solution, I was largely hedging my bets.

 Caching these values is not suitable in my opinion.  Just use the rest
 of the infrastructure we already have in place to parse them and put
 them in the objdb and make them available via some unnamed api.
 
 Fine, scratch that too, it's not important.
 

I'm not going to push this either way at the moment, but I think we
should keep in available as an option. It might be helpful as an
emergency fallback to get a cluster up where there is no other way of
getting configuration information.

-- 

Chrissie
___
Openais mailing list
Openais@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/openais


Re: [Openais] new config system

2008-03-27 Thread angus salkeld
Hi

Wouldn't this be solved quite well with the AIS-IMM interface?

Obvously it hasn't been implemeted, but if you implemented a subset of the 
interface
you could get what you are after and we could all benefit from more 
of the AIS spec been implemented.

Initially you could make use of the ImmOi (Object Implementer) interface.

P.S. : I am just starting work on this.

Regards
-Angus

___
Openais mailing list
Openais@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/openais


Re: [Openais] new config system

2008-03-26 Thread Lon Hohberger
On Wed, 2008-03-26 at 10:32 -0500, David Teigland wrote:

 
 [1] Just to be clear, the meta-configuration idea is where a variety of
 config files can be used to populate a central config-file-agnostic
 respository.  A single interface is used by all to read config data from
 the repository.  Even if we did this, I don't see what it would give us
 anything.  All our existing applications access data that's only specified
 in a single config file anyway, so interchangable back-end files would be
 an unused feature.

True, it doesn't give _us_ much to be agnostic to what the config file
format looks like.

However, with different back-ends used to populate the single config
repo at run-time, we then have the ability to not have config files at
all (well, except the meta-config stuff).

What I mean is: An administrator might like to store the cluster
configuration in an inventory database which isn't local to the cluster
itself (e.g. LDAP, or whatever).  This might not be a requirement now,
but that was one of the points of having multiple config back-ends,
IIRC.

I guess there's no reason that we couldn't cache a local copy of the
configuration... *shrug*

-- Lon



___
Openais mailing list
Openais@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/openais


Re: [Openais] new config system

2008-03-26 Thread David Teigland
On Wed, Mar 26, 2008 at 11:57:59AM -0400, Lon Hohberger wrote:
 On Wed, 2008-03-26 at 10:32 -0500, David Teigland wrote:
 
  
  [1] Just to be clear, the meta-configuration idea is where a variety of
  config files can be used to populate a central config-file-agnostic
  respository.  A single interface is used by all to read config data from
  the repository.  Even if we did this, I don't see what it would give us
  anything.  All our existing applications access data that's only specified
  in a single config file anyway, so interchangable back-end files would be
  an unused feature.
 
 True, it doesn't give _us_ much to be agnostic to what the config file
 format looks like.
 
 However, with different back-ends used to populate the single config
 repo at run-time, we then have the ability to not have config files at
 all (well, except the meta-config stuff).
 
 What I mean is: An administrator might like to store the cluster
 configuration in an inventory database which isn't local to the cluster
 itself (e.g. LDAP, or whatever).  This might not be a requirement now,
 but that was one of the points of having multiple config back-ends,
 IIRC.

That's what I had in mind with the other? arrow pointing up at
libcmanconf.  Multiple back-ends for libcmanconf is one thing (good,
simple); multiple back-ends for a meta-configuration database with a
meta-API is what I've become skeptical about.

___
Openais mailing list
Openais@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/openais


Re: [Openais] new config system

2008-03-26 Thread David Teigland
On Wed, Mar 26, 2008 at 10:32:54AM -0500, David Teigland wrote:
 A while back I drew this diagram to show what we were aiming to design, in
 broad terms, for the next generation aisexec/cman config system:
 
   http://people.redhat.com/teigland/cman3.jpg
 
 I think perhaps that diagram attempts to do too much, and I've drawn
 another:
 
   http://people.redhat.com/teigland/cman3b.jpg
 
 The big problem I see with the first diagram is that it tries to use objdb
 to solve the meta-configuration problem [1].  That's a hard problem, I'm
 not sure objdb is the right place to solve it, I don't think we have
 enough information to solve it properly right now, and I don't see that we
 have a pressing need to solve it right now.  So, the second diagram steps
 back to what Fabio has already implemented, more or less.

There were quite a few things wrong in the cman3b diagram, so based on the
explanation from Chrissie and Fabio, here's another:

http://people.redhat.com/teigland/cman3c.jpg

(The assumes comments don't mean it would be impossible to use one lib
with a different config plugin, but that it wouldn't make sense to do so
in practice.)

 Lon pointed out another problem with the first diagram, and that's that we
 want to be able to read config values without openais running, and running
 properly.  That's one of the things we were trying to get away from with
 ccsd.

The cman3c diagram does not solve this problem, but it could by caching a
local copy of the config data to use when aisexec is not running.

___
Openais mailing list
Openais@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/openais


Re: [Openais] new config system

2008-03-26 Thread Steven Dake
On Wed, 2008-03-26 at 12:36 -0500, David Teigland wrote:
 On Wed, Mar 26, 2008 at 10:32:54AM -0500, David Teigland wrote:
  A while back I drew this diagram to show what we were aiming to design, in
  broad terms, for the next generation aisexec/cman config system:
  
http://people.redhat.com/teigland/cman3.jpg
  
  I think perhaps that diagram attempts to do too much, and I've drawn
  another:
  
http://people.redhat.com/teigland/cman3b.jpg
  
  The big problem I see with the first diagram is that it tries to use objdb
  to solve the meta-configuration problem [1].  That's a hard problem, I'm
  not sure objdb is the right place to solve it, I don't think we have
  enough information to solve it properly right now, and I don't see that we
  have a pressing need to solve it right now.  So, the second diagram steps
  back to what Fabio has already implemented, more or less.
 
 There were quite a few things wrong in the cman3b diagram, so based on the
 explanation from Chrissie and Fabio, here's another:
 
 http://people.redhat.com/teigland/cman3c.jpg
 
 (The assumes comments don't mean it would be impossible to use one lib
 with a different config plugin, but that it wouldn't make sense to do so
 in practice.)
 

This diagram indicates there is a need for two separate levels of
datahiding.  The first level is the libcsdb (corosync db) which then
some other library parses for information specific to the cluster stack.
Then this other api is used.  In my mind this type of double abstraction
serves no purpose.  They both serve up the same data.  It also may
result in the loss of one of the effects I'd like to achieve with all of
this work which is :

standardizing the object database format, layout, config options that
are generic

If only rhcs's cluster configuration is aware of certain config options,
then they are not generic and not usable by others.  This should be
avoided.

  Lon pointed out another problem with the first diagram, and that's that we
  want to be able to read config values without openais running, and running
  properly.  That's one of the things we were trying to get away from with
  ccsd.
 
 The cman3c diagram does not solve this problem, but it could by caching a
 local copy of the config data to use when aisexec is not running.
 

Caching these values is not suitable in my opinion.  Just use the rest
of the infrastructure we already have in place to parse them and put
them in the objdb and make them available via some unnamed api.

Since everything is a plugin it is possible to write code to query
values directly.  So the query-without-aisexec running would load the
objdb plugin, and would also load the config parser.  The config parser
architecture and objdb plugin as they exist today would remain
unchanged.  The only changed part would be the new main.c which plugs
these components together for the purposes of reading this config data
when aisexec is unavailable.

Regards
-steve

___
Openais mailing list
Openais@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/openais