Skip to content

Commit 72ab88a

Browse files
Fix ci
1 parent ce455b7 commit 72ab88a

File tree

4 files changed

+241
-31
lines changed

4 files changed

+241
-31
lines changed

.ci/tests/integration/e2e_with_tls.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,17 @@ setup:
2424
label-selector: app=cert-manager
2525
for: condition=Ready
2626

27+
- name: setup vpa
28+
command: |
29+
helm repo add cowboysysop https://cowboysysop.github.io/charts/
30+
helm repo update
31+
helm install vpa cowboysysop/vertical-pod-autoscaler
32+
wait:
33+
- namespace: default
34+
resource: pod
35+
label-selector: app.kubernetes.io/name=vertical-pod-autoscaler
36+
for: condition=Ready
37+
2738
- name: install pulsar cluster
2839
command: |
2940
helm repo add streamnative https://charts.streamnative.io
@@ -37,6 +48,11 @@ setup:
3748
helm dependency update charts/pulsar
3849
helm install ${PULSAR_RELEASE_NAME} --set initialize=true --values ../.ci/clusters/values_skywalking_e2e_cluster_with_tls.yaml charts/pulsar
3950
51+
- name: install metrics service
52+
command: |
53+
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
54+
kubectl patch -n kube-system deployment metrics-server --type=json -p '[{"op":"add","path":"/spec/template/spec/containers/0/args/-","value":"--kubelet-insecure-tls"}]'
55+
4056
- name: wait for pulsar cluster ready
4157
command: |
4258
echo "wait until pulsar init job is completed"

controllers/common.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,9 @@ func observeVPA(ctx context.Context, r client.Reader, name types.NamespacedName,
117117
}
118118

119119
// compare exists VPA with new Spec
120-
updatePolicy := vpaSpec.UpdatePolicy
121-
spec.UpdateVPAUpdatePolicy(updatePolicy, vpaSpec.ResourceUnit)
122-
resourcePolicy := vpaSpec.ResourcePolicy
120+
updatePolicy := spec.UpdateVPAUpdatePolicy(vpaSpec.UpdatePolicy, vpaSpec.ResourceUnit)
123121
containerName := spec.GetVPAContainerName(&vpa.ObjectMeta)
124-
spec.UpdateResourcePolicy(resourcePolicy, containerName)
122+
resourcePolicy := spec.UpdateResourcePolicy(vpaSpec.ResourcePolicy, containerName)
125123
if !reflect.DeepEqual(updatePolicy, vpa.Spec.UpdatePolicy) ||
126124
!reflect.DeepEqual(resourcePolicy, vpa.Spec.ResourcePolicy) {
127125
condition.Status = metav1.ConditionFalse

controllers/spec/vpa.go

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,11 @@ import (
2828

2929
func MakeVPA(objectMeta *metav1.ObjectMeta, targetRef *autov2.CrossVersionObjectReference, vpa *v1alpha1.VPASpec) *vpav1.VerticalPodAutoscaler {
3030
containerName := GetVPAContainerName(objectMeta)
31-
updatePolicy := vpa.UpdatePolicy
32-
UpdateVPAUpdatePolicy(updatePolicy, vpa.ResourceUnit)
31+
updatePolicy := UpdateVPAUpdatePolicy(vpa.UpdatePolicy, vpa.ResourceUnit)
3332
if vpa.ResourceUnit != nil {
3433
objectMeta.Labels[LabelCustomResourceUnit] = "true"
3534
}
36-
resourcePolicy := vpa.ResourcePolicy
37-
UpdateResourcePolicy(resourcePolicy, containerName)
35+
resourcePolicy := UpdateResourcePolicy(vpa.ResourcePolicy, containerName)
3836

3937
return &vpav1.VerticalPodAutoscaler{
4038
TypeMeta: metav1.TypeMeta{
@@ -67,19 +65,24 @@ func GetVPAContainerName(objectMeta *metav1.ObjectMeta) string {
6765
return containerName
6866
}
6967

70-
func UpdateVPAUpdatePolicy(updatePolicy *vpav1.PodUpdatePolicy, resourceUnit *v1alpha1.ResourceUnit) {
71-
if updatePolicy != nil && resourceUnit != nil {
68+
func UpdateVPAUpdatePolicy(updatePolicy *vpav1.PodUpdatePolicy, resourceUnit *v1alpha1.ResourceUnit) *vpav1.PodUpdatePolicy {
69+
resultUpdatePolicy := updatePolicy
70+
if resourceUnit != nil {
71+
if resultUpdatePolicy == nil {
72+
resultUpdatePolicy = &vpav1.PodUpdatePolicy{}
73+
}
7274
off := vpav1.UpdateModeOff
73-
updatePolicy.UpdateMode = &off
75+
resultUpdatePolicy.UpdateMode = &off
7476
}
77+
return resultUpdatePolicy
7578
}
7679

77-
func UpdateResourcePolicy(resourcePolicy *vpav1.PodResourcePolicy, containerName string) {
80+
func UpdateResourcePolicy(resourcePolicy *vpav1.PodResourcePolicy, containerName string) *vpav1.PodResourcePolicy {
81+
var containerPolicies []vpav1.ContainerResourcePolicy
82+
containerScalingMode := vpav1.ContainerScalingModeAuto
7883
if resourcePolicy != nil {
79-
var containerPolicies []vpav1.ContainerResourcePolicy
80-
containerScalingMode := vpav1.ContainerScalingModeAuto
8184
if resourcePolicy.ContainerPolicies == nil {
82-
resourcePolicy.ContainerPolicies = []vpav1.ContainerResourcePolicy{}
85+
containerPolicies = []vpav1.ContainerResourcePolicy{}
8386
}
8487
for _, policy := range resourcePolicy.ContainerPolicies {
8588
if policy.ContainerName == containerName {
@@ -88,15 +91,21 @@ func UpdateResourcePolicy(resourcePolicy *vpav1.PodResourcePolicy, containerName
8891
break
8992
}
9093
}
91-
// if resource policy is not set, set the default policy, so the vpa policy won't be applied to other containers
92-
if len(containerPolicies) == 0 {
93-
containerPolicies = []vpav1.ContainerResourcePolicy{
94-
{
95-
ContainerName: containerName,
96-
Mode: &containerScalingMode,
97-
},
98-
}
94+
}
95+
96+
// if resource policy is not set, set the default policy, so the vpa policy won't be applied to other containers
97+
if len(containerPolicies) == 0 {
98+
containerPolicies = []vpav1.ContainerResourcePolicy{
99+
{
100+
ContainerName: containerName,
101+
Mode: &containerScalingMode,
102+
},
99103
}
100-
resourcePolicy.ContainerPolicies = containerPolicies
101104
}
105+
resultResourcePolicy := resourcePolicy
106+
if resultResourcePolicy == nil {
107+
resultResourcePolicy = &vpav1.PodResourcePolicy{}
108+
}
109+
resultResourcePolicy.ContainerPolicies = containerPolicies
110+
return resultResourcePolicy
102111
}

0 commit comments

Comments
 (0)