Skip to contentSkip to conversation

RFC: cman changes

PATCH New Patrick Caulfeld 2 participants 2 messages Jan 3, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 RFC: cman changes

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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cman3.diff
Type: text/x-patch
Size: 79051 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20080103/5e7dc316/attachment.bin>

#1 lore raw

PATCH 1/1 RFC: cman changes

Quoted 8 lines · Patrick Caulfeld

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.