You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@yunikorn.apache.org by "zhuqi-lucas (via GitHub)" <gi...@apache.org> on 2023/04/26 13:42:32 UTC

[GitHub] [yunikorn-k8shim] zhuqi-lucas commented on a diff in pull request #579: [YUNIKORN-1707] Ignore pods in non-labeled namespaces

zhuqi-lucas commented on code in PR #579:
URL: https://github.com/apache/yunikorn-k8shim/pull/579#discussion_r1177902309


##########
pkg/common/utils/utils.go:
##########
@@ -109,6 +109,16 @@ func GetQueueNameFromPod(pod *v1.Pod) string {
 }
 
 func GetApplicationIDFromPod(pod *v1.Pod) (string, error) {
+	// if pod was tagged with ignore-application, return
+	if value := GetPodAnnotationValue(pod, constants.AnnotationIgnoreApplication); value != "" {
+		ignore, err := strconv.ParseBool(value)
+		if err != nil {
+			log.Logger().Warn("Failed to parse annotation "+constants.AnnotationIgnoreApplication, zap.Error(err))
+		} else if ignore {
+			return "", nil
+		}
+	}
+

Review Comment:
   Good suggestion,  and GeneralPodFilter is ahead of GetApplicationIDFromPod.
   
   // filter pods by scheduler name and state
   func (os *Manager) filterPods(obj interface{}) bool {
   	switch obj.(type) {
   	case *v1.Pod:
   		pod := obj.(*v1.Pod)
   		if utils.GeneralPodFilter(pod) {
   			// only application ID is required
   			if _, err := utils.GetApplicationIDFromPod(pod); err == nil {
   				return true
   			}
   		}
   		return false
   	default:
   		return false
   	}
   }



-- 
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: reviews-unsubscribe@yunikorn.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org