From b9f6ed2c81939c000f0ec648adde1d59f1fdfded Mon Sep 17 00:00:00 2001 From: "Jinming Wu, Patrick" Date: Fri, 2 Jul 2021 16:25:11 +0800 Subject: [PATCH] subiquity/server/server.py: provide no_snapd support --- subiquity/server/server.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/subiquity/server/server.py b/subiquity/server/server.py index c4651e94..e00fde86 100644 --- a/subiquity/server/server.py +++ b/subiquity/server/server.py @@ -263,9 +263,15 @@ class SubiquityServer(Application): os.path.dirname(__file__))), "examples", "snaps"), self.scale_factor) - else: + self.snapd = AsyncSnapd(connection) + elif os.path.exists(self.snapd_socket_path): connection = SnapdConnection(self.root, self.snapd_socket_path) - self.snapd = AsyncSnapd(connection) + self.snapd = AsyncSnapd(connection) + else: + log.info("no snapd socket found. Snap support is disabled") + self.controllers.remove("Refresh") + self.controllers.remove("SnapList") + self.snapd = None self.note_data_for_apport("SnapUpdated", str(self.updated)) self.event_listeners = [] self.autoinstall_config = None @@ -567,14 +573,20 @@ class SubiquityServer(Application): await self.apply_autoinstall_config() def _network_change(self): + if not self.snapd: + return self.hub.broadcast('snapd-network-change') async def _proxy_set(self): + if not self.snapd: + return await run_in_thread( self.snapd.connection.configure_proxy, self.base_model.proxy) self.hub.broadcast('snapd-network-change') def restart(self): + if not self.snapd: + return cmdline = ['snap', 'run', 'subiquity.subiquity-server'] if self.opts.dry_run: cmdline = [