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

Bump controller-runtime to 0.14.1 / k8s 1.26.1 #11600

Merged
merged 8 commits into from
Jan 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion cmd/alertmanager-authorization-server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ func (a *authorizationServer) authorize(ctx context.Context, userEmail, clusterI
return false, fmt.Errorf("listing groupProjectBinding: %w", err)
}

groupSet := sets.NewString()
groupSet := sets.New[string]()
for _, gpb := range allGroupBindings.Items {
a.log.Debugf("found group project binding %q for project %q with group %q", gpb.Name, projectID, gpb.Spec.Group)
groupSet.Insert(gpb.Spec.Group)
Expand Down
15 changes: 8 additions & 7 deletions cmd/conformance-tester/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import (
"k8c.io/kubermatic/v2/pkg/test/e2e/utils"
"k8c.io/kubermatic/v2/pkg/util/cli"

"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/kubernetes/scheme"
metricsv1beta1 "k8s.io/metrics/pkg/apis/metrics/v1beta1"
Expand Down Expand Up @@ -81,11 +82,11 @@ func main() {
// say hello
cli.Hello(log, "Conformance Tests", true, nil)
log.Infow("Runner configuration",
"providers", opts.Providers.List(),
"operatingsystems", opts.Distributions.List(),
"providers", sets.List(opts.Providers),
"operatingsystems", sets.List(opts.Distributions),
"versions", opts.Versions,
"containerruntimes", opts.ContainerRuntimes.List(),
"tests", opts.Tests.List(),
"containerruntimes", sets.List(opts.ContainerRuntimes),
"tests", sets.List(opts.Tests),
"osm", opts.OperatingSystemManagerEnabled,
"dualstack", opts.DualStackEnabled,
"konnectivity", opts.KonnectivityEnabled,
Expand Down Expand Up @@ -113,9 +114,9 @@ func main() {

// determine what's to do
scenarios, err := scenarios.NewGenerator().
WithCloudProviders(opts.Providers.List()...).
WithOperatingSystems(opts.Distributions.List()...).
WithContainerRuntimes(opts.ContainerRuntimes.List()...).
WithCloudProviders(sets.List(opts.Providers)...).
WithOperatingSystems(sets.List(opts.Distributions)...).
WithContainerRuntimes(sets.List(opts.ContainerRuntimes)...).
WithOSM(opts.OperatingSystemManagerEnabled).
WithDualstack(opts.DualStackEnabled).
WithVersions(opts.Versions...).
Expand Down
5 changes: 3 additions & 2 deletions cmd/conformance-tester/pkg/runner/runner.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ import (
"k8s.io/apimachinery/pkg/types"
kerrors "k8s.io/apimachinery/pkg/util/errors"
"k8s.io/apimachinery/pkg/util/rand"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/client-go/util/retry"
ctrlruntimeclient "sigs.k8s.io/controller-runtime/pkg/client"
)
Expand Down Expand Up @@ -140,8 +141,8 @@ func (r *TestRunner) Run(ctx context.Context, testScenarios []scenarios.Scenario
fmt.Printf(" OSM Enabled.........: %v\n", r.opts.OperatingSystemManagerEnabled)
fmt.Printf(" Dualstack Enabled...: %v\n", r.opts.DualStackEnabled)
fmt.Printf(" Konnectivity Enabled: %v\n", r.opts.KonnectivityEnabled)
fmt.Printf(" Enabled Tests.......: %v\n", r.opts.Tests.List())
fmt.Printf(" Scenario Options....: %v\n", r.opts.ScenarioOptions.List())
fmt.Printf(" Enabled Tests.......: %v\n", sets.List(r.opts.Tests))
fmt.Printf(" Scenario Options....: %v\n", sets.List(r.opts.ScenarioOptions))
fmt.Println("")
fmt.Println("Test results:")

Expand Down
16 changes: 8 additions & 8 deletions cmd/conformance-tester/pkg/runner/waiters.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ func waitForControlPlane(ctx context.Context, log *zap.SugaredLogger, opts *ctyp
return nil, fmt.Errorf("failed to list controlplane pods: %w", err)
}

unready := sets.NewString()
unready := sets.New[string]()
for _, pod := range controlPlanePods.Items {
if !util.PodIsReady(&pod) {
unready.Insert(pod.Name)
Expand All @@ -78,7 +78,7 @@ func waitForControlPlane(ctx context.Context, log *zap.SugaredLogger, opts *ctyp
return nil, nil
}

return fmt.Errorf("not all Pods are ready: %v", unready.List()), nil
return fmt.Errorf("not all Pods are ready: %v", sets.List(unready)), nil
})
// Timeout or other error
if err != nil {
Expand Down Expand Up @@ -119,7 +119,7 @@ func waitUntilAllPodsAreReady(ctx context.Context, log *zap.SugaredLogger, opts
return fmt.Errorf("failed to list Pods in user cluster: %w", err), nil
}

unready := sets.NewString()
unready := sets.New[string]()
for _, pod := range podList.Items {
// Ignore pods failing kubelet admission (KKP #6185)
if !util.PodIsReady(&pod) && !podFailedKubeletAdmissionDueToNodeAffinityPredicate(&pod, log) {
Expand All @@ -131,7 +131,7 @@ func waitUntilAllPodsAreReady(ctx context.Context, log *zap.SugaredLogger, opts
return nil, nil
}

return fmt.Errorf("not all Pods are ready: %v", unready.List()), nil
return fmt.Errorf("not all Pods are ready: %v", sets.List(unready)), nil
})
if err != nil {
return err
Expand All @@ -156,7 +156,7 @@ func waitForMachinesToJoinCluster(ctx context.Context, log *zap.SugaredLogger, c
return fmt.Errorf("failed to list machines: %w", err), nil
}

missingMachines := sets.NewString()
missingMachines := sets.New[string]()
for _, machine := range machineList.Items {
if machine.Status.NodeRef == nil || machine.Status.NodeRef.Name == "" {
missingMachines.Insert(machine.Name)
Expand All @@ -167,7 +167,7 @@ func waitForMachinesToJoinCluster(ctx context.Context, log *zap.SugaredLogger, c
return nil, nil
}

return fmt.Errorf("not all machines have joined: %v", missingMachines.List()), nil
return fmt.Errorf("not all machines have joined: %v", sets.List(missingMachines)), nil
})

elapsed := time.Since(startTime)
Expand All @@ -192,7 +192,7 @@ func waitForNodesToBeReady(ctx context.Context, log *zap.SugaredLogger, client c
return fmt.Errorf("failed to list nodes: %w", err), nil
}

unready := sets.NewString()
unready := sets.New[string]()
for _, node := range nodeList.Items {
if !util.NodeIsReady(node) {
unready.Insert(node.Name)
Expand All @@ -203,7 +203,7 @@ func waitForNodesToBeReady(ctx context.Context, log *zap.SugaredLogger, client c
return nil, nil
}

return fmt.Errorf("not all nodes are ready: %v", unready.List()), nil
return fmt.Errorf("not all nodes are ready: %v", sets.List(unready)), nil
})

elapsed := time.Since(startTime)
Expand Down
2 changes: 1 addition & 1 deletion cmd/conformance-tester/pkg/scenarios/aws.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ func (s *awsScenario) MachineDeployments(ctx context.Context, num int, secrets t
}

// Find three subnets that are in different AZs to preserve the multi az testcase
allAZs := sets.NewString()
allAZs := sets.New[string]()
var subnets []ec2types.Subnet
for _, subnet := range allSubnets {
if !allAZs.Has(pointer.StringDeref(subnet.AvailabilityZone, "")) {
Expand Down
24 changes: 12 additions & 12 deletions cmd/conformance-tester/pkg/scenarios/generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,20 +35,20 @@ import (
)

type Generator struct {
cloudProviders sets.String
operatingSystems sets.String
versions sets.String
containerRuntimes sets.String
cloudProviders sets.Set[string]
operatingSystems sets.Set[string]
versions sets.Set[string]
containerRuntimes sets.Set[string]
enableOSM bool
enableDualstack bool
}

func NewGenerator() *Generator {
return &Generator{
cloudProviders: sets.NewString(),
operatingSystems: sets.NewString(),
versions: sets.NewString(),
containerRuntimes: sets.NewString(),
cloudProviders: sets.New[string](),
operatingSystems: sets.New[string](),
versions: sets.New[string](),
containerRuntimes: sets.New[string](),
}
}

Expand Down Expand Up @@ -93,20 +93,20 @@ func (g *Generator) WithDualstack(enable bool) *Generator {
func (g *Generator) Scenarios(ctx context.Context, opts *types.Options, log *zap.SugaredLogger) ([]Scenario, error) {
scenarios := []Scenario{}

for _, version := range g.versions.List() {
for _, version := range sets.List(g.versions) {
s, err := semver.NewSemver(version)
if err != nil {
return nil, fmt.Errorf("invalid version %q: %w", version, err)
}

for _, providerName := range g.cloudProviders.List() {
for _, providerName := range sets.List(g.cloudProviders) {
datacenter, err := g.datacenter(ctx, opts.SeedClusterClient, opts.Secrets, kubermaticv1.ProviderType(providerName))
if err != nil {
return nil, fmt.Errorf("failed to determine target datacenter for provider %q: %w", providerName, err)
}

for _, operatingSystem := range g.operatingSystems.List() {
for _, cri := range g.containerRuntimes.List() {
for _, operatingSystem := range sets.List(g.operatingSystems) {
for _, cri := range sets.List(g.containerRuntimes) {
scenario, err := providerScenario(opts, kubermaticv1.ProviderType(providerName), providerconfig.OperatingSystem(operatingSystem), *s, cri, datacenter)
if err != nil {
return nil, err
Expand Down
22 changes: 11 additions & 11 deletions cmd/conformance-tester/pkg/tests/conformance.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,13 +100,13 @@ func TestKubernetesConformance(
return nil
}

func getDefaultClusterContents(ctx context.Context, client ctrlruntimeclient.Client) (sets.String, sets.String, error) {
func getDefaultClusterContents(ctx context.Context, client ctrlruntimeclient.Client) (sets.Set[string], sets.Set[string], error) {
namespaceList := &corev1.NamespaceList{}
if err := client.List(ctx, namespaceList); err != nil {
return nil, nil, fmt.Errorf("failed to list namespaces: %w", err)
}

namespaces := sets.NewString()
namespaces := sets.New[string]()
for _, ns := range namespaceList.Items {
namespaces.Insert(ns.Name)
}
Expand All @@ -116,7 +116,7 @@ func getDefaultClusterContents(ctx context.Context, client ctrlruntimeclient.Cli
return nil, nil, fmt.Errorf("failed to list webhooks: %w", err)
}

webhooks := sets.NewString()
webhooks := sets.New[string]()
for _, webhook := range webhookList.Items {
webhooks.Insert(webhook.Name)
}
Expand All @@ -134,8 +134,8 @@ func runGinkgoRunWithRetries(
scenario scenarios.Scenario,
run *util.GinkgoRun,
client ctrlruntimeclient.Client,
namespacesToKeep sets.String,
webhooksToKeep sets.String,
namespacesToKeep sets.Set[string],
webhooksToKeep sets.Set[string],
) (ginkgoRes *util.GinkgoResult, err error) {
const maxAttempts = 3

Expand Down Expand Up @@ -188,8 +188,8 @@ func runGinkgo(
opts *types.Options,
run *util.GinkgoRun,
client ctrlruntimeclient.Client,
namespacesToKeep sets.String,
webhooksToKeep sets.String,
namespacesToKeep sets.Set[string],
webhooksToKeep sets.Set[string],
) (*util.GinkgoResult, error) {
log := parentLog.With("reports-dir", run.ReportsDir)

Expand Down Expand Up @@ -313,8 +313,8 @@ func cleanupBeforeGinkgo(
log *zap.SugaredLogger,
opts *types.Options,
client ctrlruntimeclient.Client,
namespacesToKeep sets.String,
webhooksToKeep sets.String,
namespacesToKeep sets.Set[string],
webhooksToKeep sets.Set[string],
) error {
log.Info("Removing non-default webhooks...")

Expand All @@ -324,7 +324,7 @@ func cleanupBeforeGinkgo(
return fmt.Errorf("failed to list webhooks: %w", err), nil
}

remaining := sets.NewString()
remaining := sets.New[string]()
for _, webhook := range webhookList.Items {
if webhooksToKeep.Has(webhook.Name) {
continue
Expand All @@ -347,7 +347,7 @@ func cleanupBeforeGinkgo(
return nil, nil
}

return fmt.Errorf("could not delete all webhooks: %v", remaining.List()), nil
return fmt.Errorf("could not delete all webhooks: %v", sets.List(remaining)), nil
}); err != nil {
return err
}
Expand Down
6 changes: 3 additions & 3 deletions cmd/conformance-tester/pkg/tests/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ func TestUserClusterMetrics(ctx context.Context, log *zap.SugaredLogger, opts *c
return fmt.Errorf("failed to get prometheus metrics with data status: %s", data.Status)
}

expected := sets.NewString(
expected := sets.New(
"etcd_disk_backend_defrag_duration_seconds_sum",
"kube_daemonset_labels",
"kubelet_runtime_operations_duration_seconds_count",
Expand All @@ -107,11 +107,11 @@ func TestUserClusterMetrics(ctx context.Context, log *zap.SugaredLogger, opts *c
expected.Insert("scheduler_scheduling_attempt_duration_seconds_count")
}

fetched := sets.NewString(data.Data...)
fetched := sets.New(data.Data...)
missing := expected.Difference(fetched)

if missing.Len() > 0 {
return fmt.Errorf("failed to get all expected metrics: got: %v, %v are missing", fetched.List(), missing.List())
return fmt.Errorf("failed to get all expected metrics: got: %v, %v are missing", sets.List(fetched), sets.List(missing))
}

log.Info("Successfully validated user cluster metrics.")
Expand Down