unsupported
�_’I|¥‰ÓMjqØ‚¦ð¬÷ÆÅ File not found.
Ã
358ÇÆÅ f
403 Forbidden
Forbidden
You don't have permission to access this resource.
Additionally, a 403 Forbidden
error was encountered while trying to use an ErrorDocument to handle the request.
Ã
358ÇÆÅ f
403 Forbidden
Forbidden
You don't have permission to access this resource.
Additionally, a 403 Forbidden
error was encountered while trying to use an ErrorDocument to handle the request.
; ˆl–Ðz¾”Ša,jqA
àp
)‹FÿÂ
„eöÀÁa–ß=¿JJj"Tâ�À7q�)‹FÿÇ ?÷ # Copyright Red Hat 2020, Jake Hunsaker
# This file is part of the sos project: https://github.com/sosreport/sos
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# version 2 of the GNU General Public License.
#
# See the LICENSE file in the source distribution for further information.
# pylint: disable=too-many-branches
import fnmatch
import inspect
import logging
import os
import re
from shlex import quote
from sos.policies import load
from sos.policies.init_systems import InitSystem
from sos.collector.transports.juju import JujuSSH
from sos.collector.transports.control_persist import SSHControlPersist
from sos.collector.transports.local import LocalTransport
from sos.collector.transports.oc import OCTransport
from sos.collector.transports.saltstack import SaltStackMaster
from sos.collector.exceptions import (CommandTimeoutException,
ConnectionException,
UnsupportedHostException,
InvalidTransportException)
from sos.utilities import sos_parse_version
TRANSPORTS = {
'local': LocalTransport,
'control_persist': SSHControlPersist,
'oc': OCTransport,
'saltstack': SaltStackMaster,
'juju': JujuSSH,
}
class SosNode():
def __init__(self, address, commons, password=None, local_sudo=None,
load_facts=True):
self.address = address.strip()
self.commons = commons
self.opts = commons['cmdlineopts']
self._assign_config_opts()
self.tmpdir = commons['tmpdir']
self.hostlen = commons['hostlen']
self.need_sudo = commons['need_sudo']
self.sos_options = commons['sos_options']
self.node_config_file = self.opts.node_config_file
self.inherit_config_file = self.opts.inherit_config_file
self.local = False
self.host = None
self.cluster = None
self.hostname = None
self.sos_env_vars = {}
self._env_vars = {}
self._password = password or self.opts.password
if not self.opts.nopasswd_sudo and not self.opts.sudo_pw:
self.opts.sudo_pw = self._password
# override local sudo from any other source
if local_sudo:
self.opts.sudo_pw = local_sudo
self.sos_path = None
self.retrieved = False
self.hash_retrieved = False
self.file_list = []
self.sos_info = {
'version': None,
'enabled': [],
'disabled': [],
'options': [],
'presets': [],
'sos_cmd': commons['sos_cmd']
}
self.sos_bin = 'sosreport'
self.soslog = logging.getLogger('sos')
self.ui_log = logging.getLogger('sos_ui')
self._transport = self._load_remote_transport(commons)
# Overwrite need_sudo if transports default_user
# is set and is not root.
if self._transport.default_user:
self.need_sudo = self._transport.default_user != 'root'
try:
self._transpor