/usr/lib/python3/dist-packages/uaclient/cli
NameSizeModeActions
__pycache__/-0755rm
api.py24600644editdlrm
attach.py56110644editdlrm
auto_attach.py9580644editdlrm
cli_util.py82730644editdlrm
collect_logs.py17740644editdlrm
commands.py37650644editdlrm
config.py109820644editdlrm
cve.py68910644editdlrm
cves.py38690644editdlrm
detach.py34640644editdlrm
disable.py109060644editdlrm
enable.py192650644editdlrm
fix.py293150644editdlrm
formatter.py89550644editdlrm
help.py17070644editdlrm
parser.py27820644editdlrm
refresh.py24800644editdlrm
security_status.py28600644editdlrm
status.py24240644editdlrm
system.py10740644editdlrm
__init__.py95010644editdlrm
Edit: /usr/lib/python3/dist-packages/uaclient/cli/collect_logs.py (1774B)
import logging import os import sys import tarfile import tempfile from uaclient import messages from uaclient.actions import collect_logs from uaclient.cli.commands import ProArgument, ProArgumentGroup, ProCommand from uaclient.cli.parser import HelpCategory from uaclient.util import replace_top_level_logger_name PRO_COLLECT_LOGS_FILE = "pro_logs.tar.gz" LOG = logging.getLogger(replace_top_level_logger_name(__name__)) def action_collect_logs(args, *, cfg, **kwargs): output_file = args.output or PRO_COLLECT_LOGS_FILE with tempfile.TemporaryDirectory() as output_dir: collect_logs(cfg, output_dir) try: old_umask = os.umask(0o177) try: with tarfile.open(output_file, "x:gz") as results: results.add(output_dir, arcname="logs/") finally: os.umask(old_umask) except PermissionError as e: LOG.error(e) return 1 except FileExistsError as e: LOG.error(e) print( messages.E_FILE_ALREADY_EXISTS.format( filename=output_file, ), file=sys.stderr, ) return 1 return 0 collect_logs_command = ProCommand( "collect-logs", help=messages.CLI_ROOT_COLLECT_LOGS, description=messages.CLI_COLLECT_LOGS_DESC, preserve_description=True, action=action_collect_logs, help_category=HelpCategory.TROUBLESHOOT, argument_groups=[ ProArgumentGroup( arguments=[ ProArgument( "--output", short_name="-o", help=messages.CLI_COLLECT_LOGS_OUTPUT, ) ] ) ], )