-
Notifications
You must be signed in to change notification settings - Fork 179
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
Windows support for Service tool added. #3573
base: main
Are you sure you want to change the base?
Conversation
5678bbc
to
2f38007
Compare
lisa/base_tools/service.py
Outdated
output_json=True, | ||
fail_on_error=False, | ||
) | ||
if not service_status: |
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.
Use above fail_on_error, instead of custom error.
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.
Fixed
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.
it looks not fixed. Set above fail_on_error=True
, let the above line failed. If the error message is not clear, catch it and add more information.
9cfc7ab
to
727572d
Compare
5b555e0
to
72582c5
Compare
This pull request adds Windows support for the Service tool.
72582c5
to
30a8249
Compare
|
||
if timeout < timer.elapsed(): | ||
raise LisaException( | ||
f"service '{name}' still in '{current_service_status}' state after '{timeout}' seconds" # noqa: E501 |
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.
Change it to multiple lines, not to overuse E501.
f"service '{name}' still in '{current_service_status}' state "
f"after '{timeout}' seconds"
return WindowsServiceStatus(int(service_status["Status"])) | ||
|
||
def _is_service_inactive(self, name: str) -> bool: | ||
return self._get_status(name) == WindowsServiceStatus.STOPPED |
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.
Should it use the same result as _check_service_running
? If the service is in other statuses, what's expected?
self._get_status(name) | ||
return True | ||
except LisaException: | ||
return False |
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.
- When checking the service exist or not, use more accurate checking, like parse output, instead of getting status, and judge non-exists on any exception.
- Not overuse try/except on normal status.
) | ||
self.wait_for_service_stop(name) | ||
|
||
def wait_for_service_start(self, name: str) -> None: |
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.
If the method is not used outside of the class, remove them.
This pull request adds Windows support for the Service tool.