Skip to content

Commit 43e2186

Browse files
committed
Increase code coverage
Signed-off-by: clyang82 <[email protected]>
1 parent a4fb4e5 commit 43e2186

File tree

4 files changed

+36
-31
lines changed

4 files changed

+36
-31
lines changed

agent/pkg/status/controller/managedclusters/managed_cluster_info_syncer.go

+13-11
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,23 @@ func (r *ManagedClusterInfoCtrl) Reconcile(ctx context.Context, req ctrl.Request
4242

4343
k8sCluster := GetK8SCluster(clusterInfo, r.clientCN)
4444

45+
annotations := clusterInfo.GetAnnotations()
46+
if annotations != nil {
47+
if _, ok := annotations[constants.InventoryResourceCreatingAnnotationlKey]; ok {
48+
if resp, err := r.requester.GetHttpClient().K8sClusterService.CreateK8SCluster(ctx,
49+
&kessel.CreateK8SClusterRequest{K8SCluster: k8sCluster}); err != nil {
50+
return ctrl.Result{}, fmt.Errorf("failed to create k8sCluster %v: %w", resp, err)
51+
}
52+
}
53+
}
54+
4555
if clusterInfo.DeletionTimestamp.IsZero() {
4656
// add a finalizer to the managedclusterinfo object
4757
if !controllerutil.ContainsFinalizer(clusterInfo, constants.InventoryResourceFinalizer) {
4858
controllerutil.AddFinalizer(clusterInfo, constants.InventoryResourceFinalizer)
49-
return ctrl.Result{}, r.runtimeClient.Update(ctx, clusterInfo)
59+
if err := r.runtimeClient.Update(ctx, clusterInfo); err != nil {
60+
return ctrl.Result{}, err
61+
}
5062
}
5163
} else {
5264
// The managedclusterinfo object is being deleted
@@ -64,16 +76,6 @@ func (r *ManagedClusterInfoCtrl) Reconcile(ctx context.Context, req ctrl.Request
6476
return ctrl.Result{}, nil
6577
}
6678

67-
annotations := clusterInfo.GetAnnotations()
68-
if annotations != nil {
69-
if _, ok := annotations[constants.InventoryResourceCreatingAnnotationlKey]; ok {
70-
if resp, err := r.requester.GetHttpClient().K8sClusterService.CreateK8SCluster(ctx,
71-
&kessel.CreateK8SClusterRequest{K8SCluster: k8sCluster}); err != nil {
72-
return ctrl.Result{}, fmt.Errorf("failed to create k8sCluster %v: %w", resp, err)
73-
}
74-
}
75-
}
76-
7779
if resp, err := r.requester.GetHttpClient().K8sClusterService.UpdateK8SCluster(ctx,
7880
&kessel.UpdateK8SClusterRequest{K8SCluster: k8sCluster}); err != nil {
7981
return ctrl.Result{}, fmt.Errorf("failed to update k8sCluster %v: %w", resp, err)

agent/pkg/status/controller/managedclusters/managed_cluster_info_syncer_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ func TestManagedClusterInfoCtrlReconcile(t *testing.T) {
6969
Namespace: "default",
7070
CreationTimestamp: creatingTime,
7171
DeletionTimestamp: &deletintTime,
72-
Finalizers: []string{"test"},
72+
Finalizers: []string{constants.InventoryResourceFinalizer},
7373
},
7474
},
7575
expectedResult: reconcile.Result{},

agent/pkg/status/controller/policies/policy_controller.go

+21-18
Original file line numberDiff line numberDiff line change
@@ -36,29 +36,29 @@ func AddPolicyController(mgr ctrl.Manager, inventoryRequester transport.Requeste
3636
policyPredicate := predicate.Funcs{
3737
UpdateFunc: func(e event.UpdateEvent) bool {
3838
// do not trigger the delete event for the replicated policies
39-
if _, exist := e.ObjectOld.GetAnnotations()[constants.PolicyEventRootPolicyNameLabelKey]; exist {
39+
if _, exist := e.ObjectOld.GetLabels()[constants.PolicyEventRootPolicyNameLabelKey]; exist {
4040
return false
4141
}
4242
return e.ObjectOld.GetResourceVersion() < e.ObjectNew.GetResourceVersion()
4343
},
4444
CreateFunc: func(e event.CreateEvent) bool {
45+
// do not trigger the create event for the replicated policies
46+
if _, exist := e.Object.GetLabels()[constants.PolicyEventRootPolicyNameLabelKey]; exist {
47+
return false
48+
}
4549
// add the annotation to indicate the request is a create request
4650
// the annotation won't propagate to the etcd
4751
annotations := e.Object.GetAnnotations()
4852
if annotations == nil {
4953
annotations = map[string]string{}
5054
}
51-
// do not trigger the create event for the replicated policies
52-
if _, exist := annotations[constants.PolicyEventRootPolicyNameLabelKey]; exist {
53-
return false
54-
}
5555
annotations[constants.InventoryResourceCreatingAnnotationlKey] = ""
5656
e.Object.SetAnnotations(annotations)
5757
return true
5858
},
5959
DeleteFunc: func(e event.DeleteEvent) bool {
6060
// do not trigger the delete event for the replicated policies
61-
if _, exist := e.Object.GetAnnotations()[constants.PolicyEventRootPolicyNameLabelKey]; exist {
61+
if _, exist := e.Object.GetLabels()[constants.PolicyEventRootPolicyNameLabelKey]; exist {
6262
return false
6363
}
6464
return !e.DeleteStateUnknown
@@ -84,11 +84,23 @@ func (p *PolicyController) Reconcile(ctx context.Context, req ctrl.Request) (ctr
8484
}
8585
return ctrl.Result{}, err
8686
}
87+
annotations := policy.GetAnnotations()
88+
if annotations != nil {
89+
if _, ok := annotations[constants.InventoryResourceCreatingAnnotationlKey]; ok {
90+
if resp, err := p.requester.GetHttpClient().PolicyServiceClient.CreateK8SPolicy(
91+
ctx, createK8SClusterPolicy(*policy, p.reporterInstanceId)); err != nil {
92+
return ctrl.Result{}, fmt.Errorf("failed to create k8s-policy %v: %w", resp, err)
93+
}
94+
}
95+
}
96+
8797
if policy.DeletionTimestamp.IsZero() {
8898
// add a finalizer to the policy object
8999
if !controllerutil.ContainsFinalizer(policy, constants.InventoryResourceFinalizer) {
90100
controllerutil.AddFinalizer(policy, constants.InventoryResourceFinalizer)
91-
return ctrl.Result{}, p.runtimeClient.Update(ctx, policy)
101+
if err := p.runtimeClient.Update(ctx, policy); err != nil {
102+
return ctrl.Result{}, err
103+
}
92104
}
93105
} else {
94106
// The policy object is being deleted
@@ -114,15 +126,6 @@ func (p *PolicyController) Reconcile(ctx context.Context, req ctrl.Request) (ctr
114126
return ctrl.Result{}, nil
115127
}
116128

117-
annotations := policy.GetAnnotations()
118-
if annotations != nil {
119-
if _, ok := annotations[constants.InventoryResourceCreatingAnnotationlKey]; ok {
120-
if resp, err := p.requester.GetHttpClient().PolicyServiceClient.CreateK8SPolicy(
121-
ctx, createK8SClusterPolicy(*policy, p.reporterInstanceId)); err != nil {
122-
return ctrl.Result{}, fmt.Errorf("failed to create k8s-policy %v: %w", resp, err)
123-
}
124-
}
125-
}
126129
if resp, err := p.requester.GetHttpClient().PolicyServiceClient.UpdateK8SPolicy(
127130
ctx, updateK8SClusterPolicy(*policy, p.reporterInstanceId)); err != nil {
128131
return ctrl.Result{}, fmt.Errorf("failed to update k8s-policy %v: %w", resp, err)
@@ -145,9 +148,9 @@ func updateK8SPolicyIsPropagatedToK8SCluster(subjectId, objectId, status, report
145148
var relationStatus kesselv1betarelations.K8SPolicyIsPropagatedToK8SClusterDetail_Status
146149
switch status {
147150
case "NonCompliant":
148-
relationStatus = kesselv1betarelations.K8SPolicyIsPropagatedToK8SClusterDetail_NO_VIOLATIONS
149-
case "Compliant":
150151
relationStatus = kesselv1betarelations.K8SPolicyIsPropagatedToK8SClusterDetail_VIOLATIONS
152+
case "Compliant":
153+
relationStatus = kesselv1betarelations.K8SPolicyIsPropagatedToK8SClusterDetail_NO_VIOLATIONS
151154
default:
152155
relationStatus = kesselv1betarelations.K8SPolicyIsPropagatedToK8SClusterDetail_STATUS_OTHER
153156
}

agent/pkg/status/controller/policies/policy_controller_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ func TestPolicyControllerReconcile(t *testing.T) {
8282
Name: "test-policy",
8383
Namespace: "default",
8484
DeletionTimestamp: &deletintTime,
85-
Finalizers: []string{"test"},
85+
Finalizers: []string{constants.InventoryResourceFinalizer},
8686
},
8787
},
8888
expectedResult: reconcile.Result{},

0 commit comments

Comments
 (0)