swift-drive-audit: reload systemd after editing fstab
Systemd does not monitor /etc/fstab for changes; so a filesystem unmounted and commented-out in fstab will be re-mounted by systemd after some time. This change means that swift-drive-audit will call systemcl daemon-reload (which causes systemd to reload its configuration including /etc/fstab) after editing /etc/fstab on systems where systemd is the running init. Check for that case by looking for the existence of the directory /run/systemd/system, as documented in sd_booted(3). Signed-off-by: Matthew Vernon <mvernon@wikimedia.org> Change-Id: I8830e3da9b6b085224511ac351f2d2860119c432
This commit is contained in:
		@@ -18,6 +18,7 @@ import datetime
 | 
			
		||||
import glob
 | 
			
		||||
import locale
 | 
			
		||||
import os
 | 
			
		||||
import os.path
 | 
			
		||||
import re
 | 
			
		||||
import subprocess
 | 
			
		||||
import sys
 | 
			
		||||
@@ -222,3 +223,6 @@ if __name__ == '__main__':
 | 
			
		||||
 | 
			
		||||
    if unmounts == 0:
 | 
			
		||||
        logger.info("No drives were unmounted")
 | 
			
		||||
    elif os.path.isdir("/run/systemd/system"):
 | 
			
		||||
        logger.debug("fstab updated, calling systemctl daemon-reload")
 | 
			
		||||
        subprocess.call(["/usr/bin/systemctl", "daemon-reload"])
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user