Due to the inactivity of the parent project, the commits made here will be ahead of the parent project. The focus of the project here is to obtain data related to OpenShift Virtualization/Kubevirt components
With the previous (v1) implementation of omg, there were some major limitations. A major restructuring is being done to implement some advance features that are necessary, for example:
-
Multi directory support: Often times a single must-gather is not enough to capture all the components that are being investigated hence multiple must-gathers (or combination of must-gathes and oc-adm-inspect) are collected. omg needs to be able to look at them at once (using v1 omg we have to switch to these directories individually, which is very inconvenient).
-
Dynamic CRDs: The CRDs in OpenShift are huge in number and growing. In the current implementation of omg, every CRD needs to be "handled" manually for omg to recoginze it. A resource map to handle each CRD is hard to scale and fails to pick any new/undefined CRDs. In the newer implementation, CRDs will be automatically detected and recognized. This idea was orignally pitched by Robert Bost here.
-
API Groups: Handling API Groups for each CRD is important. For example to differentiate between
oc get config.operator
andoc get config.imageregistry
. -
Components Output: Provide an easy way to see outputs of other components like elasticsearch and ceph when component specific must-gathers are collected (ODF, Logging, CNV, etc.)
-
High Level Summary: A high level summary of a must-gather would be very useful. For exmaple
omg show summary
andomg show issues
. -
Console Logging: A proper console logging library loguru is being used that supports standard/debug output and can separate standard and error outputs.