Make it easier to cope with burdens of long running execution by
providing a single-shot call to establish a persistent context
to run keepalives from.
Change-Id: I5ddbd647846daf119a4219d5c014682223657dfd
Also traverse the directediowaiter list in reverse, to avoid
index referring to wrong value as it goes.
Change-Id: Id8ffa4795b0d90f0cf1db59a271b1ec21d2dafea
Since we want to delete as we iterate, use list() to make a copy
that will survive modification during iteration.
Change-Id: I4b0425acbe01a84a47d6cbaa2138e8bc908b2dfe
iowaiter overhead can be significantly reduced by not calling
monotonic_time() for every single one that is waiting.
Change-Id: I7ee5cd78541d722f4a11898dcd4a3390b8220a95
The only way for a registered waiter for general IO activity
to be forgotten was for it to be satisfied. Unfortunately, in a bad
scenario, it would sit and be relatively worthless. In a large
environment, this could accrue and those stubbed out events become a
large headache.
Change-Id: I1e2c7afa1dc5c9e2adeb26f2e4cd7a7b7b9709ed
* Add installed scripts into the spec.
* Add missing BuildRequires
* Pull source by URL
* Remove installation directories as they do not
seem to be used
Change-Id: Ib4ff280cb4c50c2f1d57b271557b0c2ddf4e07fe
According to OpenStack summit session [1], stestr is
maintained project to which all OpenStack projects should
migrate.
Let's switch to stestr as other projects have already
moved to it.
Uses environment inclusions which need tox 2.8.1 due to
a bug fix. So increase the tox minversion.
[1] https://etherpad.openstack.org/p/YVR-python-pti
Change-Id: If6eded0dd802cbdfe49ad72c64004585d4a1484b
The addition to actively try to logout failed to notify custom keepalive
Have logout() run the same routines that mark_broken did if logged
to have it more consistent and reliable.
Change-Id: I557ce0e8ef856acee5eb52622537e02f7bffe805
The session.py uses lists and struct liberally. We can be clearer and
more efficient by just working with bytearrays instead, which are better
fit for this purpose.
Change-Id: I280db9322c9a4f89470d93cf6df56b18966edb51
If a session has *just* expired, it may just be waiting for the
next timeout pass. If it expired 15 seconds ago, however, it should
by all rights be beyond dead.
This matters as the calling code may be oblivious to the change of
session object under the covers if this is tripped.
Change-Id: I5be3bafb5932c287eb17c66217ba630746533310
otherfields addition for IMM broke other uploads. Rectify the mistake
by referencing an empty tuple instead.
Change-Id: I0db752351cfef4ba54cb81b551585ac5aad74f91
Do a no-retry logout attempt, in hopes of mitigating leaving
stray sessions open in various situations.
Change-Id: I750249a69cac2695d8da45780c3b908943148565
Refactor the support added to support IMMv2 RDOC to be reusable, and
apply it to SMM updates as well.
Change-Id: I01cd3dca8b14230c0487e2e7261fde412efedf8d
Python httplib was making a copy of the data passed as bytes, completely
foiling the memory reduction attempt. Change to StringIO to avoid
bulk copies and have python httplib itreate a bit at a time.
Change-Id: I923d8bac290f628ee10dd8a33e528a32f3d52a23
IMMv2 firmware changed two things:
-It now requires a referer to mount media
-Newer firmware moved from data?set to data/set
Change-Id: I4b5b88f993b87e4e769aad82cb161abfb72bfd18
SOL packets are treated differently and as such should
interleave with non-console data. Particularly if SOL payload gets
deactivated by something else, do not presume the whole session to
be broken (leave that to the command based keepalive).
Change-Id: Ic70b57cd6834e6936f1d5a6b855dbe835200ad41