Skip to content

Commit

Permalink
Revert "support v1beta1 for pdbs"
Browse files Browse the repository at this point in the history
This reverts commit 13b2cab.
  • Loading branch information
swang392 committed Dec 19, 2024
1 parent 94a049e commit 59715f1
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 44 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import (
"github.com/stretchr/testify/assert"

corev1 "k8s.io/api/core/v1"
policyv1 "k8s.io/api/policy/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
)
Expand Down Expand Up @@ -47,7 +46,7 @@ func Test_getPodDisruptionBudget(t *testing.T) {
Namespace: "some-namespace",
},
}
testpdb := GetClusterAgentPodDisruptionBudget(&dda, false).(*policyv1.PodDisruptionBudget)
testpdb := GetClusterAgentPodDisruptionBudget(&dda)
assert.Equal(t, "my-datadog-agent-cluster-agent-pdb", testpdb.Name)
assert.Equal(t, intstr.FromInt(pdbMinAvailableInstances), *testpdb.Spec.MinAvailable)
assert.Nil(t, testpdb.Spec.MaxUnavailable)
Expand Down
21 changes: 3 additions & 18 deletions internal/controller/datadogagent/component/clusteragent/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,9 @@ import (
"github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1"
"github.com/DataDog/datadog-operator/internal/controller/datadogagent/object"
"github.com/DataDog/datadog-operator/pkg/controller/utils/comparison"
"sigs.k8s.io/controller-runtime/pkg/client"

corev1 "k8s.io/api/core/v1"
policyv1 "k8s.io/api/policy/v1"
policyv1beta1 "k8s.io/api/policy/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/apimachinery/pkg/version"
Expand Down Expand Up @@ -60,27 +58,13 @@ func GetClusterAgentService(dda metav1.Object) *corev1.Service {
return service
}

func GetClusterAgentPodDisruptionBudget(dda metav1.Object, useV1BetaPDB bool) client.Object {
func GetClusterAgentPodDisruptionBudget(dda metav1.Object) *policyv1.PodDisruptionBudget {
// labels and annotations
minAvailableStr := intstr.FromInt(pdbMinAvailableInstances)
matchLabels := map[string]string{
apicommon.AgentDeploymentNameLabelKey: dda.GetName(),
apicommon.AgentDeploymentComponentLabelKey: v2alpha1.DefaultClusterAgentResourceSuffix}
if useV1BetaPDB {
return &policyv1beta1.PodDisruptionBudget{
ObjectMeta: metav1.ObjectMeta{
Name: GetClusterAgentPodDisruptionBudgetName(dda),
Namespace: dda.GetNamespace(),
},
Spec: policyv1beta1.PodDisruptionBudgetSpec{
MinAvailable: &minAvailableStr,
Selector: &metav1.LabelSelector{
MatchLabels: matchLabels,
},
},
}
}
return &policyv1.PodDisruptionBudget{
pdb := &policyv1.PodDisruptionBudget{
ObjectMeta: metav1.ObjectMeta{
Name: GetClusterAgentPodDisruptionBudgetName(dda),
Namespace: dda.GetNamespace(),
Expand All @@ -92,6 +76,7 @@ func GetClusterAgentPodDisruptionBudget(dda metav1.Object, useV1BetaPDB bool) cl
},
},
}
return pdb
}

// GetMetricsServerServiceName returns the external metrics provider service name
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,8 @@ import (
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
policyv1 "k8s.io/api/policy/v1"
policyv1beta1 "k8s.io/api/policy/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
"sigs.k8s.io/controller-runtime/pkg/client"

apicommon "github.com/DataDog/datadog-operator/api/datadoghq/common"
"github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1"
Expand Down Expand Up @@ -94,26 +92,12 @@ func GetClusterChecksRunnerPodDisruptionBudgetName(dda metav1.Object) string {
return fmt.Sprintf("%s-%s-pdb", dda.GetName(), v2alpha1.DefaultClusterChecksRunnerResourceSuffix)
}

func GetClusterChecksRunnerPodDisruptionBudget(dda metav1.Object, useV1BetaPDB bool) client.Object {
func GetClusterChecksRunnerPodDisruptionBudget(dda metav1.Object) *policyv1.PodDisruptionBudget {
maxUnavailableStr := intstr.FromInt(pdbMaxUnavailableInstances)
matchLabels := map[string]string{
apicommon.AgentDeploymentNameLabelKey: dda.GetName(),
apicommon.AgentDeploymentComponentLabelKey: v2alpha1.DefaultClusterChecksRunnerResourceSuffix}
if useV1BetaPDB {
return &policyv1beta1.PodDisruptionBudget{
ObjectMeta: metav1.ObjectMeta{
Name: GetClusterChecksRunnerPodDisruptionBudgetName(dda),
Namespace: dda.GetNamespace(),
},
Spec: policyv1beta1.PodDisruptionBudgetSpec{
MaxUnavailable: &maxUnavailableStr,
Selector: &metav1.LabelSelector{
MatchLabels: matchLabels,
},
},
}
}
return &policyv1.PodDisruptionBudget{
pdb := &policyv1.PodDisruptionBudget{
ObjectMeta: metav1.ObjectMeta{
Name: GetClusterChecksRunnerPodDisruptionBudgetName(dda),
Namespace: dda.GetNamespace(),
Expand All @@ -125,6 +109,7 @@ func GetClusterChecksRunnerPodDisruptionBudget(dda metav1.Object, useV1BetaPDB b
},
},
}
return pdb
}

// getDefaultServiceAccountName return the default Cluster-Agent ServiceAccountName
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import (

"github.com/DataDog/datadog-operator/api/datadoghq/v2alpha1"
"github.com/stretchr/testify/assert"
policyv1 "k8s.io/api/policy/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
)
Expand All @@ -33,7 +32,7 @@ func Test_getPodDisruptionBudget(t *testing.T) {
Namespace: "some-namespace",
},
}
testpdb := GetClusterChecksRunnerPodDisruptionBudget(&dda, false).(*policyv1.PodDisruptionBudget)
testpdb := GetClusterChecksRunnerPodDisruptionBudget(&dda)
assert.Equal(t, "my-datadog-agent-cluster-checks-runner-pdb", testpdb.Name)
assert.Equal(t, intstr.FromInt(pdbMaxUnavailableInstances), *testpdb.Spec.MaxUnavailable)
assert.Nil(t, testpdb.Spec.MinAvailable)
Expand Down
6 changes: 2 additions & 4 deletions internal/controller/datadogagent/override/dependencies.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,15 @@ func Dependencies(logger logr.Logger, manager feature.ResourceManagers, dda *v2a

func overridePodDisruptionBudget(logger logr.Logger, manager feature.ResourceManagers, dda *v2alpha1.DatadogAgent, createPdb *bool, component v2alpha1.ComponentName) (errs []error) {
if createPdb != nil && *createPdb {
platformInfo := manager.Store().GetPlatformInfo()
useV1BetaPDB := platformInfo.UseV1Beta1PDB()
if component == v2alpha1.ClusterAgentComponentName {
pdb := componentdca.GetClusterAgentPodDisruptionBudget(dda, useV1BetaPDB)
pdb := componentdca.GetClusterAgentPodDisruptionBudget(dda)
if err := manager.Store().AddOrUpdate(kubernetes.PodDisruptionBudgetsKind, pdb); err != nil {
errs = append(errs, err)
}
} else if component == v2alpha1.ClusterChecksRunnerComponentName &&
(dda.Spec.Features.ClusterChecks.UseClusterChecksRunners == nil ||
*dda.Spec.Features.ClusterChecks.UseClusterChecksRunners) {
pdb := componentccr.GetClusterChecksRunnerPodDisruptionBudget(dda, useV1BetaPDB)
pdb := componentccr.GetClusterChecksRunnerPodDisruptionBudget(dda)
if err := manager.Store().AddOrUpdate(kubernetes.PodDisruptionBudgetsKind, pdb); err != nil {
errs = append(errs, err)
}
Expand Down

0 comments on commit 59715f1

Please sign in to comment.