The 'request' method was overriding provided 'Cookies' header if
previous requests had captured other cookies.
Change-Id: I51e24e6095fa5955504b767a77fa5f2fb85448f7
Some depressing platforms don't support this. The intent is to work
around incorrect MTU settings for a network, which is hopefully rare,
so being opportunistic without being fatalistic seems a wise course.
Change-Id: I2108f335bdf623f6fc0a1723a8b5988c253a76b3
The XCC with an update prepared but not yet executed offers that info.
Provide that to the calling code.
Change-Id: Iaafe681c6f744368ecc42dd87919a50a69466e1b
The XCC does not take kindly to certain requests during update.
Mitigate through blocking those requests. Before the update would fail
and the new operation succeed. Change so that the running update is
allowed to continue at the expense of the new attempt.
Change-Id: I94618450206fd4a7eba37f2614e713baf3e82023
The underlying class state machine can get hairy if
things race with each other. Transparently create
independent instances to have dedicated state machines
for transactions.
Change-Id: I17616a437374f6dfdcd46d459cfc7ed00405b311
Zuul now supports including the file extension on the playbook path
and omitting the extension is now deprecrated. Update references
to include the extension.
Change-Id: I9f7cfb25cdd87b7431ec0297a97aa827eec31799
Some chassis managers implement a reseat function, provide access to
this capability with a high level API.
Change-Id: Ie7bbedc34236c95e43b790677b9e637cda893e0a
Adapter updates require a different conversation.
Implement that conversation so that the user need
not be aware.
Change-Id: I865d211b8aad08797b556a077814a3068ae9ea2c
This patch do step 1 in the docs: Move Legacy Jobs to Projects.
Change-Id: I824b28f184c68da6e5ff66b1ca2ee007eb44fbbb
Needed-By: I550188a50554b086a11d35e39927f8b0f8a89bf7
Needed-By: Ib86c59dc309c1e1596013eca42b7e34a4ebfdcd1
The only exception that is somewhat usual is connection refused,
for systems without a web interface at all. Everything else should
be raised.
Change-Id: I2c6bd7f6a25a4728191748b071053112af3a2139
While it was 'Power' for the sake of being convenient to people
about power metrics, it is not strictly accurate. Change to the
accurate description and people will just have to know to look for
Energy rather than Power.
Change-Id: Iaa303b417740015bd35ef0a4d41928a4c40bf933
Energy meters are available through OEM commands for Lenovo enterprise
servers. This enables those data to appear as sensors when enumerated.
Change-Id: I28d59b24cf49642e82d5b71f7c34f94d858796dd
Some DIMMs have short model numbers and pad with NULL. Also tolerate
other common padding (0xff and spaces).
Change-Id: I01550996ade799b2c29d910ae9bb8c5150f94a38
Some systems do not support reporting FPGA version,
for such systems that return 193, ignore the situation.
Change-Id: Ic6f967754741d1789bc293f9489fab0077faf033
The XCC has a primary bank and backup bank that may
be individually managed. Provide access to updating the
backup bank.
Change-Id: Ia9b3b4602d7a0ff62b0269020eeece03844ecaa9
IMM web has now started rejecting http without referer. Provide
a reasonable referer for that situation.
Change-Id: Id6d537252646122005a78a92c8a0122f28d379ae
Windows does not have fcntl, but can work out of
band. Allow out of band on Windows to work even
though localsession cannot.
Change-Id: Ia3c188b33582f2c62bef6cb1f9576ccec314506d
On windows especially, inet_p functions are rare in python. For AF_INET, inet_a functions
do the same thing and are more easily found.
Change-Id: I26f6e1015e9e82aad9b3c05ab7a45af6d11555cb
Previously waitall was used as a way to have wait_for_rsp be able to
call out for specifically keepalive, to prevent a wait_for_rsp from
hanging. The thought was to create a new wait_for_rsp by recursing.
However, if things go really bad with enough systems, it runs afoul of
python's recursion limit. The alternative strategy is to provide a way
to never wait, and asynchronously do cleanup in a callback. This
returns to the original wait_for_rsp instance rather than recursing
to a new one, keeping the stack shallow.
Change-Id: I54450bfc5bf57563a0a8bd986d9aea887bf36e53
Sometimes equipment will not handle some header data, such as 802.1q tag. Other times,
there's a jumbo NIC talking to a BMC that is not jumbo.
Workaround such situations by setting the MSS to 1456 explicitly, which fits in MTU 1500 plus
4 bytes for dot1q tag, if some intermediat device fails to handle that.
Change-Id: I7db1c8feac1c094871723026771792432a3daaf4
Sensor numbers can have a lookup table in SDR without being a sensor.
Support these for eventlog decode, without adding noise to the sensor
enumeration.
Change-Id: If635512616da1a98ab7ca9d2352aea55ea2da5e3
The console code was using a global lock, but the data protected
is per instance. Change to using a local version. I couldn't figure out
a generic way for the decorator approach to dereference 'self'
without creating a specific requirement on the class name, so
I changed to using it as a context manager directly for now.
Change-Id: I304b75572fecd3326723d981fec67207d87d0742
The update process has a number of common errors and a lengthy
validation phase, provide more detail on the process.
Change-Id: I814d512814c132e95bb018cd622cff3c2efdf2c2
A per instance copy of data was kept in scope throughout download
process. Minimize that to once regardless of instances, and have
lifetime of the extra copy be very short.
Change-Id: Ife3c7f83bf9b97925cf079597f014db648b227ba