-
Notifications
You must be signed in to change notification settings - Fork 43
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
Fix manager service status during startup #708
Conversation
@@ -58,18 +62,22 @@ def initialize(config, logger) | |||
@logger = logger | |||
@installation_phase = InstallationPhase.new | |||
@service_status_recorder = ServiceStatusRecorder.new | |||
@service_status = DBus::ServiceStatus.new.busy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like the manager will only rarely be idle and safe_run
will fail more often?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would not say rarely, but this ensures that it waits for startup phase, not?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that's the point. It starts as busy, but it is set as idle as soon as the startup_phase finishes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok then
Problem
See #707, "Manager status on single-product scenarios".
Solution
Let the manager set the service status outside of D-Bus. It does not solve all timing issues, but the
Could not start the installation...
should not happen.Testing