squakez commented on issue #5752:
URL: https://github.com/apache/camel-k/issues/5752#issuecomment-2302062720

   I think what the server side apply patch does is something like 
`--server-side --force-conflicts --field-manager=camel-k-operator`.
   
   I think I managed to reproduce the same error also from CLI even without 
server side apply. Take a KnativeService as it comes from Camel K, and try to 
include the `ownerReferences`:
   ```
     ownerReferences:
     - apiVersion: camel.apache.org/v1
       blockOwnerDeletion: true
       controller: true
       kind: Integration
       name: platform-http-server
       uid: 54329db5-d01c-436e-960d-fc52026899f9
     # - apiVersion: v1
     #   blockOwnerDeletion: true
     #   controller: true
     #   kind: ConfigMap
     #   name: my-profile
     #   uid: 2d3b37d8-afca-4fcf-b8d1-d716c4119bcb
   ```
   Removing them or setting a ConfigMap would create the KSVC normally. 
However, when using an Integration resource as reference, it fails with the 
following webhook log:
   ```
   knative-serving webhook-5fdbb849fc-5pj4f webhook 
{"severity":"ERROR","timestamp":"2024-08-21T13:17:21.99502267Z","logger":"webhook","caller":"validation/validation_admit.go:183","message":"Failed
 the resource specific 
validation","commit":"f1bd929","knative.dev/pod":"webhook-5fdbb849fc-5pj4f","knative.dev/kind":"serving.knative.dev/v1,
 
Kind=Service","knative.dev/namespace":"default","knative.dev/name":"platform-http-server","knative.dev/operation":"CREATE","knative.dev/resource":"serving.knative.dev/v1,
 
Resource=services","knative.dev/subresource":"","knative.dev/userinfo":"system:serviceaccount:camel-k:camel-k-operator","stacktrace":"knative.dev/pkg/webhook/resourcesemantics/validation.validate\n\tknative.dev/pkg@v0.0.0-20231023151236-29775d7c9e5c/webhook/resourcesemantics/validation/validation_admit.go:183\nknative.dev/pkg/webhook/resourcesemantics/validation.(*reconciler).Admit\n\tknative.dev/pkg@v0.0.0-20231023151236-29775d7c9e5c/webhook/resourcesemantics/validation/validation
 
_admit.go:79\nknative.dev/pkg/webhook.New.admissionHandler.func4\n\tknative.dev/pkg@v0.0.0-20231023151236-29775d7c9e5c/webhook/admission.go:123\nnet/http.HandlerFunc.ServeHTTP\n\tnet/http/server.go:2136\nnet/http.(*ServeMux).ServeHTTP\n\tnet/http/server.go:2514\nknative.dev/pkg/webhook.(*Webhook).ServeHTTP\n\tknative.dev/pkg@v0.0.0-20231023151236-29775d7c9e5c/webhook/webhook.go:328\nknative.dev/pkg/network/handlers.(*Drainer).ServeHTTP\n\tknative.dev/pkg@v0.0.0-20231023151236-29775d7c9e5c/network/handlers/drain.go:113\nnet/http.serverHandler.ServeHTTP\n\tnet/http/server.go:2938\nnet/http.(*conn).serve\n\tnet/http/server.go:2009"}
   knative-serving webhook-5fdbb849fc-5pj4f webhook 
{"severity":"INFO","timestamp":"2024-08-21T13:17:21.995083472Z","logger":"webhook","caller":"webhook/admission.go:151","message":"remote
 admission controller audit 
annotations=map[string]string(nil)","commit":"f1bd929","knative.dev/pod":"webhook-5fdbb849fc-5pj4f","knative.dev/kind":"serving.knative.dev/v1,
 
Kind=Service","knative.dev/namespace":"default","knative.dev/name":"platform-http-server","knative.dev/operation":"CREATE","knative.dev/resource":"serving.knative.dev/v1,
 
Resource=services","knative.dev/subresource":"","knative.dev/userinfo":"system:serviceaccount:camel-k:camel-k-operator","admissionreview/uid":"6bccda2d-73a6-461d-9c15-ffefe2d1e798","admissionreview/allowed":false,"admissionreview/result":"&Status{ListMeta:ListMeta{SelfLink:,ResourceVersion:,Continue:,RemainingItemCount:nil,},Status:Failure,Message:validation
 failed: expected exactly one, got neither: 
spec.template.spec.volumes[2].configMap, spec.template.spec.vol
 umes[2].emptyDir, spec.template.spec.volumes[2].projected, 
spec.template.spec.volumes[2].secret,Reason:BadRequest,Details:nil,Code:400,}"}
   ```
   They are exactly the same traces coming when running an Integration from 
Camel K. I honestly have no clue why this is happening when using an 
Integration and only on server side apply from the operator. I have a vague 
feeling it could be the service account which is running the Integration, 
because, as you can see in the log trace, it is mentioned. Not sure if or why 
the object reference SA is used by the webhook, but maybe it's a useful hint 
for Knative team.


-- 
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-unsubscr...@camel.apache.org

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

Reply via email to