a bigger hammer

This commit is contained in:
Michael Hudson-Doyle 2020-04-03 12:14:57 +13:00
parent fa476d54cc
commit 4101440814
1 changed files with 19 additions and 1 deletions

View File

@ -400,7 +400,14 @@ class NetworkController(BaseController):
if devs_to_down or devs_to_delete:
try:
await arun_command(
['systemctl', 'stop', 'systemd-networkd.service'],
['systemctl', 'mask', '--runtime',
'systemd-networkd.service',
'systemd-networkd.socket'],
check=True)
await arun_command(
['systemctl', 'stop',
'systemd-networkd.service',
'systemd-networkd.socket'],
check=True)
except subprocess.CalledProcessError:
error("stop-networkd")
@ -409,11 +416,22 @@ class NetworkController(BaseController):
await self._down_devs(devs_to_down)
if devs_to_delete:
await self._delete_devs(devs_to_delete)
if devs_to_down or devs_to_delete:
await arun_command(
['systemctl', 'unmask', '--runtime',
'systemd-networkd.service',
'systemd-networkd.socket'],
check=True)
try:
await arun_command(['netplan', 'apply'], check=True)
except subprocess.CalledProcessError:
error("apply")
raise
if devs_to_down or devs_to_delete:
# It's probably running already, but just in case.
await arun_command(
['systemctl', 'start', 'systemd-networkd.socket'],
check=False)
if not silent and self.view:
self.view.hide_apply_spinner()