New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No VM shutdown notifications #3560

Closed
marmarta opened this Issue Feb 9, 2018 · 4 comments

Comments

Projects
None yet
4 participants
@marmarta

marmarta commented Feb 9, 2018

Qubes OS version: R4.0rc4

If a VM is halted from inside (e.g., a template after updates), no notification at all is emitted. If

Steps to reproduce the behavior:

Shutdown a VM.

Expected behavior:

Two notifications are emitted: one when shutdown process begins ([VM] is halting) and one when it's complete ([VM] is halted)

Actual behavior:

If the VM is shut down from inside (e.g., after a template VM update completes), no notification at all is emitted.
If the VM is shut down from manager or the qui-domains tool, only the [VM] is halting notification appears, and nothing about how shutdown was completed.

@donob4n

This comment has been minimized.

Show comment
Hide comment
@donob4n

donob4n May 10, 2018

The event is received but the callback doesn't send a notification.

/qui/models/domains/domains.py (255):

        self.signal_callbacks = {
            'Starting': self.update_domain_item,
            'Started': self.update_domain_item,
            'Failed': self.update_domain_item,
            'Halting': self.update_domain_item,
            'Halted': self.remove_menu,
            'Unknown': self.update_domain_item,
        }

    def remove_menu(self, _, vm_path):
        ''' Remove the menu item for the specified domain from the tray'''
        vm_widget = self.menu_items[vm_path]
        self.tray_menu.remove(vm_widget)
        del self.menu_items[vm_path]
        self.tray_menu.queue_draw()
        

I would do a pull request but I can't find the repository.

donob4n commented May 10, 2018

The event is received but the callback doesn't send a notification.

/qui/models/domains/domains.py (255):

        self.signal_callbacks = {
            'Starting': self.update_domain_item,
            'Started': self.update_domain_item,
            'Failed': self.update_domain_item,
            'Halting': self.update_domain_item,
            'Halted': self.remove_menu,
            'Unknown': self.update_domain_item,
        }

    def remove_menu(self, _, vm_path):
        ''' Remove the menu item for the specified domain from the tray'''
        vm_widget = self.menu_items[vm_path]
        self.tray_menu.remove(vm_widget)
        del self.menu_items[vm_path]
        self.tray_menu.queue_draw()
        

I would do a pull request but I can't find the repository.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek May 10, 2018

Member
Member

marmarek commented May 10, 2018

@donob4n donob4n referenced this issue in QubesOS/qubes-desktop-linux-manager May 10, 2018

Merged

Add notification on remove_menu callback #23

@donob4n

This comment has been minimized.

Show comment
Hide comment
@donob4n

donob4n May 10, 2018

Done.

Should the subprocess.call() be replaced by direct dbus events?

donob4n commented May 10, 2018

Done.

Should the subprocess.call() be replaced by direct dbus events?

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek May 10, 2018

Member
Member

marmarek commented May 10, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment