]> glassweightruler.freedombox.rocks Git - waydroid.git/commitdiff
upgrade: Restart container through DBus
authorAlessandro Astone <ales.astone@gmail.com>
Sun, 22 Jan 2023 14:24:09 +0000 (15:24 +0100)
committerAlessandro Astone <ales.astone@gmail.com>
Sun, 22 Jan 2023 14:38:18 +0000 (15:38 +0100)
tools/actions/upgrader.py

index dcd033d3e3e0f1020bb3cce4d004adc3f6a0c279..9fa299edd1183155c3037618ef220d1d0fa99197 100644 (file)
@@ -34,12 +34,12 @@ def upgrade(args):
         status = helpers.lxc.status(args)
     if status != "STOPPED":
         logging.info("Stopping container")
-        helpers.lxc.stop(args)
         try:
-            args.session = tools.helpers.ipc.DBusContainerService().GetSession()
-        except dbus.DBusException:
-            pass
-    helpers.images.umount_rootfs(args)
+            container = tools.helpers.ipc.DBusContainerService()
+            args.session = container.GetSession()
+            container.Stop(False)
+        except Exception as e:
+            logging.debug(e)
     helpers.drivers.loadBinderNodes(args)
     if not args.offline:
         if args.images_path not in tools.config.defaults["preinstalled_images_paths"]:
@@ -50,8 +50,10 @@ def upgrade(args):
     helpers.lxc.setup_host_perms(args)
     helpers.lxc.set_lxc_config(args)
     helpers.lxc.make_base_props(args)
-    if status != "STOPPED" and args.session:
+    if status != "STOPPED":
         logging.info("Starting container")
-        helpers.images.mount_rootfs(args, args.images_path, args.session)
-        helpers.protocol.set_aidl_version(args)
-        helpers.lxc.start(args)
+        try:
+            container.Start(args.session)
+        except Exception as e:
+            logging.debug(e)
+            logging.error("Failed to restart container. Please do so manually.")