2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2025-09-29 05:28:21 +00:00
Commit Graph

73 Commits

Author SHA1 Message Date
Mark Gurevich
3b65b2d89e Extend XML Simple to pass parser options 2021-03-11 09:26:18 -05:00
Pythagoras Watson
bd0ad1ba43 Reduce maximum socket buffer size so select works
The maximum socket receive buffer size (SO_RCVBUF) is set from the value
in /proc/sys/net/core/rmem_max.  When this value is close to INT_MAX,
the select() system call used by IO::Select->can_read() never returns
true.  This causes packets to never be read.  Therefore, reduce the
maximum socket receive buffer size to a value which works.
2019-07-16 10:06:58 -07:00
GONG Jie
240512a3da Remove trailing spaces in file xCAT-server/lib/perl/xCAT/IPMI.pm 2017-12-31 23:59:59 +00:00
Mark Gurevich
ac6b632b6b Merge pull request #5189 from xuweibj/openbmc_ipmi
modify ipmi rsp check to support openbmc ipmi interface
2018-05-11 07:53:34 -04:00
XuWei
582168e31e modify ipmi rsp check to support openbmc ipmi interface 2018-05-10 03:38:03 -04:00
Bin Xu
c3ae956dd3 report ipmi_debug message under node name (#5033) 2018-04-05 10:41:08 +08:00
Jarrod Johnson
e61b6c3789 Implement timeout for session sharing
When an ipmi session is shared, have waitforrsp
have a specified timeout.
2017-05-03 11:40:16 -04:00
Jarrod Johnson
13ee6733e7 Fix FPC reseat behavior on multiple nodes 2017-05-03 11:40:11 -04:00
Jarrod Johnson
7a8d431650 Initialize IPMI variables earlier
In some scenarios, an IPMI instance could be called to handle
data earlier than it should.  Ensure the state of the object is
in adequate shape to react as soon as possible.
2017-05-03 11:40:06 -04:00
ertaozh
b78fc0ae40 modify the output ipmi raw data with readable information 2017-03-28 03:37:52 -04:00
ertaozh
39b1df045f use wrong site attribute xcatdebugmodel before, change to xcatdebugmode 2017-03-27 09:10:28 -04:00
ertaozh
6047515122 enable ipmi raw data if xcatdebugmodel set 2017-03-23 05:48:56 -04:00
penguhyang
5cd2dcea51 fix setting the ipmi info incorrectly in the site table causes infinite loop 2016-10-19 02:43:54 -04:00
Mark Gurevich
0a3fbd8d51 perltidy all perl files 2016-07-20 11:40:27 -04:00
Jarrod Johnson
8352acdab2 Modify strategy in case where login succeeds but set priv does not
Previously it would go all the way back.  Instead, go back just one step.
2014-06-27 11:50:06 -04:00
Jarrod Johnson
272c793745 Improve robustness in downgrade of session privilege 2014-06-20 14:43:46 -04:00
Jarrod Johnson
5c4558c06c Implement auto-downgrade to operator in IPMI
In some circumstances, xCAT can only have Operator privilege in
an IPMI environment.  In such a scenario, auto-degrade to operator
and try again before giving up.
2014-04-14 15:46:44 -04:00
Jarrod Johnson
d25680575d Correct } mistake in previous commit to IPMI.pm 2014-02-04 10:27:45 -05:00
Jarrod Johnson
c2c29970ff Make IPMI 2.0 crypto dependencies mandatory
Faced with an increasing population of IPMI 2 only devices, make the AES/CBC
requirements mandatory as it is a common source of systems failing to work
now.
2014-02-04 10:27:42 -05:00
Jarrod Johnson
3b1d444077 Fix detection of debian for some ubuntu installations 2014-01-08 15:16:51 -05:00
Jarrod Johnson
8376bfab67 Attempt to set ip and netmask remotely 2013-10-11 14:45:19 -04:00
xq2005
e5e572f940 ubuntu and debian ship SHA.pm instand of SHA1.pm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@16912 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-09 07:18:25 +00:00
jbjohnso
0b30264d39 Note to future self about tabooseq scope
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@16356 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-17 20:55:05 +00:00
jbjohnso
50ca1f5737 Have IPMI tolerate incorrect rqaddr field to communicate with buggy BMCs that don't comply to the spec
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@15013 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-01-29 21:23:38 +00:00
jbjohnso
86102a215b Provide more human readable interpretation of RMCP status messages where possible
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@14727 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-01-02 18:31:14 +00:00
jbjohnso
5f050f6a49 Instead of randomizing each retry, just randomize the first to get things spread out then do the triangular progression timeout
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@14243 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-11-05 14:36:04 +00:00
jbjohnso
7b2b6d9d2c Apply another algorithm to avoid sequence number reuse as much as possible
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@14236 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-11-04 17:25:38 +00:00
jbjohnso
6464143589 Have IPMI.pm explicitly not expect cmd netfn after receiveng cmd/netfn response
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@14234 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-11-04 17:25:25 +00:00
jbjohnso
49b78de893 Improve reliability of duplicate response detection phase 1, also check netfn and command match
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@14225 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-11-02 13:37:46 +00:00
jbjohnso
d4fa1ed91a Document some potential plans for sequence number magic to disambiguate spurious retries again
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@14128 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-10-25 19:53:58 +00:00
jbjohnso
ba08481381 It was discovered that the strategy to jump software ids, while effective, had the side effect of invalidating reservations
This means that initial SDR download would usually fail on implementations that consider reservations in such a manner.
Back out the incrementing software id behavior and instead bump retry interval back up to mitigate risk of wraparound
on retries.

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@14126 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-10-25 19:26:09 +00:00
jbjohnso
ad9945e953 Extend ipmi sequence validity through rqaddr
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13987 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-10-11 21:02:53 +00:00
jbjohnso
7d023e94ac Fix glaring mistake in previous commit where 'FAILED' and 'all good' were indistinguishable
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13945 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-10-03 19:56:35 +00:00
jbjohnso
ab965b04ed Have IPMI more decisively quite should the password be incorrect. Hypothetically a DoS could be aimed at the client, but that's much less likely.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13944 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-10-03 19:56:29 +00:00
jbjohnso
ccaacfd954 Fix mistake with sid increment
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13823 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-16 12:55:27 +00:00
jbjohnso
fe4b65400f Several changes to improve IPMI behavior, *particularly* with IPMI 2.0
-Go back to restarting the log in process if rakp2 or rakp4 goes awry, it's too likely for a dropped packet to confuse IPMI 2 devices.
-Fix relog to reset session context to avoid getting distracted by now stale RAKP messages if the IPMI device happened to be slow
-Switch session ids on relog, so that everything can ignore packets from a zombie IPMI session reliably (e.g. relog recovery of a session).
-In parse_ipmi_payload, delete pendingargs in addition to deleting sessions_waiting entry.  The latter should have sufficed, but there persisted an odd
 issue where sometimes the last non-logout packet was erroneously retransmitted as retries at the end.  This change short-circuits
 the timedout function should this occur, generally delaying exit by 100 milliseconds whet it goes wrong.

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13815 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-16 03:53:43 +00:00
jbjohnso
98ffaf7fbc In accordance with previous change, always act as if logout completed successfully without checking the result
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13812 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-15 13:23:30 +00:00
jbjohnso
9bab28ab00 When doing close session, if the reply packet is dropped on the network, session may no longer be closeable. Send a close session and hope for the best, do not hold up things waiting
for something that shall never come

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13811 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-15 13:23:22 +00:00
jbjohnso
95fbd48c1e Eliminate instances of recursive timedouts really ruining our day in IPMI
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13809 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-15 00:57:44 +00:00
jbjohnso
1f5e91d32e Rework IPMI.pm IPMI 2 session negotiation a bit, now we take care to make sure the most recent open rmcp+ request is the one used
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13808 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-15 00:57:28 +00:00
jbjohnso
64d767ab44 Revise ipmi 2 session establishment to be more forgiving of retries during the process
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13805 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-14 15:01:43 +00:00
jbjohnso
54f4616dbc Rework IPMI seqlun management to avoid accepting the same data twice as valid instead of retry
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13788 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-13 21:00:07 +00:00
jbjohnso
55c3a0ef04 Sometimes IPMI 2 implementations randomly complain about our math being wrong once in a few thousand tries, start over from scratch should this occur
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13593 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-08-23 18:21:25 +00:00
jbjohnso
7fce0d11b6 Further refine IPMI support, now pretty solid for 5,000 nodes at a time, still one more condition to recover from, erroneous bad auth code
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13590 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-08-23 17:08:52 +00:00
jbjohnso
9764d338cd Further refinements of IPMI, defer retries until there is a guaranteed chance given for BMC to reply
Ensure every transmit gives an opportunity to process incoming data

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13456 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-08-08 19:52:02 +00:00
jbjohnso
18052caaef Tweak IPMI retry to be more aggressive to reduce impact of occasional drops
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13371 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-07-30 19:22:46 +00:00
jbjohnso
2beaf85453 Fix problem where IPMI 1.5 timeouts would bug rather than properly report problem
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13351 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-07-26 13:10:39 +00:00
jbjohnso
f19277afe8 Rework pulling packets off the socket, less delay in moving data to a more stable data structure
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13346 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-07-25 20:19:20 +00:00
jbjohnso
825e410d16 Rework IPMI.pm a tad for better sacalbility
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13345 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-07-25 20:19:08 +00:00
jbjohnso
ebb3f27e55 Rework some of the IPv6 logic to tolerate certain peculiar perl environments
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@11797 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-03-08 15:17:20 +00:00