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

Reply via email to