summaryrefslogtreecommitdiff
path: root/debian/patches/cpick-c9c9197-mounts-use-mount-a-again-to-accomplish-mounts
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/cpick-c9c9197-mounts-use-mount-a-again-to-accomplish-mounts')
-rw-r--r--debian/patches/cpick-c9c9197-mounts-use-mount-a-again-to-accomplish-mounts104
1 files changed, 0 insertions, 104 deletions
diff --git a/debian/patches/cpick-c9c9197-mounts-use-mount-a-again-to-accomplish-mounts b/debian/patches/cpick-c9c9197-mounts-use-mount-a-again-to-accomplish-mounts
deleted file mode 100644
index 3dd0e3cb..00000000
--- a/debian/patches/cpick-c9c9197-mounts-use-mount-a-again-to-accomplish-mounts
+++ /dev/null
@@ -1,104 +0,0 @@
-From c9c9197a3210ac24a039a4096214150d0e8cebb8 Mon Sep 17 00:00:00 2001
-From: Scott Moser <smoser@ubuntu.com>
-Date: Wed, 7 Dec 2016 09:44:41 +0100
-Subject: [PATCH] mounts: use mount -a again to accomplish mounts
-
-During recent changes to cc_mounts, on systemd systems, we started using
- systemctl daemon-reload
-rather than 'mount -a' to get mounts done.
-
-The belief was that since entries in /etc/fstab would be written
-to tell systemd that they should be after cloud-init
-(x-systemd.requires=cloud-init.service) that the reload would then
-let systemd mount the units as expected.
-
-That doesn't seem to work, and new mount entries end up not getting
-mounted. The change here moves back to using 'mount -a', but
-then also does a systemctl daemon-reload.
-
-LP: #1647708
----
- cloudinit/config/cc_mounts.py | 52 ++++++++++++++++++++++++++++---------------
- 1 file changed, 34 insertions(+), 18 deletions(-)
-
---- a/cloudinit/config/cc_mounts.py
-+++ b/cloudinit/config/cc_mounts.py
-@@ -327,6 +327,8 @@ def handle(_name, cfg, cloud, log, _args
- if "mounts" in cfg:
- cfgmnt = cfg["mounts"]
-
-+ LOG.debug("mounts configuration is %s", cfgmnt)
-+
- for i in range(len(cfgmnt)):
- # skip something that wasn't a list
- if not isinstance(cfgmnt[i], list):
-@@ -423,37 +425,51 @@ def handle(_name, cfg, cloud, log, _args
- cc_lines.append('\t'.join(line))
-
- fstab_lines = []
-+ removed = []
- for line in util.load_file(FSTAB_PATH).splitlines():
- try:
- toks = WS.split(line)
- if toks[3].find(comment) != -1:
-+ removed.append(line)
- continue
- except Exception:
- pass
- fstab_lines.append(line)
-
-+ for d in dirs:
-+ try:
-+ util.ensure_dir(d)
-+ except Exception:
-+ util.logexc(log, "Failed to make '%s' config-mount", d)
-+
-+ sadds = [WS.sub(" ", n) for n in cc_lines]
-+ sdrops = [WS.sub(" ", n) for n in removed]
-+
-+ sops = (["- " + drop for drop in sdrops if drop not in sadds] +
-+ ["+ " + add for add in sadds if add not in sdrops])
-+
- fstab_lines.extend(cc_lines)
- contents = "%s\n" % ('\n'.join(fstab_lines))
- util.write_file(FSTAB_PATH, contents)
-
-+ activate_cmds = []
- if needswap:
-- try:
-- util.subp(("swapon", "-a"))
-- except Exception:
-- util.logexc(log, "Activating swap via 'swapon -a' failed")
-+ activate_cmds.append(["swapon", "-a"])
-
-- for d in dirs:
-+ if len(sops) == 0:
-+ log.debug("No changes to /etc/fstab made.")
-+ else:
-+ log.debug("Changes to fstab: %s", sops)
-+ activate_cmds.append(["mount", "-a"])
-+ if uses_systemd:
-+ activate_cmds.append(["systemctl", "daemon-reload"])
-+
-+ fmt = "Activating swap and mounts with: %s"
-+ for cmd in activate_cmds:
-+ fmt = "Activate mounts: %s:" + ' '.join(cmd)
- try:
-- util.ensure_dir(d)
-- except Exception:
-- util.logexc(log, "Failed to make '%s' config-mount", d)
--
-- activate_cmd = ["mount", "-a"]
-- if uses_systemd:
-- activate_cmd = ["systemctl", "daemon-reload"]
-- fmt = "Activate mounts: %s:" + ' '.join(activate_cmd)
-- try:
-- util.subp(activate_cmd)
-- LOG.debug(fmt, "PASS")
-- except util.ProcessExecutionError:
-- util.logexc(log, fmt, "FAIL")
-+ util.subp(cmd)
-+ log.debug(fmt, "PASS")
-+ except util.ProcessExecutionError:
-+ log.warn(fmt, "FAIL")
-+ util.logexc(log, fmt, "FAIL")