Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Catch Timeout on test connection #4191

Closed
wants to merge 3,148 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3148 commits
Select commit Hold shift + click to select a range
16de170
fix: change tar command (#3897)
ahitacat Aug 28, 2023
254a570
fix: remove Lssap from Sap combiner (#3895)
xiangce Aug 29, 2023
b3abeda
feat: new test for symbolic_name in uploader.json (#3899)
xiangce Aug 31, 2023
30b889a
refactor(client): remove hacky proxy code (#3730)
SteveHNH Aug 31, 2023
ea22bae
fix: another attempt to fix the py26 CI/CD (#3901)
xiangce Sep 1, 2023
4350164
fix: skip new known invalid content for AWS parsers (#3903)
xiangce Sep 1, 2023
d161eb9
feat: add spec and parser for udev 66-md-auto-re-add.rules (#3902)
JoySnow Sep 4, 2023
4fcf359
feat: Add new spec and parser for lvm fullreport cmd (#3792)
bfahr Sep 4, 2023
b0ea07f
fix: flake8 error in py26 test of lvm (#3904)
xiangce Sep 4, 2023
617c582
Feat: Add new parser PostfixMaster (#3898)
TZ3070 Sep 5, 2023
0d5a8ab
feat: Add glibc to rpm_V_packages Spec (#3907)
TZ3070 Sep 7, 2023
602f4fa
fix: improve temporary directory (#3905)
ahitacat Sep 7, 2023
d362828
FEAT: Add new parser LpstatQueuedJobs (#3906)
TZ3070 Sep 7, 2023
0351655
fix: do not download uploader.json when core_collect=True (#3896)
xiangce Sep 8, 2023
838930d
RHINENG-1764: start processing every errata for available package (#3…
yungbender Sep 8, 2023
28adb7d
feat: collect built-in metadata in 'data' via datasource (#3755)
xiangce Sep 8, 2023
3a7785f
feat: New spec "/etc/mail/sendmail.mc" (#3910)
huali027 Sep 8, 2023
7071141
chore: stop collecting .exp.sed from Specs (core collection) (#3908)
xiangce Sep 14, 2023
c24f91d
feat: New spec and parser for migration-results (#3913)
xiangce Sep 14, 2023
9c63dc7
fix: Refactor iris relevant parsers and datasources (#3914)
wushiqinlou Sep 14, 2023
190f57c
FEAT: New rpm_v_package using foreach_execute (#3915)
TZ3070 Sep 14, 2023
f5a9f9c
fix: raise Exception when adding filters to non-filterable datasource…
xiangce Sep 20, 2023
40bdbfb
Download malware rules into /var/lib/insights (#3921)
mhuth Sep 20, 2023
925ac45
fix: show internal DeprecationWarnings only when pytest (#3924)
xiangce Sep 27, 2023
d8d8b4c
feat: New spec and parser for xfs_db -r -c frag command (#3926)
qinpingli Sep 27, 2023
f02dc94
Deprecate pyparsing usage in parsers (#3911)
JoySnow Sep 27, 2023
d110402
fix: store_skips argument of run_input_data has no effect (#3928) (#3…
jholecek-rh Sep 28, 2023
de38702
Improve logging for disabled rule matches (#3922)
mhuth Sep 28, 2023
884609d
feat: New spec and parser for xfs_db -r -c freesp command (#3927)
qinpingli Sep 28, 2023
aaf8c7b
Enhance SAP combiner with update attributes name (#3925)
TZ3070 Oct 10, 2023
2cfcb9b
fix: identify SAP instances per short type when InstanceType is missi…
xiangce Oct 10, 2023
32a5195
fix: use get_dependencies in get_registry_points (#3920)
xiangce Oct 10, 2023
dcfa8df
feat: add do_filter option to run_test for rule test (#3923)
xiangce Oct 10, 2023
01d75d6
fix: Suspend the data collection for xfs_db command (#3932)
qinpingli Oct 11, 2023
d48f91e
Enhance chkconfig spec deps_isrhel6 (#3935)
wushiqinlou Oct 12, 2023
dd6108d
⚠️ Exclude yum_log from IP obfuscation (#3893)
Glutexo Oct 17, 2023
6810d83
test: not raise Exception when Component is filtered in parent Compon…
xiangce Oct 17, 2023
4868654
fix: Replace "ls_lanRZ" and "ls_lanZ" with "ls_laRZ" and "ls_laZ" (#3…
huali027 Oct 17, 2023
e35f010
fix: Fix bug of ls_parser when handling "major" and "minor" in e.g. "…
huali027 Oct 17, 2023
8c20a24
fix: unexpected Exception of YumRepoList caused by localization (#3855)
JoySnow Oct 18, 2023
15bc23e
Add warning to yum_log exclusion (#3941)
Glutexo Oct 18, 2023
a256435
fix: compatible support built-in files for old archives (#3937)
xiangce Oct 19, 2023
f085d09
feat: Add spec basic_insights_client (#3943)
wushiqinlou Oct 26, 2023
7abab79
fix: make Specs.rhsm_conf as filterable=True (#3919)
xiangce Nov 1, 2023
bf68995
feat: New spec "/var/log/squid/cache.log" and parser (#3947)
huali027 Nov 2, 2023
1d2c1c6
feat: Add one more arg to the command "ps -eo" (#3945)
huali027 Nov 2, 2023
a9d4c14
feat: uname supports RHEL 9.3 (#3950)
xiangce Nov 9, 2023
26abad6
fix: add filter to dependency datasource (#3949)
xiangce Nov 14, 2023
4544663
chore: remove specs not used by rules (#3821)
xiangce Nov 14, 2023
cf8602e
fix: ls_laZ handling "?" as rhel8 selinux context (#3956)
JoySnow Nov 16, 2023
c9d4379
fix: ethtool.Ring parsing be blocked by TypeError (#3954)
JoySnow Nov 16, 2023
3505c8d
chore: uname supports RHEL 8.9 (#3957)
xiangce Nov 16, 2023
50b8ce9
fix: Enhance spec "satellite_settings" and parser to support satellit…
huali027 Nov 16, 2023
c697696
test: remove the temporarily generated dir in test_client (#3961)
xiangce Nov 27, 2023
872cc34
fix: Enhance datasource "satellite_missed_pulp_agent_queues" (#3960)
huali027 Nov 27, 2023
9855c40
feat: Add spec "httpd_limits" back (#3962)
huali027 Nov 29, 2023
7b57e44
fix: change Specs.yum_conf to filterable=True (#3963)
xiangce Nov 29, 2023
231e92b
fix: do not collect filterable specs when no filters (#3959)
xiangce Dec 1, 2023
605a208
fix: avoid AttributeError raised by filterable check when run rules (…
xiangce Dec 7, 2023
abab725
feat: New spec "/etc/sysconfig/sbd" and parser (#3969)
huali027 Dec 7, 2023
eb14e5b
fix: unify parser for dse_ldif.py files (#3970)
JoySnow Dec 7, 2023
749bfc7
chore: Remove the specs and parsers related to xfs_db command (#3973)
qinpingli Dec 11, 2023
e7bbbf6
feat: update eap json report spec (#3964)
chenlizhong Dec 12, 2023
192d370
Removed unnecessary parameter from `str` method (#3975)
fazledyn-or Dec 13, 2023
fec486a
fix: Remove pruning client code from rpm (#3976)
ryan-blakley Dec 13, 2023
f547907
INSPEC-432: collect convert2rhel.facts (#3972)
xiangce Dec 14, 2023
99eef94
chore: remove planned deprecations - 3.3.0 (#3978)
xiangce Dec 20, 2023
3d3eefe
fix: enhance "include" of httpd_conf spec (#3977)
wushiqinlou Jan 3, 2024
d50900c
fixes: Fix a bug about spec "modinfo_filtered_modules" (#3981)
huali027 Jan 4, 2024
136c452
INSPEC-443: new spec and parser for bootc status (#3982)
xiangce Jan 4, 2024
f425199
fix: Fix issue with mount parsers mount option parsing (#3984)
bfahr Jan 4, 2024
5663c54
Update readthedocs to version 2 (#3986)
bfahr Jan 4, 2024
30131a8
fix: Fix problem parsing mnt opt quotes (#3985)
bfahr Jan 11, 2024
d89dfb0
Add spec "/var/log/candlepin/candlepin.log" back (#3987)
huali027 Jan 11, 2024
7b63a13
feat: New spec to get the count of revoked certificates on satellite …
huali027 Jan 11, 2024
a861f2b
feat: Add "systemd" to the spec "rpm -V" (#3990)
huali027 Jan 11, 2024
d3d6cfc
Chore: Update data structure of xfs_quota to fix taking too long to r…
TZ3070 Jan 11, 2024
3cf45d3
Enhance crypto_policies_opensshserver for rhel9 (#3994)
wushiqinlou Jan 18, 2024
862ab8d
fix: wrong spec file path of UdevRules66MD (#3995)
JoySnow Jan 25, 2024
3f83c56
Add parser sshd_test_mode (#3996)
wushiqinlou Jan 25, 2024
f98e6a2
feat: new 'Save As' feature to core collection (#3992)
xiangce Jan 25, 2024
a644454
fix: 'Save As' as a limited workaround (#4000)
xiangce Jan 26, 2024
de7c97a
fix: resolve missing 'insights-client/lib' error in playbook verifica…
DuckBoss Jan 31, 2024
360dd5e
feat: add warning message when BASIC auth is used (#3997)
ahitacat Jan 31, 2024
f12defc
fix(compliance): RHINENG-1935 handle non-list responses from inventor…
skateman Jan 31, 2024
a912f9f
fix: change log level to debug for ValueError in serde.py (#4001)
chenlizhong Jan 31, 2024
2bcdd33
fix: rmtree error in playbook verification tests of py27 (#4008)
xiangce Feb 1, 2024
e73628d
feat: move obfuscation and redaction to core (with specs) (#3679)
xiangce Feb 1, 2024
02cf06e
feat: deprecate parser SubscriptionManagerReleaseShow (#4006)
JoySnow Feb 1, 2024
70cd825
fix(yum_udpates): load dnf plugins (#4007)
psegedy Feb 1, 2024
8e2fcba
feat: New spec "rhui-set-release" and parser (#3998)
huali027 Feb 1, 2024
69fbf77
RHEL-2480: Do not create /root/.gnupg/ directory by accident (#3930)
m-horky Feb 6, 2024
3b8e3d8
fix(test): spec cleaner tests are using 'is' for comparing strings (#…
m-horky Feb 6, 2024
8a566fe
fix(test): Make the malware detection detect Podman containers (#4012)
m-horky Feb 6, 2024
5697ed4
fix: check status created a machine-id file (#3965)
ahitacat Feb 6, 2024
a110ead
fix: RHINENG-8044 create facts file with right permission and respect…
xiangce Feb 7, 2024
dd5b1b2
feat: collect PCP RAW data per 'ros_collect' set in insights-client.c…
xiangce Feb 8, 2024
be04b90
feat: Add permanent hardware addr to bond parser (#4016)
ryan-blakley Feb 8, 2024
d08ad6a
fix: spec mdadm_D to render arg /dev/md* properly (#4011)
JoySnow Feb 8, 2024
96322f2
fix: no such attribute error (#4015)
xiangce Feb 8, 2024
39f95b1
Revert "fix: check status created a machine-id file (#3965)" (#4018)
xiangce Feb 9, 2024
c074172
fix: resolve missing insights-client.ppid error (#4002)
DuckBoss Feb 9, 2024
994a9ad
fix: hostname is not obfuscated when specify display_name (#4019)
xiangce Feb 13, 2024
3963551
Revert "RHEL-2480: Do not create /root/.gnupg/ directory by accident"…
m-horky Feb 14, 2024
12e61fa
fix(client): Update typo in a log statement (#4023)
m-horky Feb 19, 2024
f03fd88
feat: New spec /var/log/cron and parser (#4026)
qinpingli Feb 22, 2024
f5e9992
fixes: Update combiner "RhsmRelease" (#4027)
huali027 Feb 22, 2024
b6da5b7
Deprecate the spec "rhui_set_release" and parser (#4030)
huali027 Feb 27, 2024
8486c74
fix: datasource should not be deserialized by RawProvider (#4034)
xiangce Feb 28, 2024
cfd07a9
fix: save_as in meta_data should reflect the actual config (#4035)
xiangce Feb 28, 2024
376326f
feat: New spec "rhui_releasever" and parser (#4029)
huali027 Feb 28, 2024
81c7ffc
Add miss dependency specs (#4020)
wushiqinlou Feb 28, 2024
f46bda9
Add httpd spec insights_archive (#4036)
wushiqinlou Feb 28, 2024
3ca19d6
Deprecate pvs lvs vgs (#4025)
wushiqinlou Feb 28, 2024
5136ba3
fix: Enhance "RHUIReleaseVer" to support "7Server" format (#4038)
huali027 Mar 7, 2024
37ac92a
Fix: AllKrb5Conf cannot handle 'includedir' configured under /etc/krb…
TZ3070 Mar 7, 2024
cc73a9e
Add parser falcontcl_backend_rfm (#4039)
wushiqinlou Mar 7, 2024
641bda4
feat: make spec_cleaner support clean file content (#4033)
xiangce Mar 7, 2024
4a15b26
fix: unexpect kwargs save_as (#4043)
xiangce Mar 13, 2024
86f1f8c
fix: missed passing 'cleaner' to super of ContainerProvider" (#4044)
xiangce Mar 13, 2024
fd6dc85
fix: subscription-manager identity should be obfuscated with hostname…
xiangce Mar 13, 2024
107d597
refactor: generate 'canonical_facts' from Parsers instead of Specs (#…
xiangce Mar 13, 2024
8388395
FEAT: Add new parser SystemctlGetDefault (#4048)
TZ3070 Mar 13, 2024
193940d
feat: collect LEAPP_* and CONVERT2RHEL_ env vars in migration-results…
andywaltlova Mar 14, 2024
f9fd1a7
fix: get bios_uuid (system_uuid) from dmidecode correctly (#4052)
xiangce Mar 14, 2024
1e2cc71
fix: ContainerMssqlApiAssessment ParseException (#4050)
JoySnow Mar 14, 2024
729a1ca
fix: when all content are redacted, empty the file (#4051)
xiangce Mar 19, 2024
4640927
fix: Correct the dep parser to collect "nginx_ssl_certificate_files" …
huali027 Mar 21, 2024
969e26f
fix: incorrect deps in default_manifest for HttpdConfTree combiner (#…
xiangce Mar 21, 2024
7e6d185
refactor: avoid passing duplicated mainfest to insights.collect() (#4…
xiangce Mar 21, 2024
cc1f3bb
fix(setup): Allow running setup.py from non-current directory (#4065)
m-horky Mar 25, 2024
b5a055d
Re-do "fix: check status created a machine-id file (#3965)" (#4032)
xiangce Mar 26, 2024
57f1274
feat: Reuse subscription-manager identity for machine-id (#4057)
m-horky Mar 26, 2024
693cda0
feat: collect specs in order based on given priority (#4062)
xiangce Mar 27, 2024
da7c0f0
Fix: Fix LogRotateConfPEG cannot handle '=' (#3967)
TZ3070 Apr 1, 2024
d9c1ed2
fix: support commands/files in file-redaction.yaml per manual (#4059)
xiangce Apr 3, 2024
68e0a24
fix: Update falconctl name (#4068)
wushiqinlou Apr 3, 2024
3b434a4
chore: use the uploader.json in '/testing' for unit test (#4071)
xiangce Apr 4, 2024
6983adf
feat: Enhance luksmeta parser (#4072)
bfahr Apr 7, 2024
b54b236
fix: save_as of command_with_args cannot be a directory (#4069)
xiangce Apr 7, 2024
2002435
fix: workaround/skip password redaction for special case (#4074)
wushiqinlou Apr 10, 2024
33705a1
feat: imporve Cleaner.clean_content to process filters (#4076)
xiangce Apr 10, 2024
641869f
feat: add spec to collect pmlogsummary of PCP Raw data (#4064)
xiangce Apr 11, 2024
b09b38f
feat: add filter to Specs.subscription_manager_facts (#4080)
JoySnow Apr 16, 2024
05df9d1
fix: deprecated parser usage in combiner.rhsm_release (#4078)
JoySnow Apr 16, 2024
e3ca594
fix: obfuscate/redact the facts for legacy_upload=False (#4077)
xiangce Apr 17, 2024
c621722
Revert "fix: obfuscate/redact the facts for legacy_upload=False (#407…
xiangce Apr 17, 2024
13c239e
feat: add "nvidia-smi -L" command to collect gpu data (#4083)
chenlizhong Apr 18, 2024
4ee8859
feat: extend Specs.ps_eo_cmd to deprecate Specs.ps_eo (#4066)
JoySnow Apr 18, 2024
657b18a
chore: print warning when 'machine_id' is skipped for redaction (#4073)
xiangce Apr 18, 2024
5c797a9
fix: obfuscate/redact the facts for legacy_upload=False (#4085)
xiangce Apr 19, 2024
7069995
bug: Fix nginx conf parser for empty quoted params (#4087)
bfahr Apr 19, 2024
d8d8ab5
Feat: enhance combiners sudoers (#4088)
TZ3070 Apr 25, 2024
27ec86d
chore: uname supports RHEL 9.4 (#4093)
xiangce May 6, 2024
f41be92
fix: ParseException raising in parsers.scsi (#4097)
JoySnow May 8, 2024
4382d2c
Add spec cups_ppd (#4096)
wushiqinlou May 8, 2024
670256d
fix: canonical facts was not obfuscated when '--checkin' (#4090)
xiangce May 8, 2024
7c43102
fix: special chars in nginx directive name (#4095)
xiangce May 8, 2024
17f2248
feat: Add parser db2 commands (#4089)
wushiqinlou May 8, 2024
9527237
fix: no context and datasource when running against insights-archive …
xiangce May 8, 2024
157fd2e
feat: Add parser nmap (#4092)
wushiqinlou May 8, 2024
df774b0
feat: clean (obfuscate/redact) specs in memory (#4055)
xiangce May 9, 2024
cdb63eb
fix: only non-filter exception can terminate the first_file spec (#4100)
xiangce May 10, 2024
de92cb5
fix: Make utilities.write_to_disk use current time by default (#4022)
m-horky May 14, 2024
5fcd204
feat: Add parser sshd_config_d back (#4102)
wushiqinlou May 15, 2024
3f83806
fix: env INSIGHTS_FILTERS_ENABLED no longer works (#4104)
xiangce May 16, 2024
5de7e58
feat: Improve debugging experience (#4094)
Glutexo May 16, 2024
16bcd03
fix: add manifest option back to insights.collect() (#4106)
xiangce May 21, 2024
8685073
fix: 'NoneType' AttributeError in insights-info (#4105)
JoySnow May 21, 2024
525b3b6
feat: new spec and parser for falconctl_aid (#4107)
JoySnow May 22, 2024
56c9353
fix: correct the root of SerializedArchiveContext (#4109)
xiangce May 22, 2024
fb75382
fix: TypeError in ethtool.Ring (#4098)
JoySnow May 22, 2024
112aa73
chore: uname supports RHEL 8.10 (#4110)
xiangce May 27, 2024
58ff7af
feat: enhance falconctl_aid exception parsing (#4112)
JoySnow May 30, 2024
2b69129
feat: exclude empty files during core collection (#4113)
xiangce Jun 4, 2024
0be581d
Add spec falconctl version (#4114)
wushiqinlou Jun 5, 2024
760a0b6
chore: Drop vendorized oyaml from playbook verifier
m-horky Jun 4, 2024
a8cf072
chore: playbook verifier: Update function/variable names
m-horky Mar 1, 2024
459585b
chore: playbook verifier: Simplify the logic and structure
m-horky Jun 5, 2024
5205a71
chore(test): Move existing playbook verifier tests into a class
m-horky Jun 6, 2024
69d1d78
chore(test): Add unit tests for playbook verification
m-horky Jun 6, 2024
8686d1f
fix(test): Catch errors caused by GPG (#4121)
m-horky Jun 13, 2024
08dddab
refactor: move malware_detection to specs.datasources (#4117)
xiangce Jun 13, 2024
12b9f8f
fix: debug print of egg versions doesn't handle corrupted eggs (#4101)
grunwmar Jun 14, 2024
d1b7d36
feat: Enhance InstalledProductIDs to support more lines/filters (#4122)
huali027 Jun 18, 2024
1bcdd9a
feat: include JSON format in malware detection results (#4123)
michalslomczynski Jun 19, 2024
7651537
fix: strip lines before parsing for InstalledProductIDs (#4128)
huali027 Jun 19, 2024
69f7905
feat: New spec and parser to get the expire date of ssl certificate i…
huali027 Jun 19, 2024
bd9c814
FEAT: Add new parser SubscriptionManagerStatus (#4126)
TZ3070 Jun 19, 2024
9e6924d
chore: use datasoruce spec to collect blacklist_report (#4127)
xiangce Jun 19, 2024
f63ac85
feat: new spec to collect SELinux issues via ausearch (#4129)
xiangce Jun 24, 2024
fed21a9
fix: password regex skip lines end with 'password' (#4130)
xiangce Jun 26, 2024
a60c870
fix: change the validate order when collecting specs (#4132)
xiangce Jun 26, 2024
9eb3352
refactor: move compliance to specs.datasources (#4124)
xiangce Jul 2, 2024
6b4474c
fix: add dependencies to manifest for ausearch_insights_client (#4133)
xiangce Jul 2, 2024
a81cb3d
chore: remove planned deprecations for bumping 3.4.0 (#4134)
xiangce Jul 2, 2024
42b3fec
doc: remove the doc-entries of unused parser (#4137)
xiangce Jul 3, 2024
96e15c6
chore: refine the msg for empty exception (#4136)
xiangce Jul 3, 2024
43c2db9
fix: lvm_system_devices contains hostname and should be obfuscated (#…
xiangce Jul 3, 2024
5b1c829
feat: New spec "/proc/fs/cifs/DebugData" and parser (#4138)
huali027 Jul 4, 2024
c29a197
test: fix py26 test in CI/CD (#4144)
xiangce Jul 4, 2024
fd3f73b
feat: New spec and parser for /etc/kubernetes/kubelet.conf (#4145)
crackcodecamp Jul 4, 2024
bb19e93
fix: use ubi8 image instead of centos7 in the Dockerfile (#4146)
chenlizhong Jul 5, 2024
bce1f61
FIX: remove reference for a deprecated module (#4149) (#4149)
wissamir Jul 8, 2024
518afe1
feat: New spec and parser to get rsyslog CA cert expiration date (#4139)
huali027 Jul 8, 2024
2f49f53
fix: show compliance errors only when compliance is specified (#4152)
xiangce Jul 8, 2024
e361b98
chore: collect image builder's osbuild.facts (#4119)
croissanne Jul 9, 2024
9eb413b
chore(ci): Add Python 3.12 to test matrix (#4151)
m-horky Jul 9, 2024
478458e
fix: collect sealert only when SELinux is not disabled (#4150)
xiangce Jul 11, 2024
1d8bc16
feat: New spec "/usr/bin/pidstat" and parser (#4153)
huali027 Jul 11, 2024
149cc92
feat: replace deprecated datetime.utcnow() usage (#4156)
JoySnow Jul 11, 2024
f34d4d0
fix: handle another input format in parser NmapSsh (#4158)
JoySnow Jul 11, 2024
72d0e0b
fix: Serialize playbooks manually on Python 3.12+ (#4120)
m-horky Jul 16, 2024
314bcfe
feat: collect the file /run/cloud-init/cloud.cfg for analytics (#4155)
chenlizhong Jul 17, 2024
d98a03f
fix: all SyntaxWarning and some of the DeprecationWarning (#4154)
xiangce Jul 17, 2024
750bdc5
doc(README): Python 2.6 unsupported announcement (#4161)
xiangce Jul 17, 2024
efba312
chore: re-write the OsRelease parser (#4163)
xiangce Jul 17, 2024
b227731
chore: remove collection of cups_pdd (#4168)
xiangce Jul 17, 2024
fe9db61
feat: New spec "/etc/pam.d/login" and parser (#4164)
qinpingli Jul 18, 2024
93073de
feat: New spec "/etc/securetty" and parser (#4166)
qinpingli Jul 18, 2024
51e3199
feat: New spec "/sys/class/tty/console/active" and parser (#4165)
qinpingli Jul 18, 2024
8105e65
feat: Add spec etc_sysconfig_pcs and parser (#4167)
wushiqinlou Jul 18, 2024
de3b172
feat(pgp): Use crypto.py during Egg and Collection verification (#4131)
m-horky Jul 18, 2024
570c24e
feat: add parser for spec nvidia_smi_l (#4174)
JoySnow Jul 25, 2024
785fce1
feat: update specs for parser crictl_logs (#4171)
mohitkumarrh Jul 25, 2024
047ef93
Remove --force-reregister command (#4162)
Glutexo Jul 25, 2024
a0990fd
feat: drop URLCache and associated code (#4173)
ptoscano Jul 29, 2024
526c475
fix: Prevent test teardown issues of fast_fetch (#4172)
m-horky Jul 30, 2024
6ccdb21
feat: introduce a new TextFileOutput base parser (#4148)
xiangce Jul 31, 2024
3edd140
fix: do not encode(utf-8) when writing spec content to disk in py2 (#…
xiangce Jul 31, 2024
6f68ef3
fix: Properly serialize playbook strings containing quote marks (#4175)
m-horky Jul 31, 2024
e4faf68
fix: 'filterable' specs were skipped incorrectly when running plugins…
xiangce Aug 1, 2024
838578c
feat: Iterate over all plays in a playbook (#4169)
m-horky Aug 1, 2024
d5872d9
test: Add more playbooks to verifier's test suite (#4170)
m-horky Aug 1, 2024
0bc91cb
fix: Run subshells with LC_ALL=C.UTF-8 (#4182)
m-horky Aug 6, 2024
c4099a0
fix: single quoted string parse of os_release (#4184)
JoySnow Aug 6, 2024
789a3fc
fix: insights-client failed, when --group was used (#4070)
jirihnidek Aug 8, 2024
66c6081
Fix and test IdM related parsers and combiners (#4178)
pbrezina Aug 8, 2024
d4b092a
chore: Skip empty spec only when collecting (#4183)
xiangce Aug 9, 2024
35979ee
fix: ausearch spec takes audit.log as input instead of stdin (#4186)
xiangce Aug 13, 2024
5166086
fix: Snyk CWE-295 issue in remote_resource module (#4188)
xiangce Aug 13, 2024
e07c125
fix: handle non-existing configuration in SSSDConfAll (#4192)
pbrezina Aug 19, 2024
e1034c5
feat(ci): add workflow to build egg for PRs and pushes (#4190)
ptoscano Aug 20, 2024
19a7722
feat: New spec "lsattr <paths>" and its parser (#4193)
huali027 Aug 20, 2024
995a5f6
fix: pass stdin=DEVNULL to Popen to avoid eating stdin from pipes (#4…
xiangce Aug 22, 2024
ebef1fb
FEAT: Add new parser RearLocalConf (#4198)
TZ3070 Aug 22, 2024
0ca2014
fix: correct NoFilterException in all datasource functions (#4197)
xiangce Aug 22, 2024
a27d1f5
doc(README): remove the Py26 unsupported announcement (#4199)
xiangce Aug 22, 2024
2b84861
Catch Timeout on test connection
Glutexo Aug 14, 2024
5138dba
Add error log to test
Glutexo Aug 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
315 changes: 315 additions & 0 deletions .collections.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,315 @@
from _abcoll import *
from _collections import deque, defaultdict
from itertools import imap as _imap
from operator import eq as _eq, itemgetter as _itemgetter
from keyword import iskeyword as _iskeyword
import sys as _sys

try:
from thread import get_ident as _get_ident
except ImportError:
from dummy_thread import get_ident as _get_ident


def namedtuple(typename, field_names, verbose=False):
"""Returns a new subclass of tuple with named fields.

>>> Point = namedtuple('Point', 'x y')
>>> Point.__doc__ # docstring for the new class
'Point(x, y)'
>>> p = Point(11, y=22) # instantiate with positional args or keywords
>>> p[0] + p[1] # indexable like a plain tuple
33
>>> x, y = p # unpack like a regular tuple
>>> x, y
(11, 22)
>>> p.x + p.y # fields also accessable by name
33
>>> d = p._asdict() # convert to a dictionary
>>> d['x']
11
>>> Point(**d) # convert from a dictionary
Point(x=11, y=22)
>>> p._replace(x=100) # _replace() is like str.replace() but targets named fields
Point(x=100, y=22)

"""

# Parse and validate the field names. Validation serves two purposes,
# generating informative error messages and preventing template injection attacks.
if isinstance(field_names, basestring):
field_names = field_names.replace(',', ' ').split() # names separated by whitespace and/or commas
field_names = tuple(map(str, field_names))
for name in (typename,) + field_names:
if not all(c.isalnum() or c=='_' for c in name):
raise ValueError('Type names and field names can only contain alphanumeric characters and underscores: %r' % name)
if _iskeyword(name):
raise ValueError('Type names and field names cannot be a keyword: %r' % name)
if name[0].isdigit():
raise ValueError('Type names and field names cannot start with a number: %r' % name)
seen_names = set()
for name in field_names:
if name.startswith('_'):
raise ValueError('Field names cannot start with an underscore: %r' % name)
if name in seen_names:
raise ValueError('Encountered duplicate field name: %r' % name)
seen_names.add(name)

# Create and fill-in the class template
numfields = len(field_names)
argtxt = repr(field_names).replace("'", "")[1:-1] # tuple repr without parens or quotes
reprtxt = ', '.join('%s=%%r' % name for name in field_names)
dicttxt = ', '.join('%r: t[%d]' % (name, pos) for pos, name in enumerate(field_names))
template = '''class %(typename)s(tuple):
'%(typename)s(%(argtxt)s)' \n
__slots__ = () \n
_fields = %(field_names)r \n
def __new__(_cls, %(argtxt)s):
return _tuple.__new__(_cls, (%(argtxt)s)) \n
@classmethod
def _make(cls, iterable, new=tuple.__new__, len=len):
'Make a new %(typename)s object from a sequence or iterable'
result = new(cls, iterable)
if len(result) != %(numfields)d:
raise TypeError('Expected %(numfields)d arguments, got %%d' %% len(result))
return result \n
def __repr__(self):
return '%(typename)s(%(reprtxt)s)' %% self \n
def _asdict(t):
'Return a new dict which maps field names to their values'
return {%(dicttxt)s} \n
def _replace(_self, **kwds):
'Return a new %(typename)s object replacing specified fields with new values'
result = _self._make(map(kwds.pop, %(field_names)r, _self))
if kwds:
raise ValueError('Got unexpected field names: %%r' %% kwds.keys())
return result \n
def __getnewargs__(self):
return tuple(self) \n\n''' % locals()
for i, name in enumerate(field_names):
template += ' %s = _property(_itemgetter(%d))\n' % (name, i)
if verbose:
print template

# Execute the template string in a temporary namespace and
# support tracing utilities by setting a value for frame.f_globals['__name__']
namespace = dict(_itemgetter=_itemgetter, __name__='namedtuple_%s' % typename,
_property=property, _tuple=tuple)
try:
exec template in namespace
except SyntaxError, e:
raise SyntaxError(e.message + ':\n' + template)
result = namespace[typename]

# For pickling to work, the __module__ variable needs to be set to the frame
# where the named tuple is created. Bypass this step in enviroments where
# sys._getframe is not defined (Jython for example).
if hasattr(_sys, '_getframe'):
result.__module__ = _sys._getframe(1).f_globals.get('__name__', '__main__')

return result


class OrderedDict(dict):
'Dictionary that remembers insertion order'
# An inherited dict maps keys to values.
# The inherited dict provides __getitem__, __len__, __contains__, and get.
# The remaining methods are order-aware.
# Big-O running times for all methods are the same as regular dictionaries.

# The internal self.__map dict maps keys to links in a doubly linked list.
# The circular doubly linked list starts and ends with a sentinel element.
# The sentinel element never gets deleted (this simplifies the algorithm).
# Each link is stored as a list of length three: [PREV, NEXT, KEY].

def __init__(self, *args, **kwds):
'''Initialize an ordered dictionary. The signature is the same as
regular dictionaries, but keyword arguments are not recommended because
their insertion order is arbitrary.

'''
if len(args) > 1:
raise TypeError('expected at most 1 arguments, got %d' % len(args))
try:
self.__root
except AttributeError:
self.__root = root = [] # sentinel node
root[:] = [root, root, None]
self.__map = {}
self.__update(*args, **kwds)

def __setitem__(self, key, value, dict_setitem=dict.__setitem__):
'od.__setitem__(i, y) <==> od[i]=y'
# Setting a new item creates a new link at the end of the linked list,
# and the inherited dictionary is updated with the new key/value pair.
if key not in self:
root = self.__root
last = root[0]
last[1] = root[0] = self.__map[key] = [last, root, key]
return dict_setitem(self, key, value)

def __delitem__(self, key, dict_delitem=dict.__delitem__):
'od.__delitem__(y) <==> del od[y]'
# Deleting an existing item uses self.__map to find the link which gets
# removed by updating the links in the predecessor and successor nodes.
dict_delitem(self, key)
link_prev, link_next, _ = self.__map.pop(key)
link_prev[1] = link_next # update link_prev[NEXT]
link_next[0] = link_prev # update link_next[PREV]

def __iter__(self):
'od.__iter__() <==> iter(od)'
# Traverse the linked list in order.
root = self.__root
curr = root[1] # start at the first node
while curr is not root:
yield curr[2] # yield the curr[KEY]
curr = curr[1] # move to next node

def __reversed__(self):
'od.__reversed__() <==> reversed(od)'
# Traverse the linked list in reverse order.
root = self.__root
curr = root[0] # start at the last node
while curr is not root:
yield curr[2] # yield the curr[KEY]
curr = curr[0] # move to previous node

def clear(self):
'od.clear() -> None. Remove all items from od.'
root = self.__root
root[:] = [root, root, None]
self.__map.clear()
dict.clear(self)

# -- the following methods do not depend on the internal structure --

def keys(self):
'od.keys() -> list of keys in od'
return list(self)

def values(self):
'od.values() -> list of values in od'
return [self[key] for key in self]

def items(self):
'od.items() -> list of (key, value) pairs in od'
return [(key, self[key]) for key in self]

def iterkeys(self):
'od.iterkeys() -> an iterator over the keys in od'
return iter(self)

def itervalues(self):
'od.itervalues -> an iterator over the values in od'
for k in self:
yield self[k]

def iteritems(self):
'od.iteritems -> an iterator over the (key, value) pairs in od'
for k in self:
yield (k, self[k])

update = MutableMapping.update

__update = update # let subclasses override update without breaking __init__

__marker = object()

def pop(self, key, default=__marker):
'''od.pop(k[,d]) -> v, remove specified key and return the corresponding
value. If key is not found, d is returned if given, otherwise KeyError
is raised.

'''
if key in self:
result = self[key]
del self[key]
return result
if default is self.__marker:
raise KeyError(key)
return default

def setdefault(self, key, default=None):
'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od'
if key in self:
return self[key]
self[key] = default
return default

def popitem(self, last=True):
'''od.popitem() -> (k, v), return and remove a (key, value) pair.
Pairs are returned in LIFO order if last is true or FIFO order if false.

'''
if not self:
raise KeyError('dictionary is empty')
key = next(reversed(self) if last else iter(self))
value = self.pop(key)
return key, value

def __repr__(self, _repr_running={}):
'od.__repr__() <==> repr(od)'
call_key = id(self), _get_ident()
if call_key in _repr_running:
return '...'
_repr_running[call_key] = 1
try:
if not self:
return '%s()' % (self.__class__.__name__,)
return '%s(%r)' % (self.__class__.__name__, self.items())
finally:
del _repr_running[call_key]

def __reduce__(self):
'Return state information for pickling'
items = [[k, self[k]] for k in self]
inst_dict = vars(self).copy()
for k in vars(OrderedDict()):
inst_dict.pop(k, None)
if inst_dict:
return (self.__class__, (items,), inst_dict)
return self.__class__, (items,)

def copy(self):
'od.copy() -> a shallow copy of od'
return self.__class__(self)

@classmethod
def fromkeys(cls, iterable, value=None):
'''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S.
If not specified, the value defaults to None.

'''
self = cls()
for key in iterable:
self[key] = value
return self

def __eq__(self, other):
'''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive
while comparison to a regular mapping is order-insensitive.

'''
if isinstance(other, OrderedDict):
return dict.__eq__(self, other) and all(_imap(_eq, self, other))
return dict.__eq__(self, other)

def __ne__(self, other):
'od.__ne__(y) <==> od!=y'
return not self == other

# -- the following methods support python 3.x style dictionary views --

def viewkeys(self):
"od.viewkeys() -> a set-like object providing a view on od's keys"
return KeysView(self)

def viewvalues(self):
"od.viewvalues() -> an object providing a view on od's values"
return ValuesView(self)

def viewitems(self):
"od.viewitems() -> a set-like object providing a view on od's items"
return ItemsView(self)

9 changes: 4 additions & 5 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
[run]
omit = falafel/contrib/*
falafel/archive/*
falafel/*/__main__.py
omit = insights/contrib/*
insights/archive/*
insights/*/__main__.py
# Exclude test files from coverage.
falafel/tests/*
falafel/mappers/tests/*
insights/tests/*
branch = True

[report]
Expand Down
4 changes: 2 additions & 2 deletions .flake8
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[flake8]
ignore = E501,E126,E127,E128
exclude = falafel/contrib,bin,docs,include,lib,lib64
ignore = E501,E126,E127,E128,E722,E741,W504
exclude = insights/contrib,bin,docs,include,lib,lib64,.git,.collections.py,insights/parsers/tests/lvm_test_data.py,insights/client/apps/ansible/playbook_verifier/contrib
20 changes: 20 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
### All Pull Requests:

Check all that apply:

* [ ] Have you followed the guidelines in our Contributing document, including the instructions about commit messages?
* [ ] Is this PR to correct an issue?
* [ ] Is this PR an enhancement?

### Complete Description of Additions/Changes:

<!--
Provide complete details of the issue or enhancement. You may link to existing open publicly-accessible issues or enhancement requests that provide these details.

Please do not include links to any websites that are not publicly accessible. You may include non-link reference numbers to help you and your team identify non-public references.

This information is necessary before your PR can be reviewed.

You may remove this comment.
-->
*Add your description here*
27 changes: 27 additions & 0 deletions .github/workflows/build_egg.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Build Egg

on:
push:
branches: [ master, '3.0']
pull_request:
branches: [ master ]

jobs:
build-egg:

runs-on: ubuntu-latest

steps:
- name: Install dependencies
run: |
sudo apt-get install -y --no-install-recommends python3 git zip
- uses: actions/checkout@v4
- name: Build egg
run: |
./build_client_egg.sh python3
- name: Upload egg
uses: actions/upload-artifact@v4
with:
name: egg
path: insights.zip
retention-days: 7
Loading