Duncan-tree-zhou commented on code in PR #66:
URL: https://github.com/apache/skywalking-swck/pull/66#discussion_r905245330


##########
operator/pkg/operator/injector/webhook.go:
##########
@@ -63,11 +68,35 @@ func (r *JavaagentInjector) Handle(ctx context.Context, req 
admission.Request) a
        // initialize SidecarInjectField and get injected strategy from 
annotations
        s := NewSidecarInjectField()
        // initialize InjectProcess as a call chain
-       ip := NewInjectProcess(ctx, s, anno, ao, pod, req, 
javaagentInjectorLog, r.Client)
+       ip := NewInjectProcess(ctx, s, anno, ao, swAgentL, pod, req, 
javaagentInjectorLog, r.Client)
        // do real injection
        return ip.Run()
 }
 
+func (r *JavaagentInjector) findMatchedSwAgentL(ctx context.Context, req 
admission.Request, pod *corev1.Pod) *v1alpha1.SwAgentList {
+       swAgentList := &v1alpha1.SwAgentList{}
+       if err := r.Client.List(ctx, swAgentList, 
client.InNamespace(req.Namespace)); err != nil {
+               javaagentInjectorLog.Error(err, "get SwAgent error")
+       }
+
+       // selector
+       var availableSwAgentL []v1alpha1.SwAgent
+       for _, swAgent := range swAgentList.Items {
+               isMatch := true
+               if len(swAgent.Spec.Selector) != 0 {
+                       for k, v := range swAgent.Spec.Selector {
+                               if !strings.EqualFold(v, pod.Labels[k]) {
+                                       isMatch = false
+                               }
+                       }
+               }
+               if isMatch {
+                       availableSwAgentL = append(availableSwAgentL, swAgent)
+               }
+       }
+       return swAgentList

Review Comment:
   Yes acually it's a bug here, `swAgentList.Items = availableSwAgentL` should 
be there in line 96-97.
   One pod matching one SwAgent is good for me, i will apply the change on 
Sunday, because i am busy in preparing an exam on Saturday.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to