lfabriko commented on PR #5115: URL: https://github.com/apache/camel-k/pull/5115#issuecomment-1914277833
I think it tries to compute digest of configmap from memory address: (digest.go) ``` // Configmap and secret content for _, cm := range configmaps { //DEBUG if cm != nil { log.Infof(fmt.Sprintf("LFAB3 configmap cm.String: %s", cm.String())) } else { log.Infof(fmt.Sprintf("LFAB3 cm is nil")) } //END OF DEBUG if _, err := hash.Write([]byte(cm.String())); err != nil { return "", err } } ``` I observed (in build_kit.go) before cm.yaml configmap is loaded, `secrets, configmaps := getIntegrationSecretsAndConfigmaps(ctx, action.client, integration)` returns `[nil]` as `configmaps` (it doesn't change digest). When the cm is loaded, `digest.ComputeForIntegration` computes hash from whole configmap object via cm.String(), it seems to me it takes also the memory address, which keeps changing, so next step in build_kit.go `if hash != integration.Status.Digest {` is always different. After adding debugging notes: ``` {"level":"info","ts":"2024-01-29T09:12:00Z","logger":"camel-k","msg":"LFAB3 cm is nil"} ... {"level":"info","ts":"2024-01-29T09:13:00Z","logger":"camel-k","msg":"LFAB3 configmap cm.String: &ConfigMap{ObjectMeta:{myconfigmap lfabriko 6c693d68-2f0c-46b8-a5b3-a75cb5219211 60808454 0 2024-01-29 09:12:42 +0000 UTC <nil> <nil> map[] map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"v1\",\"data\":{\"bar\":\"2\",\"foo\":\"1\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"name\":\"myconfigmap\",\"namespace\":\"lfabriko\",\"ownerReferences\":[{\"apiVersion\":\"camel.apache.org/v1\",\"blockOwnerDeletion\":true,\"controller\":true,\"kind\":\"Integration\",\"name\":\"myintegration\",\"uid\":\"48e97e9e-6eb8-4cb2-9f9b-736521f16ee8\"}]}}\n] [{camel.apache.org/v1 Integration myintegration 48e97e9e-6eb8-4cb2-9f9b-736521f16ee8 0xc0012acd2d 0xc0012acd2e}] [] [{kubectl-client-side-apply Update v1 2024-01-29 09:12:42 +0000 UTC FieldsV1 {\"f:data\":{\".\":{},\"f:bar\":{},\"f:foo\":{}},\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last -applied-configuration\":{}},\"f:ownerReferences\":{\".\":{},\"k:{\\\"uid\\\":\\\"48e97e9e-6eb8-4cb2-9f9b-736521f16ee8\\\"}\":{}}}} }]},Data:map[string]string{bar: 2,foo: 1,},BinaryData:map[string][]byte{},Immutable:nil,}"} {"level":"info","ts":"2024-01-29T09:13:00Z","logger":"camel-k","msg":"LFAB3 digest vEQhvrHzidhCwTIGgGASlVTKlaW9-pFHuV08xkGVQxsQ"} {"level":"info","ts":"2024-01-29T09:13:00Z","logger":"camel-k","msg":"LFAB3 configmap cm.String: &ConfigMap{ObjectMeta:{myconfigmap lfabriko 6c693d68-2f0c-46b8-a5b3-a75cb5219211 60808454 0 2024-01-29 09:12:42 +0000 UTC <nil> <nil> map[] map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"v1\",\"data\":{\"bar\":\"2\",\"foo\":\"1\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"name\":\"myconfigmap\",\"namespace\":\"lfabriko\",\"ownerReferences\":[{\"apiVersion\":\"camel.apache.org/v1\",\"blockOwnerDeletion\":true,\"controller\":true,\"kind\":\"Integration\",\"name\":\"myintegration\",\"uid\":\"48e97e9e-6eb8-4cb2-9f9b-736521f16ee8\"}]}}\n] [{camel.apache.org/v1 Integration myintegration 48e97e9e-6eb8-4cb2-9f9b-736521f16ee8 0xc0012ace07 0xc0012ace08}] [] [{kubectl-client-side-apply Update v1 2024-01-29 09:12:42 +0000 UTC FieldsV1 {\"f:data\":{\".\":{},\"f:bar\":{},\"f:foo\":{}},\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last -applied-configuration\":{}},\"f:ownerReferences\":{\".\":{},\"k:{\\\"uid\\\":\\\"48e97e9e-6eb8-4cb2-9f9b-736521f16ee8\\\"}\":{}}}} }]},Data:map[string]string{bar: 2,foo: 1,},BinaryData:map[string][]byte{},Immutable:nil,}"} {"level":"info","ts":"2024-01-29T09:13:00Z","logger":"camel-k","msg":"LFAB3 digest vra0Ihy7JAv6YXdpCCbcno8lWWM7MP6ud38zXLdW-0J0"} {"level":"info","ts":"2024-01-29T09:13:00Z","logger":"camel-k","msg":"LFAB3 configmap cm.String: &ConfigMap{ObjectMeta:{myconfigmap lfabriko 6c693d68-2f0c-46b8-a5b3-a75cb5219211 60808454 0 2024-01-29 09:12:42 +0000 UTC <nil> <nil> map[] map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"v1\",\"data\":{\"bar\":\"2\",\"foo\":\"1\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"name\":\"myconfigmap\",\"namespace\":\"lfabriko\",\"ownerReferences\":[{\"apiVersion\":\"camel.apache.org/v1\",\"blockOwnerDeletion\":true,\"controller\":true,\"kind\":\"Integration\",\"name\":\"myintegration\",\"uid\":\"48e97e9e-6eb8-4cb2-9f9b-736521f16ee8\"}]}}\n] [{camel.apache.org/v1 Integration myintegration 48e97e9e-6eb8-4cb2-9f9b-736521f16ee8 0xc001ca42e0 0xc001ca42e1}] [] [{kubectl-client-side-apply Update v1 2024-01-29 09:12:42 +0000 UTC FieldsV1 {\"f:data\":{\".\":{},\"f:bar\":{},\"f:foo\":{}},\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last -applied-configuration\":{}},\"f:ownerReferences\":{\".\":{},\"k:{\\\"uid\\\":\\\"48e97e9e-6eb8-4cb2-9f9b-736521f16ee8\\\"}\":{}}}} }]},Data:map[string]string{bar: 2,foo: 1,},BinaryData:map[string][]byte{},Immutable:nil,}"} {"level":"info","ts":"2024-01-29T09:13:00Z","logger":"camel-k","msg":"LFAB3 digest vzFRVYBlBtbp_8dPiB9Zx5A9gLj33R8YGOZV9xHTbCkI"} ``` I tried it against both 5115 and config_reload_test.go. -- 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