|
14 | 14 | import os
|
15 | 15 | import sys
|
16 | 16 | import tempfile
|
17 |
| -from datetime import datetime |
18 |
| - |
19 | 17 | import yaml
|
20 | 18 |
|
21 |
| -from insights import apply_configs |
22 |
| -from insights import apply_default_enabled |
23 |
| -from insights import get_pool |
| 19 | +from datetime import datetime |
| 20 | + |
| 21 | +from insights import apply_configs, apply_default_enabled, get_pool |
24 | 22 | from insights.cleaner import Cleaner
|
25 |
| -from insights.core import blacklist |
26 |
| -from insights.core import dr |
27 |
| -from insights.core import filters |
| 23 | +from insights.core import blacklist, dr, filters |
28 | 24 | from insights.core.serde import Hydration
|
29 | 25 | from insights.core.spec_factory import SAFE_ENV
|
30 |
| -from insights.util import fs |
31 |
| -from insights.util import utc |
| 26 | +from insights.specs.manifests import manifests |
| 27 | +from insights.util import fs, utc |
32 | 28 | from insights.util.hostname import determine_hostname
|
33 | 29 | from insights.util.subproc import call
|
34 | 30 |
|
35 | 31 | log = logging.getLogger(__name__)
|
36 | 32 |
|
37 |
| -default_manifest = """ |
38 |
| ---- |
39 |
| -# version is for the format of this file, not its contents. |
40 |
| -version: 0 |
41 |
| -
|
42 |
| -client: |
43 |
| - context: |
44 |
| - class: insights.core.context.HostContext |
45 |
| - args: |
46 |
| - timeout: 10 # timeout in seconds for commands. Doesn't apply to files. |
47 |
| -
|
48 |
| - # commands and files to ignore |
49 |
| - blacklist: |
50 |
| - files: [] |
51 |
| - commands: [] |
52 |
| - patterns: [] |
53 |
| - keywords: [] |
54 |
| -
|
55 |
| - # Can be a list of dictionaries with name/enabled fields or a list of strings |
56 |
| - # where the string is the name and enabled is assumed to be true. Matching is |
57 |
| - # by prefix, and later entries override previous ones. Persistence for a |
58 |
| - # component is disabled by default. |
59 |
| - persist: |
60 |
| - - name: insights.specs.Specs |
61 |
| - enabled: true |
62 |
| -
|
63 |
| - run_strategy: |
64 |
| - name: serial |
65 |
| - args: |
66 |
| - max_workers: null |
67 |
| -
|
68 |
| -plugins: |
69 |
| - # disable everything by default |
70 |
| - # defaults to false if not specified. |
71 |
| - default_component_enabled: false |
72 |
| -
|
73 |
| - # packages and modules to load |
74 |
| - packages: |
75 |
| - - insights.specs.default |
76 |
| - - insights.specs.datasources |
77 |
| -
|
78 |
| - # configuration of loaded components. names are prefixes, so any component with |
79 |
| - # a fully qualified name that starts with a key will get the associated |
80 |
| - # configuration applied. Can specify timeout, which will apply to command |
81 |
| - # datasources. Can specify metadata, which must be a dictionary and will be |
82 |
| - # merged with the components' default metadata. |
83 |
| - configs: |
84 |
| - - name: insights.specs.Specs |
85 |
| - enabled: true |
86 |
| - - name: insights.specs.default.DefaultSpecs |
87 |
| - enabled: true |
88 |
| - - name: insights.specs.datasources |
89 |
| - enabled: true |
90 |
| - # needed for specs that aren't given names before used in DefaultSpecs |
91 |
| - - name: insights.core.spec_factory |
92 |
| - enabled: true |
93 |
| -
|
94 |
| - # needed by multiple datasource specs/components |
95 |
| - - name: insights.parsers.hostname.Hostname |
96 |
| - enabled: true |
97 |
| - - name: insights.parsers.hostname.HostnameDefault |
98 |
| - enabled: true |
99 |
| - - name: insights.combiners.hostname.Hostname |
100 |
| - enabled: true |
101 |
| - - name: insights.parsers.uname.Uname |
102 |
| - enabled: true |
103 |
| - - name: insights.parsers.redhat_release.RedhatRelease |
104 |
| - enabled: true |
105 |
| - - name: insights.combiners.redhat_release.RedHatRelease |
106 |
| - enabled: true |
107 |
| - - name: insights.parsers.ps.PsAuxcww |
108 |
| - enabled: true |
109 |
| - - name: insights.parsers.ps.PsAuxww |
110 |
| - enabled: true |
111 |
| - - name: insights.combiners.ps.Ps |
112 |
| - enabled: true |
113 |
| - - name: insights.parsers.dmidecode.DMIDecode |
114 |
| - enabled: true |
115 |
| - - name: insights.parsers.installed_rpms.InstalledRpms |
116 |
| - enabled: true |
117 |
| - - name: insights.parsers.mount.ProcMounts |
118 |
| - enabled: true |
119 |
| -
|
120 |
| - # needed for identifying RHEL major version |
121 |
| - - name: insights.components.rhel_version.IsRhel6 |
122 |
| - enabled: true |
123 |
| - - name: insights.components.rhel_version.IsRhel7 |
124 |
| - enabled: true |
125 |
| - - name: insights.components.rhel_version.IsRhel8 |
126 |
| - enabled: true |
127 |
| - - name: insights.components.rhel_version.IsRhel9 |
128 |
| - enabled: true |
129 |
| -
|
130 |
| - # needed for cloud specs |
131 |
| - - name: insights.parsers.yum.YumRepoList |
132 |
| - enabled: true |
133 |
| - - name: insights.parsers.rhsm_conf.RHSMConf |
134 |
| - enabled: true |
135 |
| - - name: insights.combiners.cloud_provider.CloudProvider |
136 |
| - enabled: true |
137 |
| - - name: insights.components.cloud_provider.IsAWS |
138 |
| - enabled: true |
139 |
| - - name: insights.components.cloud_provider.IsAzure |
140 |
| - enabled: true |
141 |
| - - name: insights.components.cloud_provider.IsGCP |
142 |
| - enabled: true |
143 |
| -
|
144 |
| - # needed for ceph specs |
145 |
| - - name: insights.components.ceph.IsCephMonitor |
146 |
| - enabled: true |
147 |
| -
|
148 |
| - # needed for pcp specs |
149 |
| - - name: insights.parsers.systemd.unitfiles.UnitFiles |
150 |
| - enabled: true |
151 |
| - - name: insights.parsers.ros_config.RosConfig |
152 |
| - enabled: true |
153 |
| -
|
154 |
| - # needed for 'teamdctl_config/state_dump' spec and nmcli_conn_show_uuids spec |
155 |
| - - name: insights.parsers.nmcli.NmcliConnShow |
156 |
| - enabled: true |
157 |
| -
|
158 |
| - # needed for mssql_tls_cert_enddate |
159 |
| - - name: insights.parsers.mssql_conf.MsSQLConf |
160 |
| - enabled: true |
161 |
| -
|
162 |
| - # needed for rsyslog_tls_cert_file |
163 |
| - - name: insights.parsers.rsyslog_conf.RsyslogConf |
164 |
| - enabled: true |
165 |
| - - name: insights.combiners.rsyslog_confs.RsyslogAllConf |
166 |
| - enabled: true |
167 |
| -
|
168 |
| - # needed for sap specs |
169 |
| - - name: insights.parsers.saphostctrl.SAPHostCtrlInstances |
170 |
| - enabled: true |
171 |
| - - name: insights.combiners.sap.Sap |
172 |
| - enabled: true |
173 |
| -
|
174 |
| - # needed for fw_security specs |
175 |
| - - name: insights.parsers.virt_what.VirtWhat |
176 |
| - enabled: true |
177 |
| - - name: insights.combiners.virt_what.VirtWhat |
178 |
| - enabled: true |
179 |
| - - name: insights.components.virtualization.IsBareMetal |
180 |
| - enabled: true |
181 |
| -
|
182 |
| - # needed for 'modinfo_filtered_modules' spec |
183 |
| - - name: insights.parsers.lsmod.LsMod |
184 |
| - enabled: true |
185 |
| -
|
186 |
| - # needed for satellite server specs |
187 |
| - - name: insights.combiners.satellite_version.SatelliteVersion |
188 |
| - enabled: true |
189 |
| - - name: insights.combiners.satellite_version.CapsuleVersion |
190 |
| - enabled: true |
191 |
| - - name: insights.components.satellite.IsSatellite |
192 |
| - enabled: true |
193 |
| - - name: insights.components.satellite.IsSatellite614AndLater |
194 |
| - enabled: true |
195 |
| - - name: insights.components.satellite.IsSatelliteLessThan614 |
196 |
| - enabled: true |
197 |
| - - name: insights.components.satellite.IsSatellite611 |
198 |
| - enabled: true |
199 |
| - - name: insights.components.satellite.IsCapsule |
200 |
| - enabled: true |
201 |
| -
|
202 |
| - # needed for container specs |
203 |
| - - name: insights.parsers.podman_list.PodmanListContainers |
204 |
| - enabled: true |
205 |
| - - name: insights.parsers.docker_list.DockerListContainers |
206 |
| - enabled: true |
207 |
| -
|
208 |
| - # needed for 'luks_data_sources' spec |
209 |
| - - name: insights.parsers.blkid.BlockIDInfo |
210 |
| - enabled: true |
211 |
| - - name: insights.components.cryptsetup.HasCryptsetupWithTokens |
212 |
| - enabled: true |
213 |
| - - name: insights.components.cryptsetup.HasCryptsetupWithoutTokens |
214 |
| - enabled: true |
215 |
| -
|
216 |
| - # needed for 'iris' specs |
217 |
| - - name: insights.parsers.iris.IrisList |
218 |
| - enabled: true |
219 |
| - - name: insights.parsers.iris.IrisCpf |
220 |
| - enabled: true |
221 |
| -
|
222 |
| - # needed for ausearch_insights |
223 |
| - - name: insights.components.rhel_version.IsGtOrRhel86 |
224 |
| - enabled: true |
225 |
| -
|
226 |
| - # needed for sealert spec |
227 |
| - - name: insights.parsers.selinux_config.SelinuxConfig |
228 |
| - enabled: true |
229 |
| - - name: insights.components.selinux.SELinuxEnabled |
230 |
| - enabled: true |
231 |
| -
|
232 |
| - # needed for the 'fstab_mounted.dirs' to the 'ls_lan' spec |
233 |
| - - name: insights.parsers.fstab.FSTab |
234 |
| - enabled: true |
235 |
| -""".strip() |
236 |
| - |
237 | 33 | EXCEPTIONS_TO_REPORT = set([OSError])
|
238 | 34 | """Exception types that should be reported on after core collection."""
|
239 | 35 |
|
@@ -410,8 +206,8 @@ def collect(
|
410 | 206 | # Get the manifest per the following order:
|
411 | 207 | # 1. "client_config.manifest"
|
412 | 208 | # 2. "manifest" passed to the `insights.collect()`
|
413 |
| - # 3. "default_manifest" defined in this module |
414 |
| - manifest = default_manifest if manifest is None else manifest |
| 209 | + # 3. "default_manifest" defined in `insights.specs.manifests` |
| 210 | + manifest = manifests['default'] if manifest is None else manifest |
415 | 211 | if client_config and hasattr(client_config, 'manifest') and client_config.manifest:
|
416 | 212 | manifest = client_config.manifest
|
417 | 213 | manifest = load_manifest(manifest)
|
|
0 commit comments