|
From: Juan P. B. <jba...@gm...> - 2015-02-05 22:16:23
|
Hi all, I commented the PAGESIZE definition as Zdenek suggested and, as he predicted, got errors with libtool (at least no compilation error). All errors are related to IOCTL_IMB_SEND_MESSAGE definition. If some on the list have a clue to go over this, I can try again, if not, I will resort to create a plugin for ipmiutil. TIA Juan Pablo Juan Pablo Baserga Consultor Independiente/Independent Consultant Mobile/Linux/High Availability/Internet/Business Intelligence Cel: +54-911-5318-1127 Phone: +54-11-4799-8237 Skype: jbaserga 2015-02-05 15:25 GMT-03:00 Juan Pablo Baserga <jba...@gm...>: > Hello Hank, > thanks very much for your answer. Fortunately my case is not one of size > but your comment is true. IPMI or not IPMI 3,000 machines deserves a > special architecture (collectors, etc) to be feasible. > > As I told Zdenek, I cannot connect the BMCs to LAN, so I need an inband > check. I did it for the Linux boxes, but I cannot reproduce this in Windows > > Thank you very much for your input. > > Best regards, > > Juan Pablo > > Juan Pablo Baserga > Consultor Independiente/Independent Consultant > Mobile/Linux/High Availability/Internet/Business Intelligence > Cel: +54-911-5318-1127 > Phone: +54-11-4799-8237 > Skype: jbaserga > > > 2015-02-05 7:33 GMT-03:00 Hank Bruning <ha...@jb...>: > > I agree with Zdenek, >> Rewrite the plug in. The reason the reason windows (or other Operating >> Systems) are not supported is that the identical information is available >> using IPMI RMCP when no operating system is running. >> Either way, OS vs no OS, you still are going to run into the problem of >> lack of CPU threads with Nagios on large scale deployments, Over 3000 >> servers and the monitoring system spends more time thread context switching >> than collecting IPMI data. Solve that problem and the IMB becomes >> irrelevant. >> >> Hank Bruning >> JBlade >> >> On Wed, Feb 4, 2015 at 1:46 PM, Zdenek Styblik <zde...@gm...> >> wrote: >> >>> On Wed, Feb 4, 2015 at 7:25 PM, Juan Pablo Baserga <jba...@gm...> >>> wrote: >>> > Hi Zdenek, >>> > thank you again very much for your support. IPMIutil is working >>> (although it >>> > depends on VB dlls to run) with both the MS and the Intel drivers, but >>> it >>> > has no Nagios plugin, that's why I tried to give IPMItool a chance (as >>> it >>> > has many Nagios plugins). As I told you I will try a little more (I am >>> > surprised nobody tried to do this before as it is a very basic need of >>> > hardware supervision, with the Linux servers it was a piece of cake to >>> make >>> > this work!) and let the list know the results. If not I will try to >>> make a >>> > VB plugin that works with IPMIutil, guess that in any way it would be >>> good. >>> > >>> >>> Hello Juan, >>> >>> shooting ideas is cheap. To put code where mouth is, that's another >>> story. :) >>> Now, bad project management and so on, but given your use case, I'd >>> almost question whether it wouldn't be faster to rewrite those plugins >>> to use IPMIutil. I'm not familiar with it, though, so I might be >>> wrong. But Nagios plugins - should be easy enough. And yes, any work >>> on Windows port of IPMI Tool will be/is appreciated! >>> As for VB thing, I believe the main reason for it was the proprietary >>> driver. And I'd almost bet IMB wasn't even enabled and commented out >>> via #ifdef. I really don't remember this particular part of the code, >>> sorry. >>> >>> Good luck, >>> Z. >>> >>> > Best regards, >>> > >>> > Juan Pablo >>> > >>> > Juan Pablo Baserga >>> > Consultor Independiente/Independent Consultant >>> > Mobile/Linux/High Availability/Internet/Business Intelligence >>> > Cel: +54-911-5318-1127 >>> > Phone: +54-11-4799-8237 >>> > Skype: jbaserga >>> > >>> > >>> > 2015-02-04 14:22 GMT-03:00 Zdenek Styblik <zde...@gm...>: >>> > >>> >> On Wed, Feb 4, 2015 at 5:54 PM, Zdenek Styblik < >>> zde...@gm...> >>> >> wrote: >>> >> > On Wed, Feb 4, 2015 at 4:24 PM, Juan Pablo Baserga < >>> jba...@gm...> >>> >> > wrote: >>> >> >> Zdenek, >>> >> >> thanks again on this, The problem with the Oracle/Sun approach is >>> that >>> >> >> they >>> >> >> are using their own propietary IPMI driver, and don't support the >>> >> >> Intel/Microsoft ones. My goal is to get IPMI inband (I don't have >>> the >>> >> >> possibility to link the LAN interface of the IPMI board) so I can >>> have >>> >> >> visibility of sensors for Nagios management. >>> >> >> >>> >> >> I'll give the patch a try and let the list know! >>> >> >> >>> >> >> Best regards >>> >> >> >>> >> >> Juan Pablo >>> >> >> >>> >> > >>> >> > Sorry Juan, I've sent that reply from mobile phone and it got messed >>> >> > up. The patch I've posted isn't necessary(more like how it should be >>> >> > patched), just removing that line should be enough in your >>> particular >>> >> > case. This definition can be found in >>> /usr/include/asm-generic/param.h >>> >> > on Linux/Unix platforms and it's written in the same way(ifndef). >>> I've >>> >> > also seen somewhere getpagesize(), or something, can be called. But >>> I >>> >> > believe this is like low-level stuff which shouldn't be done in IPMI >>> >> > tool and definition from param.h should be used. >>> >> > As for Oracle/Sun, true. I know VB is used for compilation; ipmievd >>> >> > code is commented out, because it wouldn't work on Windows; and that >>> >> > proprietary driver is used. I have no idea how to compile IPMI tool >>> on >>> >> > Windows in pretty much any way, I'm sorry. >>> >> > Couple people from Intel used to hang around here, but I'm not sure >>> if >>> >> > they still do nor really sure how much they'd be interested in or >>> >> > willing to help. >>> >> > Also, I'm sure any patches and how-to_s related to Windows are >>> welcome >>> >> > and appreciated. As I've said earlier, I thought IMB driver is up >>> for >>> >> > removal(I was really close to such proposition). If you're good at >>> C, >>> >> > perhaps it could make sense to reverse engineer it from the code and >>> >> > rewrite from scratch. Or may be ask Microsoft/Intel for help? There >>> >> > surely must be some kind of documentation/API + may be IPMI v2.0 >>> >> > specification, p. 69, IPMB Interface? Somebody more profound in such >>> >> > things could/should answer that. >>> >> > If you have more questions or anything, ask. I'll try to pitch >>> >> > ideas/help as much as I can. >>> >> > >>> >> >>> >> Actually, one question and that's whether IMB really does what you >>> >> need and ever worked on Windows. There must be some reason why Sun >>> >> came up with their own driver. As far as I know, the only working >>> >> Windows version was from Oracle/Sun. However, that doesn't mean others >>> >> have tried, failed and given up(= may be nobody really tried). >>> >> Also, there are other open-source IPMI client tools, >>> >> http://ipmiutil.sourceforge.net/docs/ipmisw-compare.htm, and they >>> have >>> >> Windows driver. Well, it seems only ipmiutil does. May be it would be >>> >> possible(and better/faster?) to port it. >>> >> >>> >> Z. >>> >> >>> >> > Z. >>> >> > >>> >> > PS: mailing list on CC again. As I've said, my reply got messed up. >>> >> > >>> >> >> Juan Pablo Baserga >>> >> >> Consultor Independiente/Independent Consultant >>> >> >> Mobile/Linux/High Availability/Internet/Business Intelligence >>> >> >> Cel: +54-911-5318-1127 >>> >> >> Phone: +54-11-4799-8237 >>> >> >> Skype: jbaserga >>> >> >> >>> >> >> >>> >> >> 2015-02-04 12:10 GMT-03:00 Zdenek Styblik < >>> zde...@gm...>: >>> >> >> >>> >> >>> On Wed, Feb 4, 2015 at 1:36 PM, Juan Pablo Baserga >>> >> >>> <jba...@gm...> >>> >> >>> wrote: >>> >> >>> > Hi Zdenek, >>> >> >>> > thank you very much for your prompt answer. I thought of that, >>> but >>> >> >>> > I'd >>> >> >>> > rather ask before breaking something... I'll will try and let >>> the >>> >> >>> > list >>> >> >>> > know. >>> >> >>> > I am not very familiar with the code, is there a definition >>> (i.e. >>> >> >>> > ifdef >>> >> >>> > cygwin) that I can use so I can try to make a patch for future >>> use? >>> >> >>> > >>> >> >>> >>> >> >>> Juan, >>> >> >>> >>> >> >>> you're welcome. To be honest, I don't know where to start. >>> >> >>> There used to be #ifdef for cygwin very, very long time ago, if I >>> >> >>> remember >>> >> >>> correctly. But they are gone and I don't believe there should be >>> any >>> >> >>> ifdefs, >>> >> >>> although I might be wrong about this one. >>> >> >>> I don't think there is anyone whom has tried to compile IPMI tool >>> on >>> >> >>> Windows. Probably not ever ever, but in very long time. In other >>> >> >>> words, >>> >> >>> you're probably in uncharted waters here. Also, I thought IMB >>> driver >>> >> >>> is dead >>> >> >>> by now and nobody is using it for real. >>> >> >>> There is a precompiled version of IPMI tool from Oracle as a part >>> of >>> >> >>> Hardware Management Pack. They're not using cygwin and have their >>> own >>> >> >>> Windows BMC interface, that I'm sure of ;) And I'm almost sure >>> there >>> >> >>> are >>> >> >>> more problems ahead, eg. Compilation of ipmievd on Windows. >>> >> >>> >>> >> >>> As for better work-around/patch in this case, it should be >>> something >>> >> >>> like: >>> >> >>> >>> >> >>> diff --git a/src/plugins/imb/imbapi.c b/src/plugins/imb/imbapi.c >>> >> >>> index 111df62..507fa01 100644 >>> >> >>> --- a/src/plugins/imb/imbapi.c >>> >> >>> +++ b/src/plugins/imb/imbapi.c >>> >> >>> @@ -104,7 +104,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY >>> OF >>> >> >>> SUCH >>> >> >>> DAMAGE. >>> >> >>> #define IMB_DEVICE "/dev/instru/mismic" >>> >> >>> #else >>> >> >>> #define IMB_DEVICE "/dev/imb" >>> >> >>> -#define PAGESIZE EXEC_PAGESIZE >>> >> >>> +# ifndef PAGESIZE >>> >> >>> +# define PAGESIZE EXEC_PAGESIZE >>> >> >>> +# endif >>> >> >>> #endif >>> >> >>> >>> >> >>> /*Just to make the DEB >>> >> >>> >>> >> >>> > Best regards, >>> >> >>> > >>> >> >>> > Juan Pablo >>> >> >>> > >>> >> >>> > Juan Pablo Baserga >>> >> >>> > Consultor Independiente/Independent Consultant >>> >> >>> > Mobile/Linux/High Availability/Internet/Business Intelligence >>> >> >>> > Cel: +54-911-5318-1127 >>> >> >>> > Phone: +54-11-4799-8237 >>> >> >>> > Skype: jbaserga >>> >> >>> > >>> >> >>> > >>> >> >>> > 2015-02-04 8:29 GMT-03:00 Zdenek Styblik < >>> zde...@gm...>: >>> >> >>> > >>> >> >>> >> On Tue, Feb 3, 2015 at 11:27 PM, Juan Pablo Baserga >>> >> >>> >> <jba...@gm...> >>> >> >>> >> wrote: >>> >> >>> >> > Hi, >>> >> >>> >> > I am trying to compile ipmitool-1.8.15 under Cygwin. If I >>> compile >>> >> >>> >> > it >>> >> >>> >> > using >>> >> >>> >> > only the lan driver (./configure --enable-intf-lanplus) >>> >> >>> >> > everything >>> >> >>> >> > goes >>> >> >>> >> > smooth; but if I try to compile the Intel driver (so I can do >>> >> >>> >> > inband >>> >> >>> >> > management in Windows) it gives an error. >>> >> >>> >> > >>> >> >>> >> >>> >> >>> >> Hello Juan, >>> >> >>> >> >>> >> >>> >> you can try to remove (re)definition of PAGESIZE in imbapi.c at >>> >> >>> >> line >>> >> >>> >> 107, but it's a wild guess to be honest. >>> >> >>> >> I'm almost sure there are more surprises ahead. >>> >> >>> >> >>> >> >>> >> Good luck to you, >>> >> >>> >> Z. >>> >> >>> >> >>> >> >>> >> > I do: >>> >> >>> >> > >>> >> >>> >> > ./configure --enable-intf-lanplus --enable-intf-imb >>> >> >>> >> > >>> >> >>> >> > configure runs ok >>> >> >>> >> > >>> >> >>> >> > make >>> >> >>> >> > >>> >> >>> >> > ends with the following errors: >>> >> >>> >> > >>> >> >>> >> > make[4]: Entering directory >>> >> >>> >> > '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb' >>> >> >>> >> > /bin/sh ../../../libtool --silent --tag=CC --mode=compile gcc >>> >> >>> >> > -DHAVE_CONFIG_H >>> >> >>> >> > -I. -I../../.. -I../../../include -g -O2 -fno-strict-aliasing >>> >> >>> >> > -Wreturn-type >>> >> >>> >> > -MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o imbapi.lo >>> >> >>> >> > imbapi.c >>> >> >>> >> > imbapi.c:107:0: warning: "PAGESIZE" redefined >>> >> >>> >> > #define PAGESIZE EXEC_PAGESIZE >>> >> >>> >> > ^ >>> >> >>> >> > In file included from >>> >> >>> >> > /usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1 >>> >> >>> >> > 68:0, >>> >> >>> >> > from >>> >> >>> >> > /usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits. >>> >> >>> >> > h:7, >>> >> >>> >> > from >>> >> >>> >> > /usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3 >>> >> >>> >> > 4, >>> >> >>> >> > from /usr/include/sys/param.h:15, >>> >> >>> >> > from imbapi.c:89: >>> >> >>> >> > /usr/include/limits.h:211:0: note: this is the location of >>> the >>> >> >>> >> > previous >>> >> >>> >> > definiti >>> >> >>> >> > on >>> >> >>> >> > #define PAGESIZE 65536 >>> >> >>> >> > ^ >>> >> >>> >> > imbapi.c: In function 'MapPhysicalMemory': >>> >> >>> >> > imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first >>> use in >>> >> >>> >> > this >>> >> >>> >> > function) >>> >> >>> >> > #define PAGESIZE EXEC_PAGESIZE >>> >> >>> >> > ^ >>> >> >>> >> > imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE' >>> >> >>> >> > diff = (int)startpAddress % PAGESIZE; >>> >> >>> >> > ^ >>> >> >>> >> > imbapi.c:107:18: note: each undeclared identifier is reported >>> >> >>> >> > only >>> >> >>> >> > once >>> >> >>> >> > for >>> >> >>> >> > each >>> >> >>> >> > function it appears in >>> >> >>> >> > #define PAGESIZE EXEC_PAGESIZE >>> >> >>> >> > ^ >>> >> >>> >> > imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE' >>> >> >>> >> > diff = (int)startpAddress % PAGESIZE; >>> >> >>> >> > ^ >>> >> >>> >> > imbapi.c: In function 'UnmapPhysicalMemory': >>> >> >>> >> > imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first >>> use in >>> >> >>> >> > this >>> >> >>> >> > function) >>> >> >>> >> > #define PAGESIZE EXEC_PAGESIZE >>> >> >>> >> > ^ >>> >> >>> >> > imbapi.c:2045:44: note: in expansion of macro 'PAGESIZE' >>> >> >>> >> > diff = ((unsigned int) virtualAddress) % PAGESIZE; >>> >> >>> >> > ^ >>> >> >>> >> > Makefile:417: recipe for target 'imbapi.lo' failed >>> >> >>> >> > make[4]: *** [imbapi.lo] Error 1 >>> >> >>> >> > make[4]: Leaving directory >>> >> >>> >> > '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb' >>> >> >>> >> > Makefile:481: recipe for target 'all-recursive' failed >>> >> >>> >> > make[3]: *** [all-recursive] Error 1 >>> >> >>> >> > make[3]: Leaving directory >>> >> >>> >> > '/cygdrive/c/ipmitool-1.8.15/src/plugins' >>> >> >>> >> > Makefile:580: recipe for target 'all-recursive' failed >>> >> >>> >> > make[2]: *** [all-recursive] Error 1 >>> >> >>> >> > make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src' >>> >> >>> >> > Makefile:454: recipe for target 'all-recursive' failed >>> >> >>> >> > make[1]: *** [all-recursive] Error 1 >>> >> >>> >> > make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15' >>> >> >>> >> > Makefile:385: recipe for target 'all' failed >>> >> >>> >> > make: *** [all] Error 2 >>> >> >>> >> > >>> >> >>> >> > Do I need to use any other switches in configure or lack a >>> Cywin >>> >> >>> >> > package? >>> >> >>> >> > >>> >> >>> >> > Thanks in advance for your help! >>> >> >>> >> > >>> >> >>> >> > Best regards, >>> >> >>> >> > >>> >> >>> >> > Juan Pablo Baserga >>> >> >>> >> > Consultor Independiente/Independent Consultant >>> >> >>> >> > Mobile/Linux/High Availability/Internet/Business Intelligence >>> >> >>> >> > Cel: +54-911-5318-1127 >>> >> >>> >> > Phone: +54-11-4799-8237 >>> >> >>> >> > Skype: jbaserga >>> >> >>> >> > >>> >> >>> >> > >>> >> >>> >> > >>> >> >>> >> > >>> >> >>> >> > >>> >> >>> >> > >>> ------------------------------------------------------------------------------ >>> >> >>> >> > Dive into the World of Parallel Programming. The Go Parallel >>> >> >>> >> > Website, >>> >> >>> >> > sponsored by Intel and developed in partnership with Slashdot >>> >> >>> >> > Media, >>> >> >>> >> > is >>> >> >>> >> > your >>> >> >>> >> > hub for all things parallel software development, from weekly >>> >> >>> >> > thought >>> >> >>> >> > leadership blogs to news, videos, case studies, tutorials and >>> >> >>> >> > more. >>> >> >>> >> > Take >>> >> >>> >> > a >>> >> >>> >> > look and join the conversation now. >>> >> >>> >> > http://goparallel.sourceforge.net/ >>> >> >>> >> > _______________________________________________ >>> >> >>> >> > Ipmitool-devel mailing list >>> >> >>> >> > Ipm...@li... >>> >> >>> >> > https://lists.sourceforge.net/lists/listinfo/ipmitool-devel >>> >> >>> >> > >>> >> >>> > >>> >> >>> > >>> >> >> >>> >> >> >>> > >>> > >>> >>> >>> ------------------------------------------------------------------------------ >>> Dive into the World of Parallel Programming. The Go Parallel Website, >>> sponsored by Intel and developed in partnership with Slashdot Media, is >>> your >>> hub for all things parallel software development, from weekly thought >>> leadership blogs to news, videos, case studies, tutorials and more. Take >>> a >>> look and join the conversation now. http://goparallel.sourceforge.net/ >>> _______________________________________________ >>> Ipmitool-devel mailing list >>> Ipm...@li... >>> https://lists.sourceforge.net/lists/listinfo/ipmitool-devel >>> >> >> > |