It looks as though running `pulumi up` more than o...
# kubernetes
m
It looks as though running
pulumi up
more than once with
k8s.yaml.ConfigFile
is attempting to delete and recreate resources.
b
This is working-as-expected if you're reusing config map names and not letting Pulumi generate it.
m
@brave-ambulance-98491 thanks for this! So is the solution here setting the
replaceOnChanges
option to false? I just want the resources to update, not replace since attempting to delete the resource seems to be causing the issue.
But not sure if this is the cause actually since I didn’t change anything - just doing
pulumi up
twice in a row basically without any changes to underlying yaml file
b
This sounds like multiple problems, and might be a problem with the remote file; it could be a caching issue. Can you try downloading a local copy instead, and seeing if that doesn't trigger an update?
m
So this error happens only intermittently - but so far, downloading it locally doesn’t seem to cause this error
Is there a way for me to confirm more definitively if locally downloading it is indeed not causing this error?
Oh hmm - ok so I might actually be changing something when I rerun this. The flow is 1) Knative Operator install sets up some default ConfigMaps and 2) I’m setting some config values using this Operator which alters these default ConfigMaps. So when I run the flow again, I guess Knative Operator is trying to rerun the default ConfigMaps which triggers an update - or rather a replacement?
Still not sure what this error means or how to resolve it?
Why does updating ConfigMaps cause this
Circular
error?
b
So, I can't speak as much to that; mostly, the attempt to delete & recreate is what I was speaking to. I could see updating a configmap in-place triggering extra deletes & recreates, if change detection is buggy. You should try using dynamic names of the configmaps, if that's possible, which might help this part.
m
I don’t think I can change the dynamic names since that might break the default Operator behavior
Maybe I could use
replaceOnchanges: ['*']
and just replace the whole thing on reruns