Comment 8 for bug 1895598

Revision history for this message
Kenneth Koski (knkski) wrote :

I believe I've tracked this down to Juju's ordering of items in the ConfigMap that it mounts into the workload pod as files. As an example, here's snippets from two different calls that Juju does periodically to keep the Deployment in sync with what's been defined in the pod spec:

Snippet #1:
"configMap": {
    "name": "pipelines-api-samples-config",
    "items": [
        {
            "key": "parallel_join.yaml",
            "path": "parallel_join.yaml"
        }, {
            "key": "sequential.yaml",
            "path": "sequential.yaml"
        }, {
            "key": "xgboost_training_cm.yaml",
            "path": "xgboost_training_cm.yaml"
        }, {
            "key": "condition.yaml",
            "path": "condition.yaml"
        }, {
            "key": "exit_handler.yaml",
            "path": "exit_handler.yaml"
        }
    ],
    "defaultMode": 420
}

Snippet #2:
"configMap": {
    "name": "pipelines-api-samples-config",
    "items": [
        {
            "key": "sequential.yaml",
            "path": "sequential.yaml"
        }, {
            "key": "xgboost_training_cm.yaml",
            "path": "xgboost_training_cm.yaml"
        }, {
            "key": "condition.yaml",
            "path": "condition.yaml"
        }, {
            "key": "exit_handler.yaml",
            "path": "exit_handler.yaml"
        }, {
            "key": "parallel_join.yaml",
            "path": "parallel_join.yaml"
        }
    ],
    "defaultMode": 420
}

Notice how `parallel_join.yaml` has changed positions, which makes Kubernetes think the Deployment needs updating.