Satellite PostgreSQL database queries¶
This module contains the following parsers:
SatelliteAdminSettings - command psql -d foreman -c 'select name, value, "default" from settings where name in ('destroy_vm_on_host_delete', 'unregister_delete_host') --csv'
¶
SatelliteComputeResources - command psql -d foreman -c 'select name, type from compute_resources' --csv
¶
SatelliteCoreTaskReservedResourceCount - command psql -d pulpcore -c 'select count(*) from core_taskreservedresource' --csv
¶
SatelliteIgnoreSourceRpmsRepos - command psql -d foreman -c "select id, name from katello_root_repositories where ignorable_content like '%srpm%' and mirroring_policy='mirror_complete'" --csv
¶
SatelliteKatellloReposWithMultipleRef - command psql -d foreman -c "select repository_href, count(*) from katello_repository_references group by repository_href having count(*) > 1;" --csv
¶
SatelliteLogsTableSize - command psql -d foreman -c "select pg_total_relation_size('logs') as logs_size" --csv
¶
SatelliteProvisionParamSettings - command psql -d foreman -c "select name, value from parameters where name='package_upgrade' and reference_id in (select id from operatingsystems where name='RedHat' and major='9')" --csv
¶
SatelliteQualifiedCapsules - command psql -d foreman -c "select name from smart_proxies where download_policy = 'background'" --csv
¶
SatelliteQualifiedKatelloRepos - command psql -d foreman -c "select id, name, url, download_policy from katello_root_repositories where download_policy = 'background' or url is NULL" --csv
¶
SatelliteRHVHostsCount - command psql -d foreman -c "select count(*) from hosts where "compute_resource_id" in (select id from compute_resources where type='Foreman::Model::Ovirt')" --csv
¶
SatelliteSCAStatus - command psql -d candlepin -c "select displayname, content_access_mode from cp_owner" --csv
¶
-
class
insights.parsers.satellite_postgresql_query.
SatelliteAdminSettings
(context, extra_bad_lines=None)[source]¶ Bases:
insights.parsers.satellite_postgresql_query.SatellitePostgreSQLQuery
Parse the output of the command
psql -d foreman -c '"select name, value, "default" from settings where name in ('destroy_vm_on_host_delete', 'unregister_delete_host') --csv"
.Sample output:
name,value,default unregister_delete_host,"--- true ...","--- false ..." destroy_vm_on_host_delete,,"--- true ..."
Examples
>>> type(table) <class 'insights.parsers.satellite_postgresql_query.SatelliteAdminSettings'> >>> table.get_setting('unregister_delete_host') True >>> table.get_setting('destroy_vm_on_host_delete') True
-
get_setting
(setting_name)[source]¶ Get the actual value of setting_name. If the value column isn’t empty, the value of the setting_name is the value column, or else it’s the default column.
Parameters: setting_name (str) -- the value of name column which is searched in the table. Returns: It depends on the setting, maybe boolean, string, int or a list. None if the setting_name doesn’t exist in the table.
-
-
class
insights.parsers.satellite_postgresql_query.
SatelliteComputeResources
(context, extra_bad_lines=None)[source]¶ Bases:
insights.parsers.satellite_postgresql_query.SatellitePostgreSQLQuery
Parse the output of the command
psql -d foreman -c 'select name, type from compute_resources' --csv
.Sample output:
name,type test_compute_resource1,Foreman::Model::Libvirt test_compute_resource2,Foreman::Model::RHV
Examples
>>> type(resources_table) <class 'insights.parsers.satellite_postgresql_query.SatelliteComputeResources'> >>> rows=resources_table.search(type='Foreman::Model::Libvirt') >>> len(rows) 1 >>> rows[0]['name'] 'test_compute_resource1'
-
class
insights.parsers.satellite_postgresql_query.
SatelliteCoreTaskReservedResourceCount
(context, extra_bad_lines=None)[source]¶ Bases:
insights.parsers.satellite_postgresql_query.SatellitePostgreSQLQuery
Parse the output of the command
psql -d pulpcore -c 'select count(*) from core_taskreservedresource' --csv
.Sample output:
count 0
Examples
>>> type(tasks) <class 'insights.parsers.satellite_postgresql_query.SatelliteCoreTaskReservedResourceCount'> >>> tasks[0]['count'] '0'
-
class
insights.parsers.satellite_postgresql_query.
SatelliteIgnoreSourceRpmsRepos
(context, extra_bad_lines=None)[source]¶ Bases:
insights.parsers.satellite_postgresql_query.SatellitePostgreSQLQuery
Parse the output of the command
psql -d foreman -c "select id, name from katello_root_repositories where ignorable_content like '%srpm%' and mirroring_policy='mirror_complete'" --csv
.Sample output:
id,name 4,Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8
Examples
>>> type(i_srpm_repos) <class 'insights.parsers.satellite_postgresql_query.SatelliteIgnoreSourceRpmsRepos'> >>> i_srpm_repos[0]['id'] '4' >>> i_srpm_repos[0]['name'] 'Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8'
-
class
insights.parsers.satellite_postgresql_query.
SatelliteKatellloReposWithMultipleRef
(context, extra_bad_lines=None)[source]¶ Bases:
insights.parsers.satellite_postgresql_query.SatellitePostgreSQLQuery
Parse the output of the command
psql -d foreman -c "select repository_href, count(*) from katello_repository_references group by repository_href having count(*) > 1;" --csv
.Sample output:
repository_href,count /pulp/api/v3/repositories/rpm/rpm/64e1ddf8-025e-45f2-b2f0-04b874674671/,3 /pulp/api/v3/repositories/rpm/rpm/sfwrsrw45sfse-45f2-b2f0-04b874675688/,2
Examples
>>> type(multi_ref_katello_repos) <class 'insights.parsers.satellite_postgresql_query.SatelliteKatellloReposWithMultipleRef'> >>> len(multi_ref_katello_repos) 2 >>> multi_ref_katello_repos[0]['repository_href'] '/pulp/api/v3/repositories/rpm/rpm/64e1ddf8-025e-45f2-b2f0-04b874674671/'
-
class
insights.parsers.satellite_postgresql_query.
SatelliteLogsTableSize
(context, extra_bad_lines=None)[source]¶ Bases:
insights.parsers.satellite_postgresql_query.SatellitePostgreSQLQuery
Parse the output of the command
psql -d foreman -c "select pg_total_relation_size('logs') as logs_size" --csv
.Sample output:
logs_size 565248
Examples
>>> type(logs_table) <class 'insights.parsers.satellite_postgresql_query.SatelliteLogsTableSize'> >>> logs_table[0]['logs_size'] 565248
Raises: ParseException
-- when the size is not in integer type
-
class
insights.parsers.satellite_postgresql_query.
SatellitePostgreSQLQuery
(context, extra_bad_lines=None)[source]¶ Bases:
insights.core.CommandParser
,list
Parent class of satellite postgresql table queries. It can not be used directly, A child class with overriding columns attribute is required. It saves the rows data into a list. Each row is saved into a dict. The key is the column name, the value is the value of the column.
Resultant data structure:
[ { 'name': 'abc', 'url': '', 'value': 'test' }, { 'name': 'def', 'url': 'http://xx.com', 'value': '' } ]
Sample Output:
name,url,value abc,,test def,http://xx.com,
Raises: SkipComponent
-- when there isn’t data in the tableParseException
-- when the output isn’t in good csv format or the yaml values aren’t in good yaml formatNotImplementedError
-- when the subclass doesn’t override the columns attribute.
-
search
(**kwargs)[source]¶ Get the rows by searching the table with kwargs. This uses the
insights.parsers.keyword_search()
function for searching; see its documentation for usage details. If no search parameters are given, no rows are returned.It simplify the value of the column according to actual usage.
Returns: A list of dictionaries of rows that match the given search criteria. Return type: list
-
class
insights.parsers.satellite_postgresql_query.
SatelliteProvisionParamSettings
(context, extra_bad_lines=None)[source]¶ Bases:
insights.parsers.satellite_postgresql_query.SatellitePostgreSQLQuery
Parse the output of the command
psql -d foreman -c "select name, value from parameters where name='package_upgrade' and reference_id in (select id from operatingsystems where name='RedHat' and major='9')" --csv
.Sample output:
name,value package_upgrade,"--- false ... "
Examples
>>> type(param_settings) <class 'insights.parsers.satellite_postgresql_query.SatelliteProvisionParamSettings'> >>> len(param_settings) 1 >>> param_settings[0]['value'] False
-
class
insights.parsers.satellite_postgresql_query.
SatelliteQualifiedCapsules
(context, extra_bad_lines=None)[source]¶ Bases:
insights.parsers.satellite_postgresql_query.SatellitePostgreSQLQuery
Parse the output of the command
psql -d foreman -c "select name from smart_proxies where download_policy = 'background'" --csv
.Sample output:
name capsule1.test.com capsule2.test.com
Examples
>>> type(capsules) <class 'insights.parsers.satellite_postgresql_query.SatelliteQualifiedCapsules'> >>> len(capsules) 2 >>> capsules[0]['name'] 'capsule1.test.com'
-
class
insights.parsers.satellite_postgresql_query.
SatelliteQualifiedKatelloRepos
(context, extra_bad_lines=None)[source]¶ Bases:
insights.parsers.satellite_postgresql_query.SatellitePostgreSQLQuery
Parse the output of the command
psql -d foreman -c "select id, name, url, download_policy from katello_root_repositories where download_policy = 'background' or url is NULL" --csv
.Sample output:
id,name,url,download_policy 2,Red Hat Satellite Tools 6.8 for RHEL 7 Server RPMs x86_64,,on_demand 3,Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8,https://cdn.redhat.com/content/dist/rhel8/8/x86_64/appstream/os,background 4,Red Hat Enterprise Linux 7 Server RPMs x86_64 7Server,https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/os,background
Examples
>>> type(repos) <class 'insights.parsers.satellite_postgresql_query.SatelliteQualifiedKatelloRepos'> >>> len(repos) 3 >>> repos[0]['name'] 'Red Hat Satellite Tools 6.8 for RHEL 7 Server RPMs x86_64'
-
class
insights.parsers.satellite_postgresql_query.
SatelliteRHVHostsCount
(context, extra_bad_lines=None)[source]¶ Bases:
insights.parsers.satellite_postgresql_query.SatellitePostgreSQLQuery
Parse the output of the command
psql -d foreman -c "select count(*) from hosts where "compute_resource_id" in (select id from compute_resources where type='Foreman::Model::Ovirt')" --csv
.Sample output:
count 2
Examples
>>> type(rhv_hosts) <class 'insights.parsers.satellite_postgresql_query.SatelliteRHVHostsCount'> >>> rhv_hosts[0]['count'] '2'
-
class
insights.parsers.satellite_postgresql_query.
SatelliteSCAStatus
(context, extra_bad_lines=None)[source]¶ Bases:
insights.parsers.satellite_postgresql_query.SatellitePostgreSQLQuery
Parse the output of the command
psql -d candlepin -c "select displayname, content_access_mode from cp_owner" --csv
.Sample output:
displayname,content_access_mode Default Organization,entitlement Orgq,org_environment
Examples
>>> type(sat_sca_info) <class 'insights.parsers.satellite_postgresql_query.SatelliteSCAStatus'> >>> sat_sca_info.sca_enabled True
-
sca_enabled
¶ If the value of content_access_mode is “org_environment”, it means the SCA is enabled for this organization. Return True if any organization has SCA enabled on the satellite else False
-