Merge pull request #1002 from dwalton76/vtysh-exit-non-zero

vtysh: vtysh -f FOO should exit non-zero if it hits an error
This commit is contained in:
David Lamparter 2017-08-21 14:22:35 +02:00 committed by GitHub
commit 82cc2e9dee
2 changed files with 6 additions and 13 deletions

View File

@ -1162,19 +1162,11 @@ if __name__ == '__main__':
for line in lines_to_configure:
fh.write(line + '\n')
output = subprocess.check_output(['/usr/bin/vtysh', '-f', filename])
# exit non-zero if we see these errors
for x in ('BGP instance name and AS number mismatch',
'BGP instance is already running',
'% not a local address'):
for line in output.splitlines():
if x in line:
msg = "ERROR: %s" % x
log.error(msg)
print msg
reload_ok = False
try:
subprocess.check_output(['/usr/bin/vtysh', '-f', filename])
except subprocess.CalledProcessError as e:
log.warning("frr-reload.py failed due to\n%s" % e.output)
reload_ok = False
os.unlink(filename)
# Make these changes persistent

View File

@ -752,6 +752,7 @@ int vtysh_config_from_file(struct vty *vty, FILE *fp)
lineno, cmd_stat,
vtysh_client[i].name,
vty->buf);
retcode = cmd_stat;
break;
}
}