PATH:
usr
/
lib
/
python3.9
/
site-packages
/
sos
/
report
/
plugins
# 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. from sos.report.plugins import (Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, SoSPredicate, PluginOpt) from sos.policies.distros.ubuntu import UbuntuPolicy from sos.policies.distros.debian import DebianPolicy class Networking(Plugin): short_desc = 'Network and networking devices configuration' plugin_name = "networking" profiles = ('network', 'hardware', 'system') trace_host = "www.example.com" option_list = [ PluginOpt("traceroute", default=False, desc=f"collect a traceroute to {trace_host}"), PluginOpt("namespace-pattern", default="", val_type=str, desc=("Specific namespace names or patterns to collect, " "whitespace delimited.")), PluginOpt("namespaces", default=None, val_type=int, desc="Number of namespaces to collect, 0 for unlimited"), PluginOpt("ethtool-namespaces", default=True, desc=("Toggle if ethtool commands should be run for each " "namespace")), PluginOpt("eepromdump", default=False, desc="Toggle collection of 'ethtool -e' for NICs") ] # switch to enable netstat "wide" (non-truncated) output mode ns_wide = "-W" # list of kernel modules needed by ss_cmd, this may vary by distro version ss_kmods = ['tcp_diag', 'udp_diag', 'inet_diag', 'unix_diag', 'netlink_diag', 'af_packet_diag', 'xsk_diag'] # list of ethtool short options, used in add_copy_spec and add_cmd_tags # do NOT add there "e" (see eepromdump plugopt) ethtool_shortopts = "acdgiklmPST" def setup(self): super().setup() self.add_file_tags({ '/proc/net/bonding/bond.*': 'bond', '/etc/hosts': 'hosts' }) self.add_copy_spec([ "/etc/dnsmasq*", "/etc/host*", "/etc/inetd.conf", "/etc/iproute2", "/etc/network*", "/etc/nsswitch.conf", "/etc/resolv.conf", "/etc/gai.conf", "/etc/xinetd.conf", "/etc/xinetd.d", "/etc/yp.conf", "/proc/net/", "/sys/class/net/*/device/numa_node", "/sys/class/net/*/flags", "/sys/class/net/*/statistics/", "/etc/nmstate/", "/var/lib/lldpad/", "/etc/services", ]) self.add_forbidden_path([ "/proc/net/rpc/use-gss-proxy", "/proc/net/rpc/*/channel", "/proc/net/rpc/*/flush", # Cisco CDP "/proc/net/cdp", "/sys/net/cdp", # Dialogic Diva "/proc/net/eicon" ]) self.add_cmd_output("ip -o addr", root_symlink="ip_addr", tags='ip_addr') self.add_cmd_output("ip route show table all", root_symlink="ip_route", tags=['ip_route', 'iproute_show_table_all']) self.add_cmd_output("plotnetcfg") self.add_cmd_output(f"netstat {self.ns_wide} -neopa", root_symlink="netstat") self.add_cmd_output([ "nstat -zas", "netstat -s", "netstat -s -6", f"netstat {self.ns_wide} -agn", "networkctl status -a", "ip -6 route show table all", "ip -d route show cache", "ip -d -6 route show cache", "ip -4 rule list", "ip -6 rule list", "ip vrf show", "ip -s -d link", "ip -d address", "ifenslave -a", "ip mroute show", "ip maddr show", "ip -s -s neigh show", "ip neigh show nud noarp", "biosdevname -d", "tc -s qdisc show", "nmstatectl show", "nmstatectl show --running-config", ]) if self.path_isdir('/sys/class/devlink'): self.add_cmd_output([ "devlink dev param show", "devlink dev info", "devlink port show", "devlink sb show", "devlink sb pool show", "devlink sb port pool show", "devlink sb tc bind show", "devlink -s -v trap show", ]) devlinks = self.collect_cmd_output("devlink dev") if devlinks['status'] == 0: devlinks_list = devlinks['output'].splitlines() for devlink in devlinks_list: self.add_cmd_output([ f"devlink dev eswitch show {devlink}", f"devlink sb occupancy snapshot {devlink}", f"devlink sb occupancy show {devlink}", f"devlink -v resource show {devlink}" ]) dev_tables = [] dpipe = self.collect_cmd_output( f"devlink dpipe table show {devlink}" ) if dpipe['status'] == 0: for tableln in dpipe['output'].splitlines(): if tableln.startswith('name'): dev_tables.append(tableln.split()[1]) self.add_cmd_output([ f"devlink dpipe table show {devlink} name {dname}" for dname in dev_tables ]) # below commands require some kernel module(s) to be loaded # run them only if the modules are loaded, or if explicitly requested # via --allow-system-changes option ip_macsec_show_cmd = "ip -s macsec show" macsec_pred = SoSPredicate(self, kmods=['macsec']) self.add_cmd_output(ip_macsec_show_cmd, pred=macsec_pred, changes=True) self.collect_ss_ip_ethtool_info() self.collect_bridge_info() def add_command_tags(self): """ Command tags for ip/ethtool/netstat """ for opt in self.ethtool_shortopts: self.add_cmd_tags({ f'ethtool -{opt} .*': f'ethool_{opt}' }) self.add_cmd_tags({ "ethtool [^-].*": "ethtool", "ip -d address": "ip_addr", "ip -s -s neigh show": "ip_neigh_show", "ip -s -d link": "ip_s_link", "netstat.*-neopa": "netstat", "netstat.*-agn": "netstat_agn", "netstat -s": "netstat_s" }) def collect_bridge_info(self): """ Collect information about bridges (some data already collected via "ip .." commands) """ self.add_cmd_output([ "bridge -s -s -d link show", "bridge -s -s -d -t fdb show", "bridge -s -s -d -t mdb show", "bridge -d vlan show" ]) def collect_ss_ip_ethtool_info(self): """ Collect ss, ip and ethtool cmd outputs """ ss_cmd = "ss -peaonmi" ss_pred = SoSPredicate(self, kmods=self.ss_kmods, required={'kmods': 'all'}) self.add_cmd_output(ss_cmd, pred=ss_pred, changes=True) self.add_cmd_output("ss -s") # Get ethtool output for every device that does not exist in a # namespace. _ecmds = [f"ethtool -{opt}" for opt in self.ethtool_shortopts] self.add_device_cmd([ _cmd + " %(dev)s" for _cmd in _ecmds ], devices='ethernet') self.add_device_cmd([ "ethtool %(dev)s", "ethtool --phy-statistics %(dev)s", "ethtool --show-priv-flags %(dev)s", "ethtool --show-eee %(dev)s", "ethtool --show-fec %(dev)s", "ethtool --show-ntuple %(dev)s", "tc -s filter show dev %(dev)s", "tc -s filter show dev %(dev)s ingress", ], devices="ethernet") # skip EEPROM collection by default, as it might hang or # negatively impact the system on some device types if self.get_option("eepromdump"): cmd = "ethtool -e %(dev)s" self._log_warn("WARNING: collecting an eeprom dump is known to " "cause certain NIC drivers (e.g. bnx2x/tg3) to " "interrupt device operation") self.add_device_cmd(cmd, devices="ethernet") if self.get_option("traceroute"): self.add_cmd_output(f"/bin/traceroute -n {self.trace_host}", priority=100) # Capture additional data from namespaces; each command is run # per-namespace. self.add_cmd_output("ip netns") cmd_prefix = "ip netns exec " namespaces = self.get_network_namespaces( self.get_option("namespace-pattern"), self.get_option("namespaces")) if namespaces: # 'ip netns exec <foo> iptables-save' must be guarded by nf_tables # kmod, if 'iptables -V' output contains 'nf_tables' # analogously for ip6tables cout = {'cmd': 'iptables -V', 'output': 'nf_tables'} co6 = {'cmd': 'ip6tables -V', 'output': 'nf_tables'} iptables_with_nft = (SoSPredicate(self, kmods=['nf_tables']) if self.test_predicate(self, pred=SoSPredicate(self, cmd_outputs=cout)) else None) ip6tables_with_nft = (SoSPredicate(self, kmods=['nf_tables']) if self.test_predicate(self, pred=SoSPredicate(self, cmd_outputs=co6)) else None) for namespace in namespaces: _devs = self.devices['namespaced_network'][namespace] _subdir = f"namespaces/{namespace}" ns_cmd_prefix = cmd_prefix + namespace + " " self.add_cmd_output([ f"{ns_cmd_prefix} ip -d address show", f"{ns_cmd_prefix} ip route show table all", f"{ns_cmd_prefix} ip -s -s neigh show", f"{ns_cmd_prefix} ip -4 rule list", f"{ns_cmd_prefix} ip -6 rule list", f"{ns_cmd_prefix} ip vrf show", f"{ns_cmd_prefix} sysctl -a", f"{ns_cmd_prefix} netstat {self.ns_wide} -neopa", f"{ns_cmd_prefix} netstat -s", f"{ns_cmd_prefix} netstat {self.ns_wide} -agn", f"{ns_cmd_prefix} nstat -zas", ], priority=50, subdir=_subdir) self.add_cmd_output([ns_cmd_prefix + "iptables-save"], pred=iptables_with_nft, subdir=_subdir, priority=50) self.add_cmd_output([ns_cmd_prefix + "ip6tables-save"], pred=ip6tables_with_nft, subdir=_subdir, priority=50) ss_cmd = ns_cmd_prefix + "ss -peaonmi" # --allow-system-changes is handled directly in predicate # evaluation, so plugin code does not need to separately # check for it self.add_cmd_output(ss_cmd, pred=ss_pred, subdir=_subdir) # Collect ethtool commands only when ethtool_namespaces # is set to true. if self.get_option("ethtool-namespaces"): # Devices that exist in a namespace use less ethtool # parameters. Run this per namespace. self.add_device_cmd([ f"{ns_cmd_prefix} ethtool %(dev)s", f"{ns_cmd_prefix} ethtool -i %(dev)s", f"{ns_cmd_prefix} ethtool -k %(dev)s", f"{ns_cmd_prefix} ethtool -S %(dev)s", f"{ns_cmd_prefix} ethtool -m %(dev)s" ], devices=_devs['ethernet'], priority=50, subdir=_subdir) self.add_command_tags() class RedHatNetworking(Networking, RedHatPlugin): trace_host = "rhn.redhat.com" def setup(self): # Handle change from -T to -W in Red Hat netstat 2.0 and greater. try: netstat_pkg = self.policy.package_manager.pkg_by_name('net-tools') # major version if int(netstat_pkg['version'][0]) < 2: self.ns_wide = "-T" except Exception: # pylint: disable=broad-except # default to upstream option pass super().setup() def postproc(self): self.do_path_regex_sub( "/etc/nmstate", r"(\s+(mka-cak|private-key-password|psk|password):).*", r"\1 ******" ) class UbuntuNetworking(Networking, UbuntuPlugin, DebianPlugin): trace_host = "archive.ubuntu.com" def setup(self): common_ss_kmods = ['af_packet_diag', 'inet_diag', 'mptcp_diag', 'netlink_diag', 'raw_diag', 'tcp_diag', 'udp_diag', 'unix_diag'] if (isinstance(self.policy, UbuntuPolicy) and self.policy.dist_version() >= 22.04): self.ss_kmods = common_ss_kmods + ['xsk_diag'] elif (isinstance(self.policy, DebianPolicy) and self.policy.dist_version() >= 13): self.ss_kmods = common_ss_kmods + ['vsock_diag'] super().setup() self.add_copy_spec([ "/etc/netplan/*.yaml", "/etc/network/interfaces", "/etc/network/interfaces.d", "/etc/resolv.conf", "/etc/resolvconf", "/lib/netplan/*.yaml", "/run/netplan/*.yaml", "/run/systemd/network" ]) # Netplan only consumes files with the `.yaml` extension (LP#1815734), # so give visibility on other files that might be present. self.add_dir_listing([ "/etc/netplan", "/lib/netplan", "/run/netplan", ]) def postproc(self): self.do_path_regex_sub( "/etc/netplan", r"(\s+password:).*", r"\1 ******" ) # vim: set et ts=4 sw=4 :
[+]
..
[-] freeipmi.py
[edit]
[-] chrony.py
[edit]
[-] crio.py
[edit]
[-] multipath.py
[edit]
[-] cman.py
[edit]
[-] lxd.py
[edit]
[-] xdp.py
[edit]
[-] monit.py
[edit]
[-] rabbitmq.py
[edit]
[-] ssh.py
[edit]
[-] cockpit.py
[edit]
[-] ctdb.py
[edit]
[-] omsa.py
[edit]
[-] named.py
[edit]
[-] ceph_mds.py
[edit]
[-] fibrechannel.py
[edit]
[-] openstack_database.py
[edit]
[-] oddjob.py
[edit]
[-] rhui_containerized.py
[edit]
[-] container_log.py
[edit]
[-] postgresql.py
[edit]
[-] tigervnc.py
[edit]
[-] krb5.py
[edit]
[-] drbd.py
[edit]
[-] procenv.py
[edit]
[-] zfs.py
[edit]
[-] kubernetes.py
[edit]
[-] rpmostree.py
[edit]
[-] wireless.py
[edit]
[-] veritas.py
[edit]
[-] s390.py
[edit]
[-] kvm.py
[edit]
[-] udev.py
[edit]
[-] nis.py
[edit]
[-] canonical_livepatch_onprem.py
[edit]
[-] hpssm.py
[edit]
[-] boom.py
[edit]
[-] foreman.py
[edit]
[-] firewalld.py
[edit]
[-] ovirt.py
[edit]
[-] ubuntu.py
[edit]
[-] redis.py
[edit]
[-] aap_containerized.py
[edit]
[-] openstack_masakarimonitors.py
[edit]
[-] console.py
[edit]
[-] sas3ircu.py
[edit]
[-] ebpf.py
[edit]
[-] kernel.py
[edit]
[-] openstack_ironic.py
[edit]
[-] ostree.py
[edit]
[-] charmed_mysql.py
[edit]
[-] system.py
[edit]
[-] salt.py
[edit]
[-] ceph_mon.py
[edit]
[-] validation_framework.py
[edit]
[-] ppp.py
[edit]
[-] md.py
[edit]
[-] docker.py
[edit]
[-] ldap.py
[edit]
[-] kpatch.py
[edit]
[-] valkey.py
[edit]
[-] gluster.py
[edit]
[-] microovn.py
[edit]
[-] nodejs.py
[edit]
[-] shmcli.py
[edit]
[-] openstack_heat.py
[edit]
[-] azure.py
[edit]
[-] teamd.py
[edit]
[-] mellanox_firmware.py
[edit]
[-] kdump.py
[edit]
[-] openstack_sahara.py
[edit]
[-] navicli.py
[edit]
[-] opendaylight.py
[edit]
[-] microcloud.py
[edit]
[-] udisks.py
[edit]
[-] ovirt_hosted_engine.py
[edit]
[-] dhcp.py
[edit]
[-] lustre.py
[edit]
[-] kimchi.py
[edit]
[-] tftpserver.py
[edit]
[-] dovecot.py
[edit]
[-] mvcli.py
[edit]
[-] foreman_installer.py
[edit]
[-] cobbler.py
[edit]
[-] microshift.py
[edit]
[-] opensearch.py
[edit]
[-] snapm.py
[edit]
[-] ceph_common.py
[edit]
[-] pulpcore.py
[edit]
[-] charmed_postgresql.py
[edit]
[-] etcd.py
[edit]
[-] openvswitch.py
[edit]
[-] rhui.py
[edit]
[-] openstack_horizon.py
[edit]
[-] skydive.py
[edit]
[-] nvmetcli.py
[edit]
[-] bird.py
[edit]
[-] oratab.py
[edit]
[-] rhcos.py
[edit]
[-] symcli.py
[edit]
[-] seagate_ses.py
[edit]
[-] openstack_instack.py
[edit]
[-] npm.py
[edit]
[-] ntb.py
[edit]
[-] openstack_edpm.py
[edit]
[-] smclient.py
[edit]
[-] ovn_host.py
[edit]
[-] cifs.py
[edit]
[-] boot.py
[edit]
[-] devices.py
[edit]
[-] unity.py
[edit]
[-] systemtap.py
[edit]
[-] rhc.py
[edit]
[-] firewall_tables.py
[edit]
[-] omnipath_manager.py
[edit]
[-] systemd.py
[edit]
[-] ovirt_imageio.py
[edit]
[-] dracut.py
[edit]
[-] snap.py
[edit]
[-] mysql.py
[edit]
[-] ultrapath.py
[edit]
[-] cs.py
[edit]
[-] autofs.py
[edit]
[-] date.py
[edit]
[-] ceph_osd.py
[edit]
[-] xen.py
[edit]
[-] stratis.py
[edit]
[-] slurm.py
[edit]
[-] sudo.py
[edit]
[-] pam.py
[edit]
[-] openstack_neutron.py
[edit]
[-] perccli2.py
[edit]
[-] vhostmd.py
[edit]
[-] perccli.py
[edit]
[-] rasdaemon.py
[edit]
[-] snapper.py
[edit]
[-] landscape.py
[edit]
[-] pci.py
[edit]
[-] libvirt.py
[edit]
[-] squid.py
[edit]
[-] activemq.py
[edit]
[-] apport.py
[edit]
[-] opencl.py
[edit]
[-] nfsganesha.py
[edit]
[-] rhv_analyzer.py
[edit]
[-] hts.py
[edit]
[-] ceph_mgr.py
[edit]
[-] grafana.py
[edit]
[-] manageiq.py
[edit]
[-] sos_extras.py
[edit]
[-] filesys.py
[edit]
[-] subscription_manager.py
[edit]
[-] mpt.py
[edit]
[-] aap_hub.py
[edit]
[-] microk8s.py
[edit]
[-] openstack_aodh.py
[edit]
[-] openstack_ansible.py
[edit]
[-] sunbeam.py
[edit]
[-] rpm.py
[edit]
[-] openstack_barbican.py
[edit]
[-] snmp.py
[edit]
[-] anaconda.py
[edit]
[-] unpackaged.py
[edit]
[-] ceph_ansible.py
[edit]
[-] telegraf.py
[edit]
[-] ruby.py
[edit]
[-] __init__.py
[edit]
[-] xinetd.py
[edit]
[-] smartcard.py
[edit]
[-] jars.py
[edit]
[-] watchdog.py
[edit]
[-] collectd.py
[edit]
[-] dlm.py
[edit]
[-] infinidat.py
[edit]
[-] apache.py
[edit]
[-] os_net_config.py
[edit]
[-] ipvs.py
[edit]
[-] arcconf.py
[edit]
[-] services.py
[edit]
[-] block.py
[edit]
[-] openssl.py
[edit]
[-] sar.py
[edit]
[-] nss.py
[edit]
[-] saltmaster.py
[edit]
[-] processor.py
[edit]
[-] megacli.py
[edit]
[-] ufw.py
[edit]
[-] curtin.py
[edit]
[-] foreman_proxy.py
[edit]
[-] ansible.py
[edit]
[-] vulkan.py
[edit]
[-] pulseaudio.py
[edit]
[-] distupgrade.py
[edit]
[-] powerpc.py
[edit]
[-] btrfs.py
[edit]
[-] composer.py
[edit]
[-] sunbeam_hypervisor.py
[edit]
[-] fail2ban.py
[edit]
[-] x11.py
[edit]
[-] convert2rhel.py
[edit]
[-] openstack_masakari.py
[edit]
[-] apparmor.py
[edit]
[-] mongodb.py
[edit]
[-] openstack_nova.py
[edit]
[-] openstack_cinder.py
[edit]
[-] spyre.py
[edit]
[-] collectl.py
[edit]
[-] anacron.py
[edit]
[-] tomcat.py
[edit]
[-] conntrack.py
[edit]
[-] juju.py
[edit]
[-] ovirt_node.py
[edit]
[-] sendmail.py
[edit]
[-] i18n.py
[edit]
[-] proxmox.py
[edit]
[-] nfs.py
[edit]
[-] login.py
[edit]
[-] postfix.py
[edit]
[-] containerd.py
[edit]
[-] lvm2.py
[edit]
[-] ptp.py
[edit]
[-] apt.py
[edit]
[-] aap_receptor.py
[edit]
[-] usbguard.py
[edit]
[-] python.py
[edit]
[-] ovirt_provider_ovn.py
[edit]
[-] grub2.py
[edit]
[-] iscsi.py
[edit]
[-] dbus.py
[edit]
[-] ceph_iscsi.py
[edit]
[-] radius.py
[edit]
[-] aide.py
[edit]
[-] cxl.py
[edit]
[-] ds.py
[edit]
[-] sanlock.py
[edit]
[-] openstack_octavia.py
[edit]
[-] loki.py
[edit]
[-] pcp.py
[edit]
[-] opencontrail.py
[edit]
[-] sysvipc.py
[edit]
[-] vdo.py
[edit]
[-] dnf.py
[edit]
[-] mssql.py
[edit]
[-] acpid.py
[edit]
[-] process.py
[edit]
[-] pmem.py
[edit]
[-] kafka.py
[edit]
[-] openhpi.py
[edit]
[-] dpkg.py
[edit]
[-] hpasm.py
[edit]
[-] podman.py
[edit]
[-] targetcli.py
[edit]
[-] omnipath_client.py
[edit]
[-] containers_common.py
[edit]
[-] lilo.py
[edit]
[-] hyperv.py
[edit]
[-] selinux.py
[edit]
[-] ntp.py
[edit]
[-] zvm.py
[edit]
[-] openstack_tripleo.py
[edit]
[-] lightdm.py
[edit]
[-] cgroups.py
[edit]
[-] opensvc.py
[edit]
[-] origin.py
[edit]
[-] kernelrt.py
[edit]
[-] cups.py
[edit]
[-] coredump.py
[edit]
[-] fwupd.py
[edit]
[-] auditd.py
[edit]
[-] peripety.py
[edit]
[-] grub.py
[edit]
[-] libreswan.py
[edit]
[-] saphana.py
[edit]
[-] nvme.py
[edit]
[-] gssproxy.py
[edit]
[-] nvidia.py
[edit]
[-] openstack_keystone.py
[edit]
[-] greenboot.py
[edit]
[-] bcache.py
[edit]
[-] host.py
[edit]
[-] canonical_livepatch.py
[edit]
[-] qt.py
[edit]
[-] haproxy.py
[edit]
[-] keepalived.py
[edit]
[-] nscd.py
[edit]
[-] dellrac.py
[edit]
[-] virtwho.py
[edit]
[-] flatpak.py
[edit]
[-] helm.py
[edit]
[-] java.py
[edit]
[-] rear.py
[edit]
[-] numa.py
[edit]
[-] ovirt_engine_backup.py
[edit]
[-] storageconsole.py
[edit]
[-] ipmitool.py
[edit]
[-] qpid_dispatch.py
[edit]
[-] gdm.py
[edit]
[-] microshift_ovn.py
[edit]
[-] libraries.py
[edit]
[-] kata_containers.py
[edit]
[-] gfs2.py
[edit]
[-] xfs.py
[edit]
[-] openstack_placement.py
[edit]
[-] hardware.py
[edit]
[-] dmraid.py
[edit]
[-] cloud_init.py
[edit]
[-] memory.py
[edit]
[-] fcoe.py
[edit]
[-] puppet.py
[edit]
[-] openstack_designate.py
[edit]
[-] elastic.py
[edit]
[-] ceph_rgw.py
[edit]
[-] psacct.py
[edit]
[-] migration_results.py
[edit]
[-] virsh.py
[edit]
[-] logrotate.py
[edit]
[-] devicemapper.py
[edit]
[-] release.py
[edit]
[-] storcli.py
[edit]
[-] openstack_manila.py
[edit]
[-] openshift_ovn.py
[edit]
[-] sssd.py
[edit]
[-] docker_distribution.py
[edit]
[-] quagga.py
[edit]
[-] openstack_ceilometer.py
[edit]
[-] vsftpd.py
[edit]
[-] maas.py
[edit]
[-] alternatives.py
[edit]
[-] instructlab.py
[edit]
[-] vmware.py
[edit]
[-] aap_gateway.py
[edit]
[-] foreman_openscap.py
[edit]
[-] qaucli.py
[edit]
[-] cron.py
[edit]
[-] logs.py
[edit]
[-] iscsitarget.py
[edit]
[-] candlepin.py
[edit]
[-] openstack_novajoin.py
[edit]
[-] pulp.py
[edit]
[-] infiniband.py
[edit]
[-] openshift.py
[edit]
[-] clear_containers.py
[edit]
[-] soundcard.py
[edit]
[-] openstack_gnocchi.py
[edit]
[-] ipa.py
[edit]
[-] perl.py
[edit]
[-] bootc.py
[edit]
[-] authd.py
[edit]
[-] ssmtp.py
[edit]
[-] openstack_mistral.py
[edit]
[+]
__pycache__
[-] qpid.py
[edit]
[-] openstack_swift.py
[edit]
[-] aws.py
[edit]
[-] memcached.py
[edit]
[-] vectordev.py
[edit]
[-] ata.py
[edit]
[-] iprconfig.py
[edit]
[-] networking.py
[edit]
[-] usb.py
[edit]
[-] insights.py
[edit]
[-] aap_controller.py
[edit]
[-] tuned.py
[edit]
[-] corosync.py
[edit]
[-] scsi.py
[edit]
[-] gluster_block.py
[edit]
[-] sapnw.py
[edit]
[-] samba.py
[edit]
[-] gcp.py
[edit]
[-] keyutils.py
[edit]
[-] vault.py
[edit]
[-] buildah.py
[edit]
[-] crypto.py
[edit]
[-] kea.py
[edit]
[-] openstack_glance.py
[edit]
[-] nginx.py
[edit]
[-] frr.py
[edit]
[-] aap_eda.py
[edit]
[-] sunrpc.py
[edit]
[-] fapolicyd.py
[edit]
[-] ovn_central.py
[edit]
[-] tpm2.py
[edit]
[-] sedutil.py
[edit]
[-] opengl.py
[edit]
[-] discovery.py
[edit]
[-] openstack_trove.py
[edit]
[-] lstopo.py
[edit]
[-] pacemaker.py
[edit]
[-] leapp.py
[edit]
[-] vdsm.py
[edit]
[-] unbound.py
[edit]
[-] networkmanager.py
[edit]
[-] powerpath.py
[edit]
[-] abrt.py
[edit]