mirror of
https://opendev.org/x/pyghmi
synced 2025-08-22 11:00:24 +00:00
Lessen degree of admin backoff
When completing RAKP, but denied by set session privilege level, just repeat set session privilege level at lower privilege rather than trying to go all the way back. Change-Id: I3cc10320e81b8a3db3ebb7b17026f0d233e0b808
This commit is contained in:
@@ -842,28 +842,24 @@ class Session(object):
|
||||
self._req_priv_level()
|
||||
|
||||
def _req_priv_level(self):
|
||||
self.ipmicallback = self._got_priv_level
|
||||
self._send_ipmi_net_payload(netfn=0x6,
|
||||
command=0x3b,
|
||||
self.logged = 1
|
||||
response = self.raw_command(netfn=0x6, command=0x3b,
|
||||
data=[self.privlevel])
|
||||
|
||||
def _got_priv_level(self, response):
|
||||
if response['code']:
|
||||
if response['code'] in (0x80, 0x81) and self.privlevel == 4:
|
||||
# some implementations will let us get this far,
|
||||
# but suddenly get skiddish. Try again in such a case
|
||||
self.privlevel = 3
|
||||
self.logged = 1
|
||||
self.logout()
|
||||
self._relog()
|
||||
return
|
||||
mysuffix = " while requesting privelege level %d for %s" % (
|
||||
self.privlevel, self.userid)
|
||||
errstr = get_ipmi_error(response, suffix=mysuffix)
|
||||
if errstr:
|
||||
self.onlogon({'error': errstr})
|
||||
return
|
||||
self.logged = 1
|
||||
response = self.raw_command(netfn=0x6, command=0x3b,
|
||||
data=[self.privlevel])
|
||||
if response['code']:
|
||||
self.logged = 0
|
||||
mysuffix = " while requesting privelege level %d for %s" % (
|
||||
self.privlevel, self.userid)
|
||||
errstr = get_ipmi_error(response, suffix=mysuffix)
|
||||
if errstr:
|
||||
self.onlogon({'error': errstr})
|
||||
return
|
||||
self.logging = False
|
||||
Session.keepalive_sessions[self] = {}
|
||||
Session.keepalive_sessions[self]['ipmisession'] = self
|
||||
@@ -1401,7 +1397,6 @@ class Session(object):
|
||||
return -1
|
||||
|
||||
def _parse_payload(self, payload):
|
||||
|
||||
if hasattr(self, 'hasretried') and self.hasretried:
|
||||
self.hasretried = 0
|
||||
self.tabooseq[
|
||||
|
Reference in New Issue
Block a user