[Cluster-devel] [PATCH] RFC: cman changes

Fabio M. Di Nitto fabbione at ubuntu.com
Thu Jan 3 20:11:23 UTC 2008


On Thu, 3 Jan 2008, Patrick Caulfeld wrote:

> This patch changes the way cman works internally - it decouples it from
> CCS so that any configuration system can be used. Provided the necessary
> keys are filled in the objdb then cman can use them. Currently the only
> alternative is /etc/ais/openais.conf, but it should be relatively easy
> to add others (eg LDAP) as people feel the need.
>
> Patrick
>

Only a few _minor_ details:

the patch needs a better rediff. This one doesn't apply clean on top of 
HEAD but nothing too bad :)

Some bits:

+       if (comline->two_node) {
+               snprintf(scratch, sizeof(scratch), "CMAN_2NODE=true");
+               envp[envptr++] = strdup(scratch);
+       }

this one could land anytime (with it's getenv counterpart)

----

+       .name                           = (char *)"openais CMAN membership 
service 2.50",

I think we should be targetting 2.9x in preparation for 3.0

----

+       // TODO get config_version ??

:)

----

For the Makefile, just commit this one instead. Diff from the one that I 
did send you early is copyright update and do not link with libccs if we 
don't need to. Sorry for this double one :)

Thanks
Fabio

###############################################################################
###############################################################################
##
##  Copyright (C) 2004-2008 Red Hat, Inc.  All rights reserved.
##
##  This copyrighted material is made available to anyone wishing to use,
##  modify, copy, or redistribute it subject to the terms and conditions
##  of the GNU General Public License v.2.
##
###############################################################################
###############################################################################

TARGET1= service_cman.lcrso
TARGET2= config_ccs.lcrso
TARGET3= config_cmanpre.lcrso

LCRSOT=$(TARGET1) $(TARGET2) $(TARGET3)

all: depends ${TARGET1} ${TARGET2} ${TARGET3}

include ../../make/defines.mk
include $(OBJDIR)/make/cobj.mk
include $(OBJDIR)/make/clean.mk
include $(OBJDIR)/make/install.mk
include $(OBJDIR)/make/uninstall.mk

CFLAGS += -fPIC
CFLAGS += -I${ccsincdir} -I${openaisincdir}
CFLAGS += -I${incdir}

CCS_LDFLAGS += -L${ccslibdir} -lccs

OBJS1=	daemon.o \
 	logging.o \
 	ais.o \
 	commands.o \
 	barrier.o \
 	cmanconfig.o

OBJS2=	config.o logging.o

OBJS3=	cman-preconfig.o \
 	logging.o

${TARGET1}: ${OBJS1}
 	$(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDFLAGS)

${TARGET2}: ${OBJS2}
 	$(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDFLAGS) $(CCS_LDFLAGS)

${TARGET3}: ${OBJS3}
 	$(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDFLAGS)

depends:
 	$(MAKE) -C ../lib all

clean: generalclean

--
I'm going to make him an offer he can't refuse.




More information about the Cluster-devel mailing list