[Cluster-devel] cluster/fence/agents/ipmilan Makefile ipmilan.c

fabbione at sourceware.org fabbione at sourceware.org
Thu Aug 30 18:33:11 UTC 2007


CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	fabbione at sourceware.org	2007-08-30 18:33:11

Modified files:
	fence/agents/ipmilan: Makefile ipmilan.c 

Log message:
	Remove old code. ACK by Lon

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/ipmilan/Makefile.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/ipmilan/ipmilan.c.diff?cvsroot=cluster&r1=1.13&r2=1.14

--- cluster/fence/agents/ipmilan/Makefile	2007/08/22 08:58:39	1.7
+++ cluster/fence/agents/ipmilan/Makefile	2007/08/30 18:33:11	1.8
@@ -18,7 +18,6 @@
 OBJS=	expect.o \
 	ipmilan.o
 
-CFLAGS += -DFENCE
 CFLAGS += -I${incdir}
 
 all: ${TARGET}
--- cluster/fence/agents/ipmilan/ipmilan.c	2007/08/22 08:58:39	1.13
+++ cluster/fence/agents/ipmilan/ipmilan.c	2007/08/30 18:33:11	1.14
@@ -1,5 +1,5 @@
 /** @file
- * clumanager 1.2.x STONITH and/or linux-cluster fence and/or GFS fence
+ * clumanager 1.2.x linux-cluster fence and/or GFS fence
  * module for Intel/Bull/Dell Tiger4 machines via IPMI over lan.
  * (Probably works with anything ipmitool can control, though.)
  *
@@ -37,15 +37,6 @@
 #include <sys/stat.h>
 #include <libintl.h>
 
-#ifndef FENCE
-#include <syslog.h>
-#include "stonith.h"
-#define log(lvl, fmt, args...) \
-do { \
-	syslog(lvl, fmt, ##args); \
-	fprintf(stderr, "%s: " fmt, #lvl, ##args); \
-} while(0)
-#else
 /* fenced doesn't use the remote calls */
 #define ST_STATUS 0
 #define ST_POWERON 1
@@ -54,15 +45,7 @@
 
 #define log(lvl, fmt, args...) fprintf(stderr, fmt, ##args)
 #include <libgen.h>
-
-#ifndef TESTING
 #include <copyright.cf>
-#else
-#define REDHAT_COPYRIGHT "Copyright (C) 2005 Red Hat, Inc.\n"
-#define RELEASE_VERSION "TEST ONLY; Not for distribution\n"
-
-#endif
-#endif
 
 #include "expect.h"
 
@@ -542,228 +525,6 @@
 }
 
 
-#ifndef FENCE
-/**
-  STONITH operations
- */
-#define ISIPMI(s) (s && s->pinfo && ((struct ipmi *)s->pinfo)->i_id == IPMIID)
-
-const char *
-st_getinfo(Stonith * __attribute__ ((unused)) s, int __attribute__((unused))i)
-{
-	return "Not really useful info";
-}
-
-void
-st_destroy(Stonith *s)
-{
-	struct ipmi *i;
-
-	if (!ISIPMI(s)) {
-		log(LOG_ERR, "st_destroy(IPMI): Invalid Argument");
-		return;
-	}
-
-	i = (struct ipmi *)s->pinfo;
-	ipmi_destroy(i);
-}
-
-
-void *
-st_new(void)
-{
-	struct ipmi *i;
-
-	i = malloc(sizeof(*i));
-	if (!i) {
-		log(LOG_ERR, "st_new(IPMI) %s", strerror(errno));
-		return NULL;
-	}
-
-	memset((void *)i, 0, sizeof(*i));
-	ipmi_init(i, NULL, NULL, NULL, NULL, 0, 0);
-	return i;
-}
-
-
-int
-st_status(Stonith *s)
-{
-	int ret;
-	
-	if (!ISIPMI(s))
-		return S_OOPS;
-
-	ret = ipmi_op((struct ipmi *)s->pinfo, ST_STATUS, power_status);
-	if (ret == STATE_ON || ret == STATE_OFF)
-		return S_OK;
-
-	/* Permission denied? */
-	if (ret == EPERM)
-		return S_BADCONFIG;
-
-	return S_OOPS;
-}
-
-
-int
-st_reset(Stonith *s, int req, char * port)
-{
-	int ret;
-
-	switch(req) {
-	case ST_POWERON:
-		ret = ipmi_on((struct ipmi *)s->pinfo);
-		break;
-	case ST_POWEROFF:
-		ret = ipmi_off((struct ipmi *)s->pinfo);
-		break;
-	case ST_GENERIC_RESET:
-		/* Could use chassis power cycle, but this works too*/
-		ret = ipmi_off((struct ipmi *)s->pinfo);
-		if (ret == 0)
-			ipmi_on((struct ipmi *)s->pinfo);
-		break;
-	default:
-		return S_OOPS;
-	}
-
-	switch(ret) {
-	case 0:
-		/* Success */
-		return S_OK;
-	case EFAULT:
-		log(LOG_CRIT, "ipmilan: unable to complete request\n");
-		return S_OOPS;
-	case EPERM:
-		return S_BADCONFIG;
-	case ETIMEDOUT:
-		return S_BADCONFIG;
-	case STATE_ON:
-		log(LOG_ERR, "Power to host %s still ON\n", port);
-		break;
-	case STATE_OFF:
-		log(LOG_WARNING, "Power to host %s still OFF\n", port);
-		break;
-	}
-	
-	return S_RESETFAIL;
-}
-
-
-/**
-  Complicated parser.  Has to deal with whitespace as well as the
-  possibility of having 1, 2, or 3 arguments.
-  */
-static int
-_ipmilan_setconfinfo(Stonith *s, const char *info)
-{
-	char info_priv[1024];
-	char *host = info_priv;
-	char *user = NULL;
-	char *passwd = NULL;
-	char *end = NULL;
-	struct ipmi *i;
-	size_t len;
-	int lanplus = 0;
-
-	if (!ISIPMI(s))
-		return S_OOPS;
-	i = (struct ipmi *)s->pinfo;
-
-	snprintf(info_priv, sizeof(info_priv), "%s", info);
-	len = strcspn(host, "\n\r\t ");
-	if (len >= strlen(host))
-		user = NULL;
-	else
-		user = host + len;
-	if (user) {
-		*user = 0;
-		user++;
-		if (*user && *user == '+') {
-			lanplus = 1;
-			user++;
-		}
-	}
-
-	/* No separator or end of string reached */
-	if (user && *user) {
-
-		len = strcspn(user, "\n\r\t ");
-		if (len >= strlen(user))
-			passwd = NULL;
-		else
-			passwd = user + len;
-		if (passwd) {
-			*passwd = 0;
-			passwd++;
-		}
-
-		/* We don't need a username for this one */
-		if (!passwd || !*passwd) {
-			passwd = user;
-			user = NULL;
-		}
-
-		len = strcspn(passwd, "\n\r\t ");
-		end = passwd + len;
-		if (*end)
-			*end = 0;
-	}
-
-	if (!*user || !strcmp(user, "(null)")) 
-		user = NULL;
-
-	/* IPMI auth type not supported on RHEL3 */
-	i = ipmi_init(i, host, NULL, user, passwd, lanplus, 0);
-	if (!i)
-		return S_OOPS;
-	i->i_config = 1;
-
-	return S_OK;
-}
-
-
-int
-st_setconfinfo(Stonith *s, const char *info)
-{
-	/* XXX dlmap collisions? */
-	return _ipmilan_setconfinfo(s, info);
-}
-
-
-/* -- Ripped from old STONITH drivers.
- *      Parse the information in the given configuration file,
- *      and stash it away...
- */
-int
-st_setconffile(Stonith* s, const char * configname)
-{
-        FILE *  cfgfile;
-        char    sid[256];
-
-	if (!ISIPMI(s))
-		return S_OOPS;
-
-        if ((cfgfile = fopen(configname, "r")) == NULL)  {
-		printf("Can't open %s\n", configname);
-                log(LOG_ERR, "Cannot open %s", configname);
-                return(S_BADCONFIG);
-        }
-        while (fgets(sid, sizeof(sid), cfgfile) != NULL){
-                if (*sid == '#' || *sid == '\n' || *sid == EOS) {
-                        continue;
-                }
-                fclose(cfgfile);
-                return _ipmilan_setconfinfo(s, sid);
-        }
-        fclose(cfgfile);
-        return(S_BADCONFIG);
-}
-
-#else
-
-/* Fence module instead of STONITH module */
 /**
    Remove leading and trailing whitespace from a line of text.
  */
@@ -1123,4 +884,3 @@
 		printf("Failed\n");
 	return ret;
 }
-#endif /* fence */




More information about the Cluster-devel mailing list