]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/tasks/kubeadm: modify (do not clobber) daemon.json 43172/head
authorSage Weil <sage@newdream.net>
Wed, 15 Sep 2021 15:53:32 +0000 (10:53 -0500)
committerSage Weil <sage@newdream.net>
Wed, 15 Sep 2021 20:16:50 +0000 (15:16 -0500)
Otherwise we blow away the mirror config.

Signed-off-by: Sage Weil <sage@newdream.net>
qa/tasks/kubeadm.py

index 1a17beae062ea02e2e259dc9aa51e8334d7cf7e4..b212d06d8f0b90690731b99837823a7ad1a9c85f 100644 (file)
@@ -4,6 +4,7 @@ Kubernetes cluster task, deployed via kubeadm
 import argparse
 import contextlib
 import ipaddress
+import json
 import logging
 import random
 import yaml
@@ -58,18 +59,18 @@ def preflight(ctx, config):
     # set docker cgroup driver = systemd
     #  see https://kubernetes.io/docs/setup/production-environment/container-runtimes/#docker
     #  see https://github.com/kubernetes/kubeadm/issues/2066
-    daemon_json = """
-{
-  "exec-opts": ["native.cgroupdriver=systemd"],
-  "log-driver": "json-file",
-  "log-opts": {
-    "max-size": "100m"
-  },
-  "storage-driver": "overlay2"
-}
-"""
     for remote in ctx.cluster.remotes.keys():
-        remote.write_file('/etc/docker/daemon.json', daemon_json, sudo=True)
+        try:
+            orig = remote.read_file('/etc/docker/daemon.json', sudo=True)
+            j = json.loads(orig)
+        except Exception as e:
+            log.info(f'Failed to pull old daemon.json: {e}')
+            j = {}
+        j["exec-opts"] = ["native.cgroupdriver=systemd"]
+        j["log-driver"] = "json-file"
+        j["log-opts"] = {"max-size": "100m"}
+        j["storage-driver"] = "overlay2"
+        remote.write_file('/etc/docker/daemon.json', json.dumps(j), sudo=True)
     run.wait(
         ctx.cluster.run(
             args=[