Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewCRDVersionChecker ¶
func NewCRDVersionChecker() monitortestframework.MonitorTest
NewCRDVersionChecker creates a new monitor test that tracks CRD version changes during upgrades.
Types ¶
type CRDChangeSummary ¶
type CRDChangeSummary struct {
Name string `json:"name"` // Name of the CRD
AddedVersions []string `json:"addedVersions,omitempty"` // Versions that were added
RemovedVersions []string `json:"removedVersions,omitempty"` // Versions that were removed
StorageChanged bool `json:"storageChanged,omitempty"` // True if storage version changed
OldStorage string `json:"oldStorage,omitempty"` // Old storage version
NewStorage string `json:"newStorage,omitempty"` // New storage version
}
CRDChangeSummary describes changes to a specific CRD between snapshots.
type CRDCondition ¶
type CRDCondition struct {
Type string `json:"type"` // Condition type (e.g., Established, NamesAccepted)
Status string `json:"status"` // True, False, or Unknown
Reason string `json:"reason,omitempty"` // Machine-readable reason for the condition
Message string `json:"message,omitempty"` // Human-readable message
LastTransitionTime string `json:"lastTransitionTime,omitempty"` // When the condition last transitioned
}
CRDCondition captures the condition information for a CRD.
type CRDInfo ¶
type CRDInfo struct {
Name string `json:"name"` // Full CRD name (e.g., machines.machine.openshift.io)
Group string `json:"group"` // API group
Kind string `json:"kind"` // Resource kind
Versions []CRDVersionInfo `json:"versions"` // All defined versions
StoredVersions []string `json:"storedVersions"` // Versions that have data stored in etcd
Conditions []CRDCondition `json:"conditions"` // Current conditions of the CRD
}
CRDInfo captures the essential information about a CustomResourceDefinition.
type CRDSnapshot ¶
type CRDSnapshot struct {
CollectedAt time.Time `json:"collectedAt"`
CRDs map[string]CRDInfo `json:"crds"` // Keyed by CRD name
}
CRDSnapshot represents a point-in-time snapshot of all CRDs in the cluster.
type CRDSummary ¶
type CRDSummary struct {
BeforeUpgrade CRDSnapshot `json:"beforeUpgrade"` // Snapshot of CRDs before the upgrade
AfterUpgrade CRDSnapshot `json:"afterUpgrade"` // Snapshot of CRDs after the upgrade
AddedCRDs []string `json:"addedCRDs"` // CRDs that were added during upgrade
RemovedCRDs []string `json:"removedCRDs"` // CRDs that were removed during upgrade
ChangedCRDs []CRDChangeSummary `json:"changedCRDs"` // CRDs with version changes
}
CRDSummary contains the before/after snapshots and computed differences.
type CRDVersionInfo ¶
type CRDVersionInfo struct {
Name string `json:"name"` // Version name (e.g., v1, v1beta1)
Served bool `json:"served"` // Whether this version is served by the API server
Storage bool `json:"storage"` // Whether this is the storage version
Deprecated bool `json:"deprecated,omitempty"` // Whether this version is deprecated
}
CRDVersionInfo captures the version information for a single CRD version.
Click to show internal directories.
Click to hide internal directories.