diff --git a/rhel/systemd/cloud-final.service b/rhel/systemd/cloud-final.service index 05add07..e281c0c 100644 --- a/rhel/systemd/cloud-final.service +++ b/rhel/systemd/cloud-final.service @@ -11,8 +11,11 @@ ExecStart=/usr/bin/cloud-init modules --mode=final RemainAfterExit=yes TimeoutSec=0 KillMode=process -ExecStartPost=/bin/echo "trying to reload or restart NetworkManager.service" -ExecStartPost=/usr/bin/systemctl try-reload-or-restart NetworkManager.service +# Restart NetworkManager if it is present and running. +ExecStartPost=/bin/sh -c 'u=NetworkManager.service; \ + out=$(systemctl show --property=SubState $u) || exit; \ + [ "$out" = "SubState=running" ] || exit 0; \ + systemctl reload-or-try-restart $u' # Output needs to appear in instance console output StandardOutput=journal+console