����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 216.73.216.193 Web Server : Apache/2.4.41 (Ubuntu) System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/self/root/lib/python3/dist-packages/sos/report/plugins/ |
Upload File : |
# 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. import os from sos.report.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin class OpenStackOctavia(Plugin): short_desc = 'Openstack Octavia' plugin_name = "openstack_octavia" profiles = ('openstack', 'openstack_controller') var_config_data = "/var/lib/config-data" var_puppet_gen = var_config_data + "/puppet-generated/octavia" resources = [ 'amphora', 'availabilityzone', 'availabilityzoneprofile', 'flavor', 'flavorprofile', 'healthmonitor', 'l7policy', 'listener', 'pool', 'provider', 'quota' ] def setup(self): # configs self.add_copy_spec([ "/etc/sysconfig/network-scripts/ifcfg-o-hm0", "/etc/logrotate.d/openstack-octavia", "/etc/octavia/*", "/var/lib/octavia", self.var_config_data + "/octavia/etc/octavia", self.var_puppet_gen + "/etc/octavia", self.var_puppet_gen + "/etc/rsyslog.d", self.var_puppet_gen + "/etc/my.cnf.d/tripleo.cnf", ]) self.add_file_tags({ ".*/etc/octavia/octavia.conf": "octavia_conf" }) # don't collect certificates self.add_forbidden_path("/etc/octavia/certs") self.add_forbidden_path(self.var_config_data + "/etc/octavia/certs") self.add_forbidden_path(self.var_puppet_gen + "/etc/octavia/certs") # logs if self.get_option("all_logs"): self.add_copy_spec([ "/var/log/octavia/*", ]) else: self.add_copy_spec([ "/var/log/octavia/*.log", ]) # commands vars_all = [p in os.environ for p in [ 'OS_USERNAME', 'OS_PASSWORD']] vars_any = [p in os.environ for p in [ 'OS_TENANT_NAME', 'OS_PROJECT_NAME']] if not (all(vars_all) and any(vars_any)) and not \ (self.is_installed("python2-octaviaclient") or self.is_installed("python3-octaviaclient")): self.soslog.warning("Not all environment variables set or " "octavia client package not installed." "Source the environment file for the " "user intended to connect to the " "OpenStack environment and install " "octavia client package.") else: self.add_cmd_output('openstack loadbalancer list', subdir='loadbalancer') for res in self.resources: # get a list for each resource type self.add_cmd_output(f'openstack loadbalancer {res} list', subdir=res) # get details from each resource cmd = f"openstack loadbalancer {res} list -f value -c id" ret = self.exec_cmd(cmd) if ret['status'] == 0: for ent in ret['output'].splitlines(): ent = ent.split()[0] self.add_cmd_output( f"openstack loadbalancer {res} show {ent}", subdir=res) # get capability details from each provider cmd = "openstack loadbalancer provider list -f value -c name" ret = self.exec_cmd(cmd) if ret['status'] == 0: for provider in ret['output'].splitlines(): provider = provider.split()[0] self.add_cmd_output( "openstack loadbalancer provider capability list" f" {provider}", subdir='provider_capability') def postproc(self): protect_keys = [ "ca_private_key_passphrase", "heartbeat_key", "password", "connection", "transport_url", "server_certs_key_passphrase", "memcache_secret_key" ] regexp = fr"(^\s*({'|'.join(protect_keys)})\s*=\s*)(.*)" self.do_path_regex_sub("/etc/octavia/*", regexp, r"\1*********") self.do_path_regex_sub( self.var_puppet_gen + "/etc/octavia/*", regexp, r"\1*********" ) class DebianOctavia(OpenStackOctavia, DebianPlugin, UbuntuPlugin): packages = ( 'octavia-common', 'octavia-api', 'python3-octavia', ) def setup(self): super().setup() if self.get_option("all_logs"): self.add_copy_spec([ "/var/log/apache2/octavia*", ]) else: self.add_copy_spec([ "/var/log/apache2/octavia*.log", ]) class RedHatOctavia(OpenStackOctavia, RedHatPlugin): packages = ('openstack-selinux',) # vim: set et ts=4 sw=4 :