-
Notifications
You must be signed in to change notification settings - Fork 69
fix(storage): keep storage config after registration #2532
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
Conversation
- Service status: only #start_up needs to manage the service status. The rest of methods are always called from D-Bus methods, which already manage the service status. - Reprobing: hack for forcing reprobing is not needed anymore.
| const probe = () => post("/api/manager/probe_sync"); | ||
|
|
||
| /** | ||
| * Triggers a synchronous reprobing process. |
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.
Jus a question, does Agama server provide their async counterparts? Asking because I also see in manager "probe_sync" and "probe".
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.
No, an async version is not needed yet.
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.
Anyway, all this about sync/async probing/reprobing is something to revisit. For now, just following the current approach.
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.
Anyway, all this about sync/async probing/reprobing is something to revisit.
Great then.
Thank you
dgdavid
left a comment
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.
As per my limited Rust knowledge, LGTM
| pub async fn reprobe(&self) -> Result<(), ManagerHTTPClientError> { | ||
| // BaseHTTPClient did not anticipate POST without request body | ||
| // so we pass () which is rendered as `null` | ||
| Ok(self.client.post_void("/manager/reprobe_sync", &()).await?) |
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.
🤯
Prepare to release Agama 17: * #2459 * #2492 * #2526 * #2527 * #2528 * #2529 * #2530 * #2531 * #2532 * #2533 * #2534 * #2536 * #2537 * #2538 * #2540 * #2541 * #2542 * #2543 * #2544 * #2545 * #2546 * #2547 * #2548 * #2550 * #2551 * #2553 * #2554 * #2555 * #2556 * #2557 * #2558 * #2559 * #2560 * #2561 * #2562 * #2563 * #2564 * #2565 * #2566 * #2567 * #2568 * #2570 * #2571 * #2572 * #2575 * #2576 * #2577 * #2579 * #2580 * #2583 * #2584 * #2585 * #2586 * #2587 * #2588 * #2589 * #2591
Problem
The storage config is lost after registering a product.
https://bugzilla.suse.com/show_bug.cgi?id=1245400
Solution
Reprobe the system instead of a complete probing.
Note: in the future, a better solution will be implemented to avoid delegating the reprobing call to the clients, see https://gist.github.com/joseivanlopez/8d8103ffd4a8e5539046cb6e134be05f.