You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by "lsergio (via GitHub)" <gi...@apache.org> on 2023/12/05 16:43:12 UTC

[PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

lsergio opened a new pull request, #4968:
URL: https://github.com/apache/camel-k/pull/4968

   <!-- Description -->
   This is PR is to support specifying node selectors for the builder pods by adding a nodeSelector parameter to the Builder Trait and Build custom resources.
   
   This my first attempt to submit a PR to the camel-k code base, so there's a high chance I'm missing something.
   
   <!--
   Enter your extended release note in the below block. If the PR requires
   additional action from users switching to the new release, include the string
   "action required". If no release note is required, write "NONE". 
   
   You can (optionally) mark this PR with labels "kind/bug" or "kind/feature" to make sure
   the text is added to the right section of the release notes. 
   -->
   
   **Release Note**
   ```release-note
   feature: support for nodeSelector on Integration Builder Traits
   ```
   


-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "lsergio (via GitHub)" <gi...@apache.org>.
lsergio commented on PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#issuecomment-1845551541

   After my latest changes, I tested the code applying this CR to my cluster:
   ```
   apiVersion: camel.apache.org/v1
   kind: Integration
   metadata:
     name: test
   spec:
     sources:
     - name: main.groovy
       content: |-
         rest("/test-mode")
             .post()
             .to("direct:start")
   
         from("direct:start").to("log:info")
     traits:
       quarkus:
         buildMode:
         - "native"
       builder:
         nodeSelector:
           size: large
   ```
   and this is the builder pod:
   ```
   apiVersion: v1
   kind: Pod
   metadata:
     creationTimestamp: "2023-12-07T15:23:06Z"
     labels:
       camel.apache.org/build: kit-clou6miqjnf7ksc5tj6g
       camel.apache.org/component: builder
       camel.apache.org/created.by.kind: Integration
       camel.apache.org/created.by.name: test
       camel.apache.org/created.by.namespace: sensedia
       camel.apache.org/created.by.version: "1028014"
     name: camel-k-kit-clou6miqjnf7ksc5tj6g-builder
     namespace: sensedia
     ownerReferences:
     - apiVersion: camel.apache.org/v1
       blockOwnerDeletion: true
       controller: true
       kind: Build
       name: kit-clou6miqjnf7ksc5tj6g
       uid: 1f7dfb6c-48c4-492b-ab9e-2dbb1408d44e
     resourceVersion: "1028038"
     uid: 45b52b58-671f-4247-9f92-89d553e7a5ff
   spec:
     containers:
     - command:
       - kamel
       - builder
       - --namespace
       - sensedia
       - --build-name
       - kit-clou6miqjnf7ksc5tj6g
       - --task-name
       - spectrum
       env:
       - name: HOME
         value: /builder/kit-clou6miqjnf7ksc5tj6g
       image: docker.io/apache/camel-k:2.2.0-SNAPSHOT
       imagePullPolicy: IfNotPresent
       name: spectrum
       resources: {}
       terminationMessagePath: /dev/termination-log
       terminationMessagePolicy: File
       volumeMounts:
       - mountPath: /builder/kit-clou6miqjnf7ksc5tj6g
         name: camel-k-builder
       - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
         name: kube-api-access-dv2xz
         readOnly: true
       workingDir: /builder/kit-clou6miqjnf7ksc5tj6g
     dnsPolicy: ClusterFirst
     enableServiceLinks: true
     initContainers:
     - command:
       - kamel
       - builder
       - --namespace
       - sensedia
       - --build-name
       - kit-clou6miqjnf7ksc5tj6g
       - --task-name
       - builder
       env:
       - name: HOME
         value: /builder/kit-clou6miqjnf7ksc5tj6g
       image: docker.io/apache/camel-k:2.2.0-SNAPSHOT
       imagePullPolicy: IfNotPresent
       name: builder
       resources: {}
       terminationMessagePath: /dev/termination-log
       terminationMessagePolicy: File
       volumeMounts:
       - mountPath: /builder/kit-clou6miqjnf7ksc5tj6g
         name: camel-k-builder
       - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
         name: kube-api-access-dv2xz
         readOnly: true
       workingDir: /builder/kit-clou6miqjnf7ksc5tj6g
     - command:
       - /bin/bash
       - -c
       - cd maven && ./mvnw $(cat MAVEN_CONTEXT) package -Dquarkus.package.type=native
         -Dmaven.repo.local=./repo
       image: quay.io/quarkus/ubi-quarkus-mandrel-builder-image:23.0-jdk-17
       imagePullPolicy: IfNotPresent
       name: quarkus-native
       resources:
         requests:
           cpu: "1"
           memory: 4Gi
       terminationMessagePath: /dev/termination-log
       terminationMessagePolicy: File
       volumeMounts:
       - mountPath: /builder/kit-clou6miqjnf7ksc5tj6g
         name: camel-k-builder
       - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
         name: kube-api-access-dv2xz
         readOnly: true
       workingDir: /builder/kit-clou6miqjnf7ksc5tj6g
     - command:
       - kamel
       - builder
       - --namespace
       - sensedia
       - --build-name
       - kit-clou6miqjnf7ksc5tj6g
       - --task-name
       - package
       env:
       - name: HOME
         value: /builder/kit-clou6miqjnf7ksc5tj6g
       image: docker.io/apache/camel-k:2.2.0-SNAPSHOT
       imagePullPolicy: IfNotPresent
       name: package
       resources: {}
       terminationMessagePath: /dev/termination-log
       terminationMessagePolicy: File
       volumeMounts:
       - mountPath: /builder/kit-clou6miqjnf7ksc5tj6g
         name: camel-k-builder
       - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
         name: kube-api-access-dv2xz
         readOnly: true
       workingDir: /builder/kit-clou6miqjnf7ksc5tj6g
     nodeSelector:
       size: large
     preemptionPolicy: PreemptLowerPriority
     priority: 0
     restartPolicy: Never
     schedulerName: default-scheduler
     securityContext:
       fsGroup: 1001
       runAsGroup: 1001
       runAsUser: 1001
     serviceAccount: camel-k-builder
     serviceAccountName: camel-k-builder
     terminationGracePeriodSeconds: 30
     tolerations:
     - effect: NoExecute
       key: node.kubernetes.io/not-ready
       operator: Exists
       tolerationSeconds: 300
     - effect: NoExecute
       key: node.kubernetes.io/unreachable
       operator: Exists
       tolerationSeconds: 300
     volumes:
     - emptyDir: {}
       name: camel-k-builder
     - name: kube-api-access-dv2xz
       projected:
         defaultMode: 420
         sources:
         - serviceAccountToken:
             expirationSeconds: 3607
             path: token
         - configMap:
             items:
             - key: ca.crt
               path: ca.crt
             name: kube-root-ca.crt
         - downwardAPI:
             items:
             - fieldRef:
                 apiVersion: v1
                 fieldPath: metadata.namespace
               path: namespace
   status:
     conditions:
     - lastProbeTime: null
       lastTransitionTime: "2023-12-07T15:23:06Z"
       message: '0/3 nodes are available: 3 node(s) didn''t match Pod''s node affinity/selector.
         preemption: 0/3 nodes are available: 3 Preemption is not helpful for scheduling..'
       reason: Unschedulable
       status: "False"
       type: PodScheduled
     phase: Pending
     qosClass: Burstable
   
   ```
   The nodeSelector was generated as expected


-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#issuecomment-1841278374

   :camel: **Thank you for contributing!** :camel: 
   
     Unable to create **Coverage Report** :warning:. 
    Merge conflicts found.


-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "squakez (via GitHub)" <gi...@apache.org>.
squakez commented on PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#issuecomment-1841262050

   Cool stuff. Thanks for contributing. I'll give a deeper look on Thursday. In the while you need to run `make generate` to regen CRDs and trait documentation and it could be good to add some extra documentation to explain how the trait has to be specified with a simple example. You can add some code after this line https://github.com/apache/camel-k/blob/5aed911f5ec60a253b72ddf9110df99c97dd36ed/docs/modules/traits/pages/builder.adoc?plain=1#L103 and follow the example we provide for instance in other traits, ie, https://github.com/apache/camel-k/blob/5aed911f5ec60a253b72ddf9110df99c97dd36ed/docs/modules/traits/pages/pod.adoc?plain=1#L49
   
   Feel free to have a look to unit test as well. It would be good to cover a basic scenario, here a reference as well https://github.com/apache/camel-k/blob/5aed911f5ec60a253b72ddf9110df99c97dd36ed/pkg/trait/builder_test.go#L290
   
   I just saw the build failed because we have many pending PRs running simultaneously. @christophd or @claudio4j please, re-trigger the checks tomorrow when there is no high PR traffic.


-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "lsergio (via GitHub)" <gi...@apache.org>.
lsergio commented on PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#issuecomment-1845707674

   Thanks for the quck feedback, @squakez . This feature will be very helpful in our project.
   We'll test the 2.2 release as soon as it's  released.


-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "squakez (via GitHub)" <gi...@apache.org>.
squakez commented on code in PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#discussion_r1418522636


##########
docs/modules/traits/pages/builder.adoc:
##########
@@ -101,3 +101,19 @@ Syntax: [configmap\|secret]:name[/key], where name represents the resource name,
 |===
 
 // End of autogenerated code - DO NOT EDIT! (configuration)
+
+== Node Selectors
+
+With this trait you will also be able to define node selectors for the `builder`` pod when using the `pod`` build strategy.

Review Comment:
   ```suggestion
   With this trait you will also be able to define node selectors for the `builder` pod when using the `pod` build strategy.
   ```



##########
docs/modules/traits/pages/builder.adoc:
##########
@@ -101,3 +101,19 @@ Syntax: [configmap\|secret]:name[/key], where name represents the resource name,
 |===
 
 // End of autogenerated code - DO NOT EDIT! (configuration)
+
+== Node Selectors
+
+With this trait you will also be able to define node selectors for the `builder`` pod when using the `pod`` build strategy.
+Here is a simple example:
+
+.template.yaml

Review Comment:
   As traits are very handy with CLI, it would be good to add also the notation required by `kamel`. For example `kamel run xyz -t builder.nodeSelector...`.



##########
docs/modules/traits/pages/builder.adoc:
##########
@@ -101,3 +101,19 @@ Syntax: [configmap\|secret]:name[/key], where name represents the resource name,
 |===
 
 // End of autogenerated code - DO NOT EDIT! (configuration)
+
+== Node Selectors
+
+With this trait you will also be able to define node selectors for the `builder`` pod when using the `pod`` build strategy.
+Here is a simple example:
+
+.template.yaml
+[source,yaml]
+----
+  traits:
+    builder:
+      nodeSelector:
+        size: large
+----
+
+The `builder` pod will be created with a node selector that allows it to run only on nodes where the `size`` label is equal to `large`.`

Review Comment:
   ```suggestion
   The `builder` pod will be created with a node selector that allows it to run only on nodes where the `size` label is equal to `large`.
   ```



-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "lsergio (via GitHub)" <gi...@apache.org>.
lsergio commented on code in PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#discussion_r1419293642


##########
docs/modules/traits/pages/builder.adoc:
##########
@@ -98,6 +98,33 @@ Syntax: [configmap\|secret]:name[/key], where name represents the resource name,
 | []string
 | A list of limit memory configuration for the specific task with format `<task-name>:<limit-memory-conf>`.
 
+| builder.node-selector
+| map[string]string
+| Defines a set of nodes the builder pod is eligible to be scheduled on, based on labels on the node.
+
 |===
 
 // End of autogenerated code - DO NOT EDIT! (configuration)
+
+== Node Selectors
+
+With this trait you will also be able to define node selectors for the `builder` pod when using the `pod`` build strategy.
+Here is a simple example:
+
+.template.yaml
+[source,yaml]
+----
+  traits:
+    builder:
+      nodeSelector:
+        size: large
+----
+
+The `builder` pod will be created with a node selector that allows it to run only on nodes where the `size` label is equal to `large`.
+
+Node selectors can be specified when running an integration with the CLI:
+
+[source,console]
+----
+$ kamel run --trait builder.node-selector.size=large integration.groovy

Review Comment:
   I tested it exactly like this and it worked. I think quotes are not required as there are no spaces in the label.



-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "squakez (via GitHub)" <gi...@apache.org>.
squakez commented on code in PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#discussion_r1419262314


##########
docs/modules/traits/pages/builder.adoc:
##########
@@ -98,6 +98,33 @@ Syntax: [configmap\|secret]:name[/key], where name represents the resource name,
 | []string
 | A list of limit memory configuration for the specific task with format `<task-name>:<limit-memory-conf>`.
 
+| builder.node-selector
+| map[string]string
+| Defines a set of nodes the builder pod is eligible to be scheduled on, based on labels on the node.
+
 |===
 
 // End of autogenerated code - DO NOT EDIT! (configuration)
+
+== Node Selectors
+
+With this trait you will also be able to define node selectors for the `builder` pod when using the `pod`` build strategy.
+Here is a simple example:
+
+.template.yaml
+[source,yaml]
+----
+  traits:
+    builder:
+      nodeSelector:
+        size: large
+----
+
+The `builder` pod will be created with a node selector that allows it to run only on nodes where the `size` label is equal to `large`.
+
+Node selectors can be specified when running an integration with the CLI:
+
+[source,console]
+----
+$ kamel run --trait builder.node-selector.size=large integration.groovy

Review Comment:
   I think this is something like `builder.node-selector.'size'=large`, is it?



-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "lsergio (via GitHub)" <gi...@apache.org>.
lsergio commented on PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#issuecomment-1845583505

   @claudio4j In my test none of the nodes has the size=large label. As my Integration requests a native build, it spawned a new pod.
   With a regular jvm build, I changed my Integration platform build buildConfiguration strategy to pod and it spawned a builder pod as well.
   With routine strategy and jvm build, the nodeSelector configuration has no effect. 


-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "squakez (via GitHub)" <gi...@apache.org>.
squakez commented on code in PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#discussion_r1419298353


##########
docs/modules/traits/pages/builder.adoc:
##########
@@ -98,6 +98,33 @@ Syntax: [configmap\|secret]:name[/key], where name represents the resource name,
 | []string
 | A list of limit memory configuration for the specific task with format `<task-name>:<limit-memory-conf>`.
 
+| builder.node-selector
+| map[string]string
+| Defines a set of nodes the builder pod is eligible to be scheduled on, based on labels on the node.
+
 |===
 
 // End of autogenerated code - DO NOT EDIT! (configuration)
+
+== Node Selectors
+
+With this trait you will also be able to define node selectors for the `builder` pod when using the `pod`` build strategy.
+Here is a simple example:
+
+.template.yaml
+[source,yaml]
+----
+  traits:
+    builder:
+      nodeSelector:
+        size: large
+----
+
+The `builder` pod will be created with a node selector that allows it to run only on nodes where the `size` label is equal to `large`.
+
+Node selectors can be specified when running an integration with the CLI:
+
+[source,console]
+----
+$ kamel run --trait builder.node-selector.size=large integration.groovy

Review Comment:
   yeah, possibly in this case it works because "size" is a simple string. However, it may fail when using more complex annotations, so, better to be safe and keep the notation we're using for a map in the rest of the project.



-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "squakez (via GitHub)" <gi...@apache.org>.
squakez commented on PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#issuecomment-1845678493

   > I am using minikube with kvm2 driver, there is the standard single node, named "minikube". The build strategy is pod and this is the cli: `kamel run teste2.yaml -t builder.node-selector.teste=nul` I will have a look later why there is not a builder pod.
   
   Maybe it's because the notation from CLI has to be `builder.node-selector.'size'=large` - please, give it a try.


-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "claudio4j (via GitHub)" <gi...@apache.org>.
claudio4j commented on PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#issuecomment-1845640485

   I am using minikube with kvm2 driver, there is the standard single node, named "minikube". The build strategy is pod and this is the cli: `kamel run  teste2.yaml -t builder.node-selector.teste=nul`
   I will have a look later why there is not a builder pod.


-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "lsergio (via GitHub)" <gi...@apache.org>.
lsergio commented on code in PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#discussion_r1419293642


##########
docs/modules/traits/pages/builder.adoc:
##########
@@ -98,6 +98,33 @@ Syntax: [configmap\|secret]:name[/key], where name represents the resource name,
 | []string
 | A list of limit memory configuration for the specific task with format `<task-name>:<limit-memory-conf>`.
 
+| builder.node-selector
+| map[string]string
+| Defines a set of nodes the builder pod is eligible to be scheduled on, based on labels on the node.
+
 |===
 
 // End of autogenerated code - DO NOT EDIT! (configuration)
+
+== Node Selectors
+
+With this trait you will also be able to define node selectors for the `builder` pod when using the `pod`` build strategy.
+Here is a simple example:
+
+.template.yaml
+[source,yaml]
+----
+  traits:
+    builder:
+      nodeSelector:
+        size: large
+----
+
+The `builder` pod will be created with a node selector that allows it to run only on nodes where the `size` label is equal to `large`.
+
+Node selectors can be specified when running an integration with the CLI:
+
+[source,console]
+----
+$ kamel run --trait builder.node-selector.size=large integration.groovy

Review Comment:
   I tested it exactly like this and it worked. I think quotes are not required as there are spaces in the label.



-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "squakez (via GitHub)" <gi...@apache.org>.
squakez commented on PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#issuecomment-1845702098

   Many thanks for the contribution @lsergio !!


-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "lsergio (via GitHub)" <gi...@apache.org>.
lsergio commented on PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#issuecomment-1841335857

   I added the generated code from make generate. I'll try and work on unit tests and doc tomorrow. 


-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "squakez (via GitHub)" <gi...@apache.org>.
squakez merged PR #4968:
URL: https://github.com/apache/camel-k/pull/4968


-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "claudio4j (via GitHub)" <gi...@apache.org>.
claudio4j commented on code in PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#discussion_r1419009263


##########
pkg/apis/camel/v1/trait/builder.go:
##########
@@ -66,4 +66,6 @@ type BuilderTrait struct {
 	TasksLimitCPU []string `property:"tasks-limit-cpu" json:"tasksLimitCPU,omitempty"`
 	// A list of limit memory configuration for the specific task with format `<task-name>:<limit-memory-conf>`.
 	TasksLimitMemory []string `property:"tasks-limit-memory" json:"tasksLimitMemory,omitempty"`
+	// Defines a set of nodes the builder pod is eligible to be scheduled on, based on labels on the node.
+	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

Review Comment:
   It's missing the `property:"node-selector"`



-- 
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: commits-unsubscribe@camel.apache.org

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


Re: [PR] feat(#4958): Supporting node selectors for the builder pod [camel-k]

Posted by "claudio4j (via GitHub)" <gi...@apache.org>.
claudio4j commented on PR #4968:
URL: https://github.com/apache/camel-k/pull/4968#issuecomment-1845573459

   I tried to run with an integration with label that didn't exist on any node `-t builder.node-selector.test=null` and the build run in the camel-k-operator pod as is in `strategy: routine`, not in a camel-k-kit pod. 
   In name of simplicity I am happy to have this feature as it is, but it would be good to add to the builder trait doc that if the nodeSelector label it not set in any node, then the build will run in the camel-k-operator pod.


-- 
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: commits-unsubscribe@camel.apache.org

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