On 05/04/2015 04:22 PM, Noel Burton-Krahn wrote:
> Hi Corey,
>
> Getting there..., just bumping into a SEGV in OpenIPMI-2.0.21.  It's
> generating a SEGV when sens below is null
>
>     sensor_t *sens = mc->sensors[0][WATCHDOG_SENSOR_NUM];
>     ...
>     case IPMI_MC_WATCHDOG_ACTION_POWER_DOWN:
> set_sensor_bit(mc, sens, 2, 1, 0xc2, mc->watchdog_use & 0xf, 0xff, 1);
> bchan->hw_op(bchan, HW_OP_POWEROFF);
> break;
>
> Is it possible that I'm missing a sensor declation in my config for
> the watchdog?  I'm using the stock ./lanserv/ipmisim1.emu from
> OpenIPMI-2.0.21.
>
> Do you have a github repo for the latest revision and a place to post
> patches to?
>

Yeah, you should probably be using the most recent stuff from git.  Try:
git://git.code.sf.net/p/openipmi/code

-corey

>
>
>
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0  0x0000000000418cae in set_sensor_bit (mc=0x1d64d40, sensor=0x0, 
>     bit=2 '\002', value=1 '\001', evd1=194 '\302', evd2=4 '\004', 
>     evd3=255 '\377', gen_event=1) at bmc_sensor.c:345
> 345   if (value != bit_set(sensor->event_status, bit)) {
> (gdb) where
> #0  0x0000000000418cae in set_sensor_bit (mc=0x1d64d40, sensor=0x0, 
>     bit=2 '\002', value=1 '\001', evd1=194 '\302', evd2=4 '\004', 
>     evd3=255 '\377', gen_event=1) at bmc_sensor.c:345
> #1  0x00000000004153a1 in watchdog_timeout (cb_data=0x1d64d40)
>     at bmc_app.c:222
> #2  0x0000000000406b49 in timer_cb (cb_data=0x1d68c00, id=0x1d6efa0)
>     at ipmi_sim.c:1130
> #3  0x00007f055737a7df in timer_handler (sel=0x1d5a450, timer=0x1d68d00, 
>     data=0x1d6efa0) at posix_os_hnd.c:223
> #4  0x00007f055737cb22 in process_timers (sel=0x1d5a450, 
>     timeout=0x7fffb7585310) at selector.c:548
> #5  0x00007f055737d7cc in sel_select (sel=0x1d5a450, send_sig=0x0, 
>     thread_id=0, cb_data=0x0, timeout=0x0) at selector.c:740
> #6  0x00007f055737d949 in sel_select_loop (sel=0x1d5a450, send_sig=0x0, 
>     thread_id=0, cb_data=0x0) at selector.c:772
> #7  0x00007f055737adbc in operation_loop (os_hnd=0x1d5a010)
>     at posix_os_hnd.c:425
> #8  0x0000000000407ce9 in main (argc=3, argv=0x7fffb7586378)
>     at ipmi_sim.c:1594
>
>
> On Wed, Apr 29, 2015 at 6:53 PM, Corey Minyard <[email protected]
> <mailto:[email protected]>> wrote:
>
>     On 04/29/2015 07:05 PM, Noel Burton-Krahn wrote:
>     > Thanks, Corey.
>     >
>     > Getting there!  I've got a functioning ipmi_sim_lancontrol and
>     > ipmitool works.  However we also use tools from freeipmi-1.1.5, and
>     > this fails:
>     >
>     >   ipmi-chassis --session-timeout 1999 --retransmission-timeout
>     1000 -h
>     > 10.99.1.3 -u ADMIN -p ADMIN --get-status -D LAN_2_0
>     >   ipmi-chassis: privilege level cannot be obtained for this user
>     >
>     > privilege level?  In my lan.conf I have this:
>     >
>     >   priv_limit admin
>     >   user 1 true  ""      "test"  user     10       none md2 md5
>     straight
>     >   user 2 true  "ADMIN" "ADMIN" admin    10       none md2 md5
>     straight
>     >
>     > Anything else you can think of?
>     >
>     > --
>
>     I've never used freeipmi, I'm not sure.  But the error is not
>     saying you
>     have insufficient privilege, it's saying that it cannot fetch the
>     privilege.
>
>     If I was guessing, I'd guess that freeipmi is doing a "get session
>     info"
>     command to get the userid for the session, then doing a "get user
>     access" command to get the user privilege level for the user.  I don't
>     know why it would be doing this, but I'm guessing one of those
>     commands
>     has an issue in ipmi_sim.
>
>     -corey
>
>     > Noel
>     >
>     >
>     >
>     >
>     > On Sat, Apr 25, 2015 at 6:47 AM, Corey Minyard <[email protected]
>     <mailto:[email protected]>> wrote:
>     >> On 04/24/2015 07:39 PM, Noel Burton-Krahn wrote:
>     >>> I *think* I see how it works.  Like this, right?
>     >>>
>     >>>     ipmi_sim_lancontrol get name1 name2 ...
>     >>>     prints:
>     >>>     name1: val1\n
>     >>>     name2: val2\n
>     >>>     ...
>     >>>
>     >>>     ipmi_sim_lancontrol set name1 val1 name2 val2 ...
>     >>>
>     >>>
>     >>> I'll do some debugging and get teh values.  That's for getting and
>     >>> setting the properties of the interface that ipmi_sim is
>     listening on,
>     >>> right?
>     >>>
>     >>> Right now I'm stuck on this:
>     >>>
>     >>>     sudo ipmi_sim -d -c lan-ipmi1.conf
>     >>>     IPMI Simulator version 1.0.13
>     >>>     No bmc_ipmb specified or configured.
>     >>>
>     >>>
>     >>> Here's my config.  Where does "bmc_ipmb" go?
>     >>>
>     >> One of the management controllers has to be assigned at the
>     "main" one.
>     >> This is the management controller you talk to by default over
>     the LAN
>     >> interface.
>     >>
>     >> It sounds like you don't have a emulation file defined.  An
>     example file
>     >> is ipmisim1.emu.  This is where you configure the various IPMI
>     elements,
>     >> like sensors, management controllers, SDR repositories, and so
>     forth.
>     >>
>     >> The split between the two files isn't really that clean, but this
>     >> software started as a LAN bridge between a real IPMI system and a
>     >> network.  The lan.conf file is the part that defines the
>     bridge.  The
>     >> sim.emu file is the part that defines a simulated IPMI system,
>     which you
>     >> obviously don't need if you have a real IPMI system.
>     >>
>     >> The ipmi_sim_cmd.5 man page defines the sim.emu language.  The
>     minimum
>     >> you will need to do is a mc_setbmc to set the BMC, an mc_add to
>     define
>     >> the BMC's parameters, and an mc_enable to turn it on.  You use
>     the -f
>     >> option to set the sim.emu file.
>     >>
>     >> -corey
>     >>
>     >>> name "ipmi1"
>     >>>
>     >>> set_working_mc 0x20
>     >>>
>     >>>   startlan 1
>     >>>     addr :: 9001
>     >>>     priv_limit admin
>     >>>     allowed_auths_callback none md2 md5 straight
>     >>>     allowed_auths_user none md2 md5 straight
>     >>>     allowed_auths_operator none md2 md5 straight
>     >>>     allowed_auths_admin none md2 md5 straight
>     >>>     guid a123456789abcdefa123456789abcdef
>     >>>     lan_config_program "./ipmi_sim_lancontrol ipmi1"
>     >>>   endlan
>     >>>
>     >>>   serial 15 localhost 9011 codec VM
>     >>>
>     >>>   startcmd "/home/noel/local/usr/bin/qemu-system-x86_64
>     --enable-kvm
>     >>> -chardev socket,id=ipmi0,host=localhost,port=9011,reconnect=10
>     -device
>     >>> isa-ipmi,chardev=ipmi0,interface=bt,irq=5 -serial
>     >>> mon:tcp::9021,server,telnet,nowait -drive file=node1.qcow2 -boot
>     >>> order=n -net nic -net tap,ifname=data1,script=no,downscript=no
>     -smp
>     >>> cpus=4 -m 4M -display sdl -machine accel=kvm -enable-kvm"
>     >>>
>     >>>   # Start startcmd at startup?  Default is false.
>     >>>   startnow false
>     >>>
>     >>>   #    # valid name    passw   priv-lim max-sess allowed-auths
>     >>>   user 1 true  "admin" "admin" admin    10       none md2 md5
>     straight
>     >>>
>     >>> Cheers,
>     >>> --
>     >>> Noel
>     >>>
>     >>>
>     >>>
>     >>> On Fri, Apr 24, 2015 at 5:28 PM, Corey Minyard
>     <[email protected] <mailto:[email protected]>
>     >>> <mailto:[email protected] <mailto:[email protected]>>> wrote:
>     >>>
>     >>>     On 04/24/2015 04:57 PM, Noel Burton-Krahn wrote:
>     >>>     > Thanks, Corey.
>     >>>     >
>     >>>     > How does the lan_config_program in lan.conf work?  I
>     couldn't
>     >>>     find an
>     >>>     > example in the OpenIPMI-2.0.21 tarball.  Our central
>     controller
>     >>>     > expects each node's ipmi module to dhcp for an address.  I'm
>     >>>     trying to
>     >>>     > decide if I need to run dhcpc on the interface that ipmi_sim
>     >>>     runs on.
>     >>>     > Can I just bind ipmi_sim to an interface and let it dhcp
>     for its
>     >>>     > address?  If not, how does it work with lan_config_program?
>     >>>     >
>     >>>
>     >>>     That program is for handling the LAN configuration
>     commands over IPMI.
>     >>>     If you don't want to be able to control your host's LAN
>     configuration
>     >>>     over IPMI, you can just ignore this and not have one.
>     >>>
>     >>>     If you do want that, it will take some digging, it's not well
>     >>>     documented.
>     >>>
>     >>>     -corey
>     >>>
>     >>>     >
>     >>>     > FYI, In our setup, we have two networks for ipmi and
>     data.  One
>     >>>     > control node is connected to both networks and provides dhcp
>     >>>     >
>     >>>     > controller       node1      node2 ...
>     >>>     > IPMI  eth0 ----- ipmi0 ---- ipmi0
>     >>>     > DATA  eth1 ----- eth0 ----- eth0
>     >>>     >
>     >>>     > I'm using veth pairs with one end in a bridge for the ipmi
>     >>>     interfaces
>     >>>     > and tap devices for qemu simulating the nodes.
>     >>>     >
>     >>>     > --
>     >>>     > Noel
>     >>>     >
>     >>>     >
>     >>>     >
>     >>>     >
>     >>>     > On Thu, Apr 23, 2015 at 2:42 PM, Corey Minyard
>     <[email protected] <mailto:[email protected]>
>     >>>     <mailto:[email protected] <mailto:[email protected]>>
>     >>>     > <mailto:[email protected] <mailto:[email protected]>
>     <mailto:[email protected] <mailto:[email protected]>>>> wrote:
>     >>>     >
>     >>>     >     On 04/22/2015 07:25 PM, Noel Burton-Krahn wrote:
>     >>>     >     > OK, I've build qemu and openipmi.  I'm simulating
>     a system
>     >>>     where a
>     >>>     >     > central control node boots from USB, then uses
>     IPMI to boot a
>     >>>     >     cluster
>     >>>     >     > of slave nodes and provisions them by tftpboot.  If I
>     >>>     understand
>     >>>     >     > correctly, I'll be running one ipmi_sim per slave
>     node, and my
>     >>>     >     control
>     >>>     >     > node will tell that to boot a qemu instance for each
>     >>>     slave.  Sounds
>     >>>     >     > good so far?
>     >>>     >
>     >>>     >     Yes, that is correct.
>     >>>     >
>     >>>     >     >
>     >>>     >     > The sample lan.conf has two sections started by
>     >>>     set_working_mc 0x20
>     >>>     >     > and set_working_mc 0x30.  Is that for configuring
>     multiple
>     >>>     ipmi
>     >>>     >     > simulators in a single config file?
>     >>>     >     >
>     >>>     >
>     >>>     >     That is just for testing, really.  IPMI supports
>     >>>     configurations with
>     >>>     >     multiple management controllers, say if you put a
>     management
>     >>>     >     controller
>     >>>     >     in a power supply that just managed that device.
>     >>>     >
>     >>>     >     However, you should be able to manage multiple VMs
>     from a
>     >>>     single IPMI
>     >>>     >     simulator.  Create an MC for each VM and set it up,
>     and send the
>     >>>     >     chassis
>     >>>     >     management commands to the individual MC.  You can
>     use the
>     >>>     "-t" option
>     >>>     >     of ipmitool to set the particular MC you are addressing.
>     >>>     >
>     >>>     >     -corey
>     >>>     >
>     >>>     >     -corey
>     >>>     >
>     >>>     >
>     >>>
>     >>>
>
>


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Openipmi-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openipmi-developer

Reply via email to