Add extra debug to _read_long_output
Also pass in the text of the command we're reading output from, might
help with debugging issues
Change-Id: Ib62c48c535ace012231491703815862543497449
diff --git a/drivers/CiscoSX300.py b/drivers/CiscoSX300.py
index f933af3..2f28f76 100644
--- a/drivers/CiscoSX300.py
+++ b/drivers/CiscoSX300.py
@@ -183,7 +183,7 @@
regex = re.compile('^ *(\d+).*(D|S|G|R)')
self._cli("show vlan")
- for line in self._read_long_output():
+ for line in self._read_long_output("show vlan"):
match = regex.match(line)
if match:
vlans.append(int(match.group(1)))
@@ -202,7 +202,7 @@
name = None
regex = re.compile('^ *\d+\s+(\S+).*(D|S|G|R)')
self._cli("show vlan tag %d" % tag)
- for line in self._read_long_output():
+ for line in self._read_long_output("show vlan tag"):
match = regex.match(line)
if match:
name = match.group(1)
@@ -252,7 +252,7 @@
try:
self._cli("show interfaces switchport %s" % port)
- for line in self._read_long_output():
+ for line in self._read_long_output("show interfaces switchport"):
match = regex.match(line)
if match:
mode = match.group(1)
@@ -351,7 +351,7 @@
try:
self._cli("show interfaces switchport %s" % port)
- for line in self._read_long_output():
+ for line in self._read_long_output("show interfaces switchport"):
match = regex.match(line)
if match:
vlan = match.group(1)
@@ -374,7 +374,7 @@
try:
self._cli("show interfaces switchport %s" % port)
- for line in self._read_long_output():
+ for line in self._read_long_output("show interfaces switchport"):
match = regex.match(line)
if match:
vlans.append (int(match.group(1)))
@@ -467,14 +467,14 @@
def _end_configure(self):
self._cli("end")
- def _read_long_output(self):
+ def _read_long_output(self, text):
prompt = self._prompt_name + '#'
try:
self.connection.expect(prompt)
except (pexpect.EOF, pexpect.TIMEOUT):
# Something went wrong; logout, log in and try again!
logging.error("PEXPECT FAILURE, RECONNECT")
- self.errors.log_error_in("")
+ self.errors.log_error_in(text)
raise PExpectError("_read_long_output failed")
except:
logging.error("prompt is \"%s\"", prompt)
@@ -495,7 +495,7 @@
try:
self._cli("show interfaces status detailed")
- for line in self._read_long_output():
+ for line in self._read_long_output("show interfaces status detailed"):
match = regex.match(line)
if match:
interfaces.append(match.group(1))
@@ -509,7 +509,7 @@
logging.debug("Grabbing config")
try:
self._cli("show running-config")
- return self._read_long_output()
+ return self._read_long_output("show running-config")
except PExpectError:
# recurse on error
self._switch_connect()
@@ -519,7 +519,7 @@
logging.debug("Grabbing time")
try:
self._cli("show clock")
- return self._read_long_output()
+ return self._read_long_output("show clock")
except PExpectError:
# recurse on error
self._switch_connect()
@@ -531,12 +531,12 @@
try:
self.systemdata = []
self._cli("show system")
- for line in self._read_long_output():
+ for line in self._read_long_output("show system"):
self.systemdata.append(line)
logging.debug("Grabbing system sw and hw versions")
self._cli("show version")
- for line in self._read_long_output():
+ for line in self._read_long_output("show version"):
self.systemdata.append(line)
except PExpectError: