Skip to content

Commit a4265bf

Browse files
committed
++ review comments: fix adding condition to deployment/dvcr
Signed-off-by: Ivan Mikheykin <[email protected]>
1 parent 16a95d2 commit a4265bf

File tree

4 files changed

+22
-30
lines changed

4 files changed

+22
-30
lines changed

images/virtualization-artifact/pkg/controller/dvcr-maintenance/condition/deployment.go

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -53,22 +53,27 @@ func UpdateMaintenanceCondition(deploy *appsv1.Deployment, reason dvcrdeployment
5353

5454
condition := NewMaintenanceCondition(reason, msgf, args...)
5555

56-
// Condition is nil, so remove maintenance condition.
57-
if len(deploy.Status.Conditions) > 0 {
58-
filteredConditions := make([]appsv1.DeploymentCondition, 0)
59-
for _, cond := range deploy.Status.Conditions {
60-
if cond.Type == dvcrdeploymentcondition.MaintenanceType {
61-
if cond.Reason != condition.Reason || cond.Message != condition.Message {
62-
condition.LastTransitionTime = metav1.Now()
63-
}
64-
cond = condition
56+
// Deploy has no conditions, create new slice.
57+
if len(deploy.Status.Conditions) == 0 {
58+
deploy.Status.Conditions = []appsv1.DeploymentCondition{condition}
59+
}
60+
61+
// Add or update existing condition.
62+
filteredConditions := make([]appsv1.DeploymentCondition, 0)
63+
existed := false
64+
for _, cond := range deploy.Status.Conditions {
65+
if cond.Type == dvcrdeploymentcondition.MaintenanceType {
66+
if cond.Reason != condition.Reason || cond.Message != condition.Message {
67+
condition.LastTransitionTime = metav1.Now()
6568
}
66-
// Copy non-maintenance conditions.
67-
filteredConditions = append(filteredConditions, cond)
69+
cond = condition
70+
existed = true
6871
}
69-
deploy.Status.Conditions = filteredConditions
72+
// Copy non-maintenance conditions.
73+
filteredConditions = append(filteredConditions, cond)
7074
}
71-
72-
// Deploy has no conditions, create new slice.
73-
deploy.Status.Conditions = []appsv1.DeploymentCondition{condition}
75+
if !existed {
76+
filteredConditions = append(filteredConditions, condition)
77+
}
78+
deploy.Status.Conditions = filteredConditions
7479
}

images/virtualization-artifact/pkg/controller/dvcr-maintenance/internal/service/provisioning_lister.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"context"
2121
"fmt"
2222

23+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2324
"sigs.k8s.io/controller-runtime/pkg/client"
2425

2526
"github.com/deckhouse/virtualization-controller/pkg/controller/conditions"
@@ -118,7 +119,7 @@ func (p *ProvisioningLister) ListVirtualDisksInProvisioning(ctx context.Context)
118119
continue
119120
}
120121
cond, exists := conditions.GetCondition(vdcondition.ReadyType, vd.Status.Conditions)
121-
if exists && cond.Status == "False" && cond.Reason == vdcondition.Provisioning.String() {
122+
if exists && cond.Status == metav1.ConditionFalse && cond.Reason == vdcondition.Provisioning.String() {
122123
provisioning = append(provisioning, vd)
123124
}
124125
}

images/virtualization-artifact/pkg/controller/dvcr-maintenance/types/interfaces.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ type DVCRService interface {
2929
InitiateMaintenanceMode(ctx context.Context) error
3030
SwitchToMaintenanceMode(ctx context.Context) error
3131

32-
IsMaintenanceInitiatedNotStarted(secret *corev1.Secret) bool
3332
IsMaintenanceStarted(secret *corev1.Secret) bool
3433
IsMaintenanceDone(secret *corev1.Secret) bool
3534
}

images/virtualization-artifact/pkg/controller/service/dvcr_service.go

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ func NewDVCRService(client client.Client) *DVCRService {
4141

4242
const (
4343
moduleNamespace = "d8-virtualization"
44-
dvcrDeploymentName = "dvcr"
4544
maintenanceModeSecretName = "dvcr-maintenance"
4645
)
4746

@@ -65,18 +64,6 @@ func (d *DVCRService) IsMaintenanceSecretExist(ctx context.Context) (bool, error
6564
return secret != nil, err
6665
}
6766

68-
// IsMaintenanceInitiatedNotStarted returns true if secret exists but
69-
// cleanup is not done yet.
70-
// Use it to postpone switch deployment to maintenance until all write operations are finished.
71-
func (d *DVCRService) IsMaintenanceInitiatedNotStarted(secret *corev1.Secret) bool {
72-
if secret == nil {
73-
return false
74-
}
75-
_, switched := secret.GetAnnotations()[annotations.AnnDVCRDeploymentSwitchToMaintenanceMode]
76-
_, done := secret.GetAnnotations()[annotations.AnnDVCRGarbageCollectionDone]
77-
return !switched && !done
78-
}
79-
8067
// IsMaintenanceStarted returns true if switch to maintenance mode is on.
8168
// Use it to determine "wait" state.
8269
func (d *DVCRService) IsMaintenanceStarted(secret *corev1.Secret) bool {

0 commit comments

Comments
 (0)