Hi,

I understood your opinion, but as I am not a commiter, I hope you to
provide good resolution.
Temporary I made the patch to escape to fail when mgmtd is not
installed. And if you apply it, could you errase the lines #ifdef
MGMT_ENABLED?

Regards
MATSUDA, Daiki

2008/2/20, Dejan Muhamedagic <[EMAIL PROTECTED]>:
> Hi,
>
>
>  On Tue, Feb 19, 2008 at 08:22:10AM +0900, DAIKI MATSUDA wrote:
>  > Hi, Dejan.
>  >
>  > 2008/2/18, Dejan Muhamedagic <[EMAIL PROTECTED]>:
>  > > Hi,
>  > >
>  > > On Mon, Feb 18, 2008 at 02:13:27PM +0900, DAIKI MATSUDA wrote:
>  > > > Hi, all.
>  > > >
>  > > > I recently testing the development tree of Heartbeat and Pacemaker.
>  > > > And I found they are alomost working well, but hb_gui on mgmtd
>  > > > provided Pacemaker-Python-GUI does not work. Because, as errased the
>  > > > part for mgmt from Heartbeat the configure command of Heartbeat does
>  > > > not manage for '--enable-mgmt'. Especially, in heartbeat/config.c
>  > > > MGMT_ENABLED is not defined.
>  > > > So, I defined MGMT_ENABLED on the top of heartbeat/config.c and built.
>  > > > Its binary file manages the mgmtd and hb_gui works.
>  > > >
>  > > > But there is a problem. In the environment not installed mgmtd, the
>  > > > heartbeat failes at the first.
>  > >
>  > > What fails? Compilation? Heartbeat should be aware of the mgmtd
>  > > only insofar as to manage the process (the respawn directive).
>  > > Since having mgmtd around when it's not used is not such a
>  > > biggie, perhaps we should just drop the '#ifdef MGMT_ENABLED'
>  > > from heartbeat/config.c.
>  >
>  > As I wrote, Heartbeat supported mgmtd with defined MGMT_ENABLED, fails
>  > to start with following without mgmtd executable.
>  > [EMAIL PROTECTED] crm]# /etc/init.d/heartbeat start
>  > logd is already running
>  > Starting High-Availability services:
>  >                                                            [FAILED]
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: add_option(crm,on)
>  > heartbeat[8830]: 2008/02/18_11:00:43 info: Version 2 support: on
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: Implicit directive:
>  > apiauth cib     uid=hacluster
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: uid=hacluster, gid=<null>
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: Implicit directive:
>  > apiauth stonithd        uid=root
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: uid=root, gid=<null>
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: Implicit directive:
>  > apiauth attrd           uid=hacluster
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: uid=hacluster, gid=<null>
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: Implicit directive:
>  > apiauth crmd    uid=hacluster
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: uid=hacluster, gid=<null>
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: Implicit directive:
>  > apiauth mgmtd           uid=root
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: uid=root, gid=<null>
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: Implicit directive:
>  > apiauth pingd           uid=root
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: uid=root, gid=<null>
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: Implicit directive:
>  > failfast  hacluster /usr/lib/heartbeat/ccm
>  > heartbeat[8830]: 2008/02/18_11:00:43 info: respawn directive:
>  > hacluster /usr/lib/heartbeat/ccm
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: Implicit directive:
>  > failfast  hacluster /usr/lib/heartbeat/cib
>  > heartbeat[8830]: 2008/02/18_11:00:43 info: respawn directive:
>  > hacluster /usr/lib/heartbeat/cib
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: Implicit directive:
>  > respawn root /usr/lib/heartbeat/lrmd -r
>  > heartbeat[8830]: 2008/02/18_11:00:43 info: respawn directive: root
>  > /usr/lib/heartbeat/lrmd -r
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: Implicit directive:
>  > respawn root /usr/lib/heartbeat/stonithd
>  > heartbeat[8830]: 2008/02/18_11:00:43 info: respawn directive: root
>  > /usr/lib/heartbeat/stonithd
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: Implicit directive:
>  > respawn  hacluster /usr/lib/heartbeat/attrd
>  > heartbeat[8830]: 2008/02/18_11:00:43 info: respawn directive:
>  > hacluster /usr/lib/heartbeat/attrd
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: Implicit directive:
>  > failfast  hacluster /usr/lib/heartbeat/crmd
>  > heartbeat[8830]: 2008/02/18_11:00:43 info: respawn directive:
>  > hacluster /usr/lib/heartbeat/crmd
>  > heartbeat[8830]: 2008/02/18_11:00:43 debug: Implicit directive:
>  > respawn root /usr/lib/heartbeat/mgmtd -v
>  > heartbeat[8830]: 2008/02/18_11:00:43 info: respawn directive: root
>  > /usr/lib/heartbeat/mgmtd -v
>  > heartbeat[8830]: 2008/02/18_11:00:43 ERROR: Client child command
>  > [/usr/lib/heartbeat/mgmtd] is not executable
>  > heartbeat[8830]: 2008/02/18_11:00:43 ERROR: Directive respawn root
>  > /usr/lib/heartbeat/mgmtd -v failed
>  >
>  > Before it did not occure, because Heartbeat included all. As Pacemaker
>  > and other tool Pacemaker-Python-GUI discreted, I am currently
>  > confirming whether work or not well.
>  >
>  > It is easy to support mgmtd with defining MGMT_ENABLE, but I feel that
>  > there is a little danger for upper log. And I asked the resolving way.
>
>
> It's really hard to fix this without help from the other package.
>  And right now there's no mechanism in place for this purpose.
>
>  These are the options which we currently have:
>
>  1. Drop mgmtd from the crm implied set of directives and have
>  people ask every now and then why the GUI doesn't work.
>
>  2. Include mgmtd and have people complain about the error you
>  encountered. In which case they would have to replace "crm yes"
>  with a list of directives:
>
>   apiauth lrmd        uid=root
>   apiauth stonithd    uid=root
>   apiauth crmd        uid=hacluster
>   apiauth cib     uid=hacluster
>
>   respawn root        /usr/lib/heartbeat/lrmd
>
>   respawn root        /usr/lib/heartbeat/stonithd
>
>   respawn hacluster       /usr/lib/heartbeat/ccm
>   respawn hacluster       /usr/lib/heartbeat/cib
>   respawn hacluster       /usr/lib/heartbeat/crmd
>
>  Looks ugly and is rather error prone.
>
>  3. What Lars suggested, to install these in conf.d directory,
>  would make life easier for the packages. However, the parsing
>  code would need quite a bit of restructuring for this.
>
>  Incidentaly, strange that mgmtd ended up with the GUI. IIRC, the
>  reason to put it in a separate package in the first place was not
>  to have to avoid the gtk glut on headless servers. IMO, mgmtd
>  should be packages with the CRM.
>
>  Cheers,
>
>
>  Dejan
>
>
>  > > > So, do you have a good idea for
>  > > > resolving it?
>  > >
>  > > Not now. Those changes were done by Andrew and I'm not familiar
>  > > with that work. I guess that he should have removed references to
>  > > mgmtd completely from the Heartbeat since it has been moved in
>  > > with the gui. BTW, the gui does use mgmt, but perhaps there are
>  > > going to be more clients. Perhaps the package should be named
>  > > mgmt.
>  > >
>  > > Thanks,
>  > >
>  > > Dejan
>  > >
>  > > > Regards
>  > > > MATSUDA, Daiki
>  > > > _______________________________________________________
>  > > > Linux-HA-Dev: [email protected]
>  > > > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
>  > > > Home Page: http://linux-ha.org/
>  > > _______________________________________________________
>  > > Linux-HA-Dev: [email protected]
>  > > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
>  > > Home Page: http://linux-ha.org/
>  > >
>  > _______________________________________________________
>  > Linux-HA-Dev: [email protected]
>  > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
>  > Home Page: http://linux-ha.org/
>  _______________________________________________________
>  Linux-HA-Dev: [email protected]
>  http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
>  Home Page: http://linux-ha.org/
>
--- Heartbeat-Dev-2c904f58b59a/heartbeat/config.c.orig	2008-02-21 11:01:12.000000000 +0900
+++ Heartbeat-Dev-2c904f58b59a/heartbeat/config.c	2008-02-21 11:06:51.000000000 +0900
@@ -2179,6 +2179,12 @@
 		ha_log(LOG_ERR
 		,	"Client child command [%s] is not executable"
 		,	path);
+		if (strcmp(path, HA_LIBHBDIR"/mgmtd") == 0) {
+			ha_log(LOG_WARNING, "But exception process!");
+			cl_free(command); command=NULL;
+			cl_free(path); path=NULL;
+			return HA_OK;
+		}
 		cl_free(command); command=NULL;
 		cl_free(path); path=NULL;
 		return HA_FAIL;
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to