Note: There has been one GUI change that will affect people who have used the GUI previously. The GUI created the .openipmi.startup and .openipmi.history files with the wrong permissions. The GUI will now refuse to run if those files are group/world readable or writable. Just change the permissions and the problem will go away. It will now create them with proper permissions.
This release has three major functional changes: * You can now edit and write FRU inventory data symbolically. Yes, in the GUI, you can pull up some FRU data, right-click on it, change it, and write the changes out. You can add entries to FRU arrays by right-clicking on the array to append, or on items to insert before. You can delete entries from FRU arrays by right clicking on them and selecting "delete". It's pretty cool, and I worked way too much on it. * I added quite a bit of support for ATCA ECN002, including monitoring all the IP addresses of an ATCA shelf, safe writing of FRU shelf data, power feed controls, and full support of all the FRU inventory tables. * Scroll wheels on mice now work in most of the GUI. Hurray! As well, I have tested this fairly extensively and shook out a few bugs in the process. Also, if you have your own custom OEM FRU multirecords, I added substantial support for making it easy to define those records. Note that multi-record data and the raw data are not kept in sync; if you change on the other will not automatically update. If you want to see your changes, there is now a "refresh" button to re-interpret the changes. The main thing left from ATCA ECN002 is handling of the fans and fan overrides, but I'm not sure exactly what to do about that. Here's the changelog: 2006-11-16 Corey Minyard <[EMAIL PROTECTED]> * lib/entity.c: ipmi_entity_fetch_frus_cb() violated the rule of returning an error and still calling the done handler (and it didn't check the done handler for NULL). Fix this problem. * swig/python/openipmigui/_saveprefs.py: Make sure that the startup file is only accessible by the user and refuse to start up if it is world orgroup accessible. * swig/python/openipmigui/_gui_cmdwin.py: Ditto for the history file. * configure.in: Move to version 2.0.9 2006-11-15 Corey Minyard <[EMAIL PROTECTED]> * lib/domain: Fix a problem with active/standby connections; now force command rerouting when a connection goes inactive, as well as when a connection goes active. * lib/domain.c: Modified command rerouting a little more. The send sequences are now per-connection instead of per-domain and the routing is only done when a connection goes inactive or down. This is more reliable and will make multiple active connections work better. 2006-11-14 Corey Minyard <[EMAIL PROTECTED]> * swig/python/openipmigui/gui.py: Rework the mouse wheel stuff so it works on older version of tk. * swig/python/openipmigui/gui_list.py: ditto * swig/python/openipmigui/gui_treelist.py: ditto * Makefile.am, swig/python/Makefile.am: "make rungui" wouldn't work on systems that could dynamically choose the glib library. Add an LD_LIBRARY_PATH back in for that directory only. * lib/fru.c, include/OpenIPMI/internal/ipmi_fru.h: Exported a function to reference the FRU structure without claiming the lock. * lib/normal_fru.c: Removed a deadlock where a FRU was referenced while the lock was held. * lib/fru.c: If the FRU fetch start fails, return an error. * lib/mc.c: Fixed a deadlock in certain error cases. * lib/oem_atca.c: Make sure the entity is gotten before creating the FRU controls with it. * cmdlang/os_debug.c: Can't use ipmi_mem_alloc any more to allocate a lock, the locks are claimed too early. * lib/ipmi_lan.c: Fixed a missing shutdown check that could cause a race at shutdown and a possible segv. * lib/oem_atca.c: Fixed a possible memory leak in the LEDs if an ATCA domain is shut down while it is coming up. * lib/sdr.c: Fix a problem with the fetch retry count being reset to zero sometimes on a restart. * lib/sdr.c, lib/mc.c: Added a way to stop the SDR timer operations during cleanup of an MC. 2006-11-13 Corey Minyard <[EMAIL PROTECTED]> * lib/control.c, lib/sensor.c: Change the shutdown order of OEM controls so the OEM data is freed last, after the control is removed from the entity. * lib/control.c, lib/sensor.c: Don't fail freeing an OEM control or sensor if the index is reused. The control is still valid to free. * lib/oem_atca.c: Free all the FRUs for an entity when the entity is freed at domain shutdown. * lib/sdr.c: Fix a race where if the SDR data is asked for the first time and then again immediately after, the DB will be fetched twice and the second time will overwrite the first data. Only fetch DB data if the SDR fetch state is idle. Also, when fetching from the DB, free the SDR data if it is allocated. * lib/control.c, lib/sensor.c: Modified the addition of nonstandard sensor and controls so that the next unused number is picked instead of having to supply the number. * lib/oem_atca.c: Modified the controls for the IPMCs to let the control code pick the control number. This handles a problem controls not being handled correctly for ATCA blades with multiple FRUs. 2006-11-10 Corey Minyard <[EMAIL PROTECTED]> * lib/domain.c: Don't set a connection inactive if it goes down, let the active-reporting interface handle that. Otherwise systems without inactive links will report inactive if the connection goes down. 2006-11-09 Corey Minyard <[EMAIL PROTECTED]> * swig/python/openipmigui/gui_list.py: Added a way to set the style of a column entry. * swig/python/openipmigui/gui.py: Added a "watch list" to the GUI. You can put controls, entities, and sensors you want to watch into this list and monitor them. * swig/python/openipmigui/_sensor.py: Add support for the watch list. * swig/python/openipmigui/_control.py: ditto * swig/python/openipmigui/_entity.py: ditto 2006-11-08 Corey Minyard <[EMAIL PROTECTED]> * Makefile.am, configure.in: Rework the setting up of the library environment for Perl and Python. The code would, by default, pick up the libraries from the installed directory instead of the local directories. For lack of a better option, the modifications LD_PRELOAD the libraries that are required. Also make the setting of the libs required by swig cleaner and put it in a common place. * swig/perl/Makefile.am: ditto * swig/python/Makefile.am: ditto * swig/python/openipmigui/Makefile.am: ditto 2006-11-07 Corey Minyard <[EMAIL PROTECTED]> * swig/python/openipmigui/_fru.py: Added a refresh button to re-read the whole FRU contents. This allows you to change multi-record data and see what happens. * swig/python/openipmigui/gui.py: Got wheel mouse scrolling working. * swig/python/openipmigui/gui_list.py: ditto * swig/python/openipmigui/gui_treelist.py: ditto * swig/python/openipmigui/gui_setdialog.py: Added an option to allow using a Text widget for multi-line input (for multi-record data). * swig/python/openipmigui/_fru.py: Use the long option to gui_setdialog for binary or unicode data. * include/OpenIPMI/ipmi_fru.c, lib/fru.c, include/OpenIPMI/ipmi_fru.h: Added infrastructure for getting enumeration values from FRU nodes. * lib/normal_fru.c: Added enumeration support for multirecord FRU nodes. * lib/oem_atca_fru.c: Added enumeration stuff for the few items that need it. * swig/OpenIPMI.i: Added the enumeration interface. * swig/python/openipmigui/_fru.py: Added support for the new FRU enumerations. 2006-11-06 Corey Minyard <[EMAIL PROTECTED]> * include/OpenIPMI/internal/ipmi_fru.h, lib/normal_fru.c: Redid the adjustment of offsets and lengths to work properly with nested arrays. * swig/python/openipmigui/gui_cmdwin.py: Fixed some problems dealing with backspace and delete. 2006-11-05 Corey Minyard <[EMAIL PROTECTED]> * include/OpenIPMI/internal/ipmi_fru.h, lib/normal_fru.c: Reworked the way writing to arrays is done so it is cleaner and allows insertion at arbitrary points and elements that are other arrays or basic items. * include/OpenIPMI/ipmi_fru.h: Worked on docs for the changes. * swig/python/openipmigui/_fru.py, lib/oem_atca_fru.c: Adjusted for the previous changes. * swig/OpenIPMI.i: Make sure the string on an empty binary array is terminated. 2006-11-03 Corey Minyard <[EMAIL PROTECTED]> * lib/oem_atca_fru.c: Massive rewrite to make this table-driven and add setting capability. * swig/python/openipmigui/gui_treelist.py: Add the ability to insert items before a list element. * swig/python/openipmigui/_fru.py: Add the ability to insert items before an array element. Fix boolean handling. * lib/normal_fru.c, include/OpenIPMI/internal/ipmi_fru.h: Move the FRU decoding from the ATCA code into here and make it generic. Convert the standard FRU multirecord handling to the new code. * lib/oem_atca_fru.c: Convert multirecord handling over to the generic version. * configure.in: Move to version 2.0.9-rc1 2006-11-01 Corey Minyard <[EMAIL PROTECTED]> * lib/entity.c: Fixed a problem with scanning entity association records. * include/OpenIPMI/ipmi_fru.h, lib/normal_fru.c: Added multi-record helper functions for modifying multirecord data. * lib/normal_fru.c: Fixed some problems dealing with multirecord lengths. * lib/oem_atca_fru.c: Added writing FRU data for the address table. * swig/python/openipmigui/_fru.py: Adjustment to improve the way this works. 2006-10-31 Corey Minyard <[EMAIL PROTECTED]> * include/OpenIPMI/ipmi_fru.h, lib/normal_fru.c: Added some better handling of multirecord modification. * lib/fru.c: Warn and recover on zero-length FRU writes. * lib/normal_fru.c: Added better setup handling for new FRU areas. * lib/normal_fru.c: Added FRU area data to the FRU information. * swig/python/openipmigui/_fru.py: Added support for re-displaying the FRU data if FRU area offset data changes. * swig/python/openipmigui/gui_treelist.py: Added support for clearing all the data in the list. 2006-10-30 Corey Minyard <[EMAIL PROTECTED]> * include/OpenIPMI/ipmi_fru.h, include/OpenIPMI/internal/ipmi_fru.h: Added functions for getting a FRU array's subtype. * lib/fru.c: ditto * swig/OpenIPMI.i: ditto * swig/OpenIPMI.i: Modify fetching a subtype to return the array length (or -1 for non-arrays) in the value of get_field() on sub nodes. * lib/normal_fru.c: Added subtype handling for custom string arrays. * lib/normal_fru.c: Fixed reporting of arrays in custom strings so that it is possible to tell an empty array from a non-existent field. * swig/python/openipmigui/gui_treelist.py: Added the ability to remove items from the tree and added better cleanup facilities. * swig/python/openipmigui/_fru.py: Added the ability to remove array items. 2006-10-28 Corey Minyard <[EMAIL PROTECTED]> * include/OpenIPMI/ipmi_fru.h, include/OpenIPMI/internal/ipmi_fru.h: Added basic function interfaces for setting values in FRU nodes. * lib/fru.c: Added infrastructure for setting FRU nodes. * lib/normal_fru.c: Added support for setting the basic FRU item through the FRU nodes. * lib/oem_atca.c, lib/oem_atca_fru.c: Modified for new multirecord handling for setting, though no set support yet. * swig/OpenIPMI.i: Added support for the new FRU node set field and settable functions. * swig/python/openipmigui/_fru.py: Added support for setting FRU items. 2006-10-27 Corey Minyard <[EMAIL PROTECTED]> * lib/oem_atca.c, doc/IPMI.ltx: Created a power feed control for ATCA shelfs. 2006-10-26 Corey Minyard <[EMAIL PROTECTED]> * lib/entity.c, include/OpenIPMI/internal/ipmi_entity.h: Added a function to refetch entity FRU information and report when it is done. * lib/entity.c, include/OpenIPMI/ipmiif.h.in: Added a way to know when an entity that is reported present has all its data (FRU information) fetched. * cmdlang/cmd_entity.c: Added reporting of entities being fully up. 2006-10-25 Corey Minyard <[EMAIL PROTECTED]> * lib/oem_atca_fru.c: Added all the current ATCA-defined FRU information multirecord descriptors. * cmdlang/out_fru.c: Only parse the given number of array elements, don't rely an an error return to finish the array. * lib/entity.c: Fix a small problem where there was a remote chance that a FRU fetch would occur before the entity was reported present. * lib/normal_fru.c: Fix a memory leak with multirecords that don't have decoders. * swig/python/openipmigui/_domain.py: Added a way to dump arbitrary FRU info in a domain. * swig/python/openipmigui/gui_treelist.py: Added a way to expand the entire tree. * swig/python/openipmigui/_fru.py: Expand the entire tree when displaying FRU information. 2006-10-24 Corey Minyard <[EMAIL PROTECTED]> * include/OpenIPMI/ipmi_domain.h, lib/fru.c: More work on the special FRU handling. * lanserv/emu.c, lanserv/emu.h, lanserv/lanserv_emu.c: Added support for ATCA FRU locking. * lib/oem_atca.c: Added FRU data handling for reading/writing FRU inventory device 254 on the shelf manager. * swig/python/openipmigui/_fru.py: Make sure FRU data gets freed. 2006-10-23 Corey Minyard <[EMAIL PROTECTED]> * include/OpenIPMI/ipmi_bits.h, lib/strings.c: Add some new sensor types from IPMI 2.0. * lib/oem_atca.c: Added support for detecting version changes with a version change sensor event. * include/OpenIPMI/ipmi_domain.h, lib/domain.c, lib/fru.c: Added infrastructure for handling special FRU characteristics for a domain. 2006-10-22 Corey Minyard <[EMAIL PROTECTED]> * lib/oem_atca_conn.c: Fixed a few glitches with the new ATCA auxiliary connection facility. * doc/IPMI.ltx: Added info on the new ATCA capabilities. 2006-10-21 Corey Minyard <[EMAIL PROTECTED]> * lanserv/emu.c, lanserv/emu.h, lanserv/lanserv_emu.c: Added support for the PICMG get IP addresses and get FRU control capabilities commands. * lib/domain.c: Interpret ENOENT from a low-level connection change to mean the connection no longer exists. * lib/oem_atca.c: Free the new FRU control capabilities controls. * lib/oem_atca_conn.c: Clean up the ATCA IP address pinging stuff to work properly. * sample/rmcp_ping.c: Fix a problem with specifying the port. * swig/python/openipmigui/gui.py: Add a port removal function. * swig/python/openipmigui/_domain.py: Pass some more parameters to the port up function. * swig/python/openipmigui/_conn.py: Allow dynamic changes to the ports. 2006-10-20 Corey Minyard <[EMAIL PROTECTED]> * include/OpenIPMI/ipmiif.h.in, lib/domain.c: Added a function to get port information. * include/OpenIPMI/ipmi_conn.h, lib/ipmi_lan.c: ditto * cmdlang/cmd_conn.c, man/ipmi_cmdlang.7: Added support for the new port information. * swig/OpenIPMI.i: ditto * swig/python/openipmi/_conn.py: ditto * include/OpenIPMI/ipmi_lan.h, lib/ipmi_lan.c: Exposed some internals for use by the OEM ATCA handler dealing with RMCP ping sockets. * include/OpenIPMI/ipmi_picmg.h: Added the new PICMG messages from the new ATCA spec. * lib/oem_atca_conn.c: Added support for ATCA RMCP ping sockets so that the auxiliary IP connections on ATCA chassis can be monitored. 2006-10-16 Corey Minyard <[EMAIL PROTECTED]> * doc/IPMI.ltx: Added some docs on redundant connections and on ATCA. * man/openipmicmd.1: Added information about the proper handling of response messages. * swig/python/openipmigui/gui.py: Fix a problem where sensor settings would get greyed 2006-10-12 Philipp Hahn * man/ipmi_cmdlang.7: Various cleanups * man/openipmi_conparms.7: ditto * man/openipmigui.1: ditto * man/openipmish.1 ditto * man/rmcp_ping.1 ditto 2006-10-13 Corey Minyard <[EMAIL PROTECTED]> * swig/python/openipmigui/_mc_lanparm.py: Fix a problem in a pulldown. 2006-10-11 Corey Minyard <[EMAIL PROTECTED]> * swig/python/openipmigui/_misc.py: Added an int array to hex string converter. * swig/python/gui_cmdwin.py: Print command output in hex. * swig/python/_sel.py: Print event data in hex. 2006-10-06 Corey Minyard <[EMAIL PROTECTED]> * lib/ipmi_smi.c: Fix the IPMB address setting code to only set the channels that are reported to it. * lib/oem_atca_conn.c: Properly initialize the ipmb array that is passed to the other code. 2006-10-05 Corey Minyard <[EMAIL PROTECTED]> * sample/ipmi_serial_bmc_emu.c, sample/Makefile.am: Added a serial BMC emulator. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer