Expected Behavior
The feast-init container command stays the same across reconciles when the FeatureStore spec has not changed.
Current Behavior
setInitContainer builds the git -c flags by ranging over feastProjectDir.git.configs, which is a map, so with two or more entries the flag order changes between reconciles. The operator then sees a different pod template, updates the Deployment and restarts the pods (default strategy Recreate) with nothing changed in the CR.
Steps to reproduce
Use feastProjectDir.git with two or more configs, for example http.sslVerify next to the insteadOf entry from config/samples/v1_featurestore_git_token.yaml. Calling setInitContainer 50 times on the same CR with three configs gave three different commands.
Specifications
- Version: master (bc5aeef)
- Platform: Kubernetes
- Subsystem: feast-operator
Possible Solution
I'll open a PR for this.
Expected Behavior
The
feast-initcontainer command stays the same across reconciles when the FeatureStore spec has not changed.Current Behavior
setInitContainerbuilds thegit -cflags by ranging overfeastProjectDir.git.configs, which is a map, so with two or more entries the flag order changes between reconciles. The operator then sees a different pod template, updates the Deployment and restarts the pods (default strategyRecreate) with nothing changed in the CR.Steps to reproduce
Use
feastProjectDir.gitwith two or moreconfigs, for examplehttp.sslVerifynext to theinsteadOfentry fromconfig/samples/v1_featurestore_git_token.yaml. CallingsetInitContainer50 times on the same CR with three configs gave three different commands.Specifications
Possible Solution
I'll open a PR for this.