Not sure if this should go here, but… the exec command, which 
should be awesome, is harmed by two things: inconsistent and
un-parsable output which is brought on by the lack of separators
and missing headers.  I'm not 100% sure if it's a bug or a feature, 
but if it's the latter it's a sucky feature ;)  Also not sure if I should 
file bugs @ sourceforge for this sort of thing, send them to the 
list, or both...?

First - the output of at least the user command changes if multiple 
similar types are included.   With one user command:

        # cat foo
        user list 1

        # ipmitool -H 192.168.0.23 -P calvin -U root exec foo
                ID  Name             Callin  Link Auth  IPMI Msg   Channel Priv 
Limit
                2   root             true    true       true       ADMINISTRATOR
                3   deadbeef         true    true       true       ADMINISTRATOR

With two user commands the 2nd gets its header eaten:

        # cat bar
        user list 1
        user list 14

        ipmitool -H 192.168.0.23 -P calvin -U root exec bar
                ID  Name             Callin  Link Auth  IPMI Msg   Channel Priv 
Limit
                2   root             true    true       true       ADMINISTRATOR
                3   deadbeef         true    true       true       ADMINISTRATOR
                2   root             true    true       true       ADMINISTRATOR
                3   deadbeef         true    true       true       ADMINISTRATOR

You could argue this is doing the user a favor, but it sure isn't doing
me any ;)   Since you could have different users on diff channels, I 
believe you could have something like:

        ch1 user ids = 2, 3, 4
        ch2 user ids = 5, 6
        ch3 user ids = 2, 3

If so, that's ambiguous output; it could also be parsed (for example):

        ch1 = 2
        ch2 = 3, 4, 5, 6
        ch3 = 2, 3

A second problem is that the output runs together without any 
separation or notion of which one produced the output.
Here's a trivial example of output jammed together; where does
one start and one end?

        # cat foo
        mc watchdog get
        mc getenables

        # ipmitool -H 192.168.0.23 -U root -P calvin exec foo
        Watchdog Timer Use:     Reserved (0x00)
        Watchdog Timer Is:      Stopped
        Watchdog Timer Actions: No action (0x00)
        Pre-timeout interval:   1 seconds
        Timer Expiration Flags: 0x00
        Initial Countdown:      15 sec
        Present Countdown:      15 sec
        Receive Message Queue Interrupt          : disabled
        Event Message Buffer Full Interrupt      : disabled
        Event Message Buffer                     : enabled
        System Event Logging                     : enabled
        OEM 0                                    : disabled
        OEM 1                                    : disabled
        OEM 2                                    : disabled

Both problems could be addressed by putting in some sort of 
separator between outputs - I'd advocate something that
included the tool's command line as well, or else you'd need
the original exec file to know what was called; perhaps 
something like:

        === mc watchdog get ===
        […]
        === mc getenables ===
        […]

But there may well be far better ways.  I'm not a C programmer
or I might be able to propose a simple patch.

dan

^..^


------------------------------------------------------------------------------
LogMeIn Central: Instant, anywhere, Remote PC access and management.
Stay in control, update software, and manage PCs from one command center
Diagnose problems and improve visibility into emerging IT issues
Automate, monitor and manage. Do more in less time with Central
http://p.sf.net/sfu/logmein12331_d2d
_______________________________________________
Ipmitool-devel mailing list
Ipmitool-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel

Reply via email to