parent
edbe29d06a
commit
9e7d86d5cf
|
@ -311,7 +311,7 @@ def vm_locks(config, vm):
|
|||
|
||||
def view_console_log(config, vm, lines=100):
|
||||
"""
|
||||
Return console log lines from the API and display them in a pager
|
||||
Return console log lines from the API (and display them in a pager in the main CLI)
|
||||
|
||||
API endpoint: GET /vm/{vm}/console
|
||||
API arguments: lines={lines}
|
||||
|
@ -334,17 +334,7 @@ def view_console_log(config, vm, lines=100):
|
|||
shrunk_log = console_log.split('\n')[-lines:]
|
||||
loglines = '\n'.join(shrunk_log)
|
||||
|
||||
# Show it in the pager (less)
|
||||
try:
|
||||
pager = subprocess.Popen(['less', '-R'], stdin=subprocess.PIPE)
|
||||
pager.communicate(input=loglines.encode('utf8'))
|
||||
except FileNotFoundError:
|
||||
ainformation = list()
|
||||
ainformation.append("Error: `less` pager not found, dumping log ({} lines) to stdout".format(lines))
|
||||
ainformation.append(loglines)
|
||||
return False, '\n'.join(ainformation)
|
||||
|
||||
return True, ''
|
||||
return True, loglines
|
||||
|
||||
def follow_console_log(config, vm, lines=10):
|
||||
"""
|
||||
|
|
|
@ -779,7 +779,7 @@ def vm_flush_locks(domain):
|
|||
'domain'
|
||||
)
|
||||
@click.option(
|
||||
'-l', '--lines', 'lines', default=100, show_default=True,
|
||||
'-l', '--lines', 'lines', default=1000, show_default=True,
|
||||
help='Display this many log lines from the end of the log buffer.'
|
||||
)
|
||||
@click.option(
|
||||
|
@ -788,13 +788,15 @@ def vm_flush_locks(domain):
|
|||
)
|
||||
def vm_log(domain, lines, follow):
|
||||
"""
|
||||
Show console logs of virtual machine DOMAIN on its current node in the 'less' pager or continuously. DOMAIN may be a UUID or name. Note that migrating a VM to a different node will cause the log buffer to be overwritten by entries from the new node.
|
||||
Show console logs of virtual machine DOMAIN on its current node in a pager or continuously. DOMAIN may be a UUID or name. Note that migrating a VM to a different node will cause the log buffer to be overwritten by entries from the new node.
|
||||
"""
|
||||
|
||||
if follow:
|
||||
retcode, retmsg = pvc_vm.follow_console_log(config, domain, lines)
|
||||
else:
|
||||
retcode, retmsg = pvc_vm.view_console_log(config, domain, lines)
|
||||
click.echo_via_pager(retmsg)
|
||||
retmsg = ''
|
||||
cleanup(retcode, retmsg)
|
||||
|
||||
###############################################################################
|
||||
|
|
Loading…
Reference in New Issue