autodiscover

package
v0.0.0-...-2a271d3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2024 License: Apache-2.0 Imports: 45 Imported by: 0

Documentation

Overview

Copyright (C) 2020-2022 Red Hat, Inc.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Copyright (C) 2020-2024 Red Hat, Inc.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Copyright (C) 2022-2024 Red Hat, Inc.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Copyright (C) 2022-2023 Red Hat, Inc.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Copyright (C) 2020-2023 Red Hat, Inc.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Index

Constants

View Source
const (
	// NonOpenshiftClusterVersion is a fake version number for non openshift clusters (kind/minikube)
	NonOpenshiftClusterVersion = "0.0.0"
)

Variables

This section is empty.

Functions

func FindCrObjectByNameByNamespace

func FindCrObjectByNameByNamespace(scalesGetter scale.ScalesGetter, ns, name string, groupResourceSchema schema.GroupResource) (*scalingv1.Scale, error)

func FindDeploymentByNameByNamespace

func FindDeploymentByNameByNamespace(appClient appv1client.AppsV1Interface, namespace, name string) (*appsv1.Deployment, error)

func FindStatefulsetByNameByNamespace

func FindStatefulsetByNameByNamespace(appClient appv1client.AppsV1Interface, namespace, name string) (*appsv1.StatefulSet, error)

func FindTestCrdNames

func FindTestCrdNames(clusterCrds []*apiextv1.CustomResourceDefinition, crdFilters []configuration.CrdFilter) (targetCrds []*apiextv1.CustomResourceDefinition)

FindTestCrdNames gets a list of CRD names based on configured groups.

Types

type DiscoveredTestData

type DiscoveredTestData struct {
	Env                          configuration.TestParameters
	Pods                         []corev1.Pod
	AllPods                      []corev1.Pod
	ProbePods                    []corev1.Pod
	CSVToPodListMap              map[types.NamespacedName][]*corev1.Pod
	OperandPods                  []*corev1.Pod
	ResourceQuotaItems           []corev1.ResourceQuota
	PodDisruptionBudgets         []policyv1.PodDisruptionBudget
	NetworkPolicies              []networkingv1.NetworkPolicy
	Crds                         []*apiextv1.CustomResourceDefinition
	Namespaces                   []string
	AllNamespaces                []string
	AbnormalEvents               []corev1.Event
	Csvs                         []*olmv1Alpha.ClusterServiceVersion
	AllCrds                      []*apiextv1.CustomResourceDefinition
	AllCsvs                      []*olmv1Alpha.ClusterServiceVersion
	AllInstallPlans              []*olmv1Alpha.InstallPlan
	AllCatalogSources            []*olmv1Alpha.CatalogSource
	AllPackageManifests          []*olmPkgv1.PackageManifest
	SriovNetworks                []sriovNetworkOp.SriovNetwork
	SriovNetworkNodePolicies     []sriovNetworkOp.SriovNetworkNodePolicy
	AllSriovNetworks             []sriovNetworkOp.SriovNetwork
	AllSriovNetworkNodePolicies  []sriovNetworkOp.SriovNetworkNodePolicy
	NetworkAttachmentDefinitions []nadClient.NetworkAttachmentDefinition
	Deployments                  []appsv1.Deployment
	StatefulSet                  []appsv1.StatefulSet
	PersistentVolumes            []corev1.PersistentVolume
	PersistentVolumeClaims       []corev1.PersistentVolumeClaim
	ClusterRoleBindings          []rbacv1.ClusterRoleBinding
	RoleBindings                 []rbacv1.RoleBinding // Contains all rolebindings from all namespaces
	Roles                        []rbacv1.Role        // Contains all roles from all namespaces
	Services                     []*corev1.Service
	AllServices                  []*corev1.Service
	ServiceAccounts              []*corev1.ServiceAccount
	AllServiceAccounts           []*corev1.ServiceAccount
	Hpas                         []*scalingv1.HorizontalPodAutoscaler
	Subscriptions                []olmv1Alpha.Subscription
	AllSubscriptions             []olmv1Alpha.Subscription
	HelmChartReleases            map[string][]*release.Release
	K8sVersion                   string
	OpenshiftVersion             string
	OCPStatus                    string
	Nodes                        *corev1.NodeList
	IstioServiceMeshFound        bool
	ValidProtocolNames           []string
	StorageClasses               []storagev1.StorageClass
	ServicesIgnoreList           []string
	ScaleCrUnderTest             []ScaleObject
	ExecutedBy                   string
	PartnerName                  string
	CollectorAppPassword         string
	CollectorAppEndpoint         string
}

func DoAutoDiscover

func DoAutoDiscover(config *configuration.TestConfiguration) DiscoveredTestData

DoAutoDiscover finds objects under test

type ScaleObject

type ScaleObject struct {
	Scale               *scalingv1.Scale
	GroupResourceSchema schema.GroupResource
}

func GetScaleCrUnderTest

func GetScaleCrUnderTest(namespaces []string, crds []*apiextv1.CustomResourceDefinition) []ScaleObject

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL