-
Notifications
You must be signed in to change notification settings - Fork 398
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
The wrong status is being transmitted #2330
Comments
I'm not quite sure what you mean. If you want to let systemd start and stop RouDi, then I must disappoint you, RouDi does not support the systemd readiness protocol which would be required in order to make it work with systemd. |
@elBoberido would this be something for iceoryx2 to support the systemd readiness protocol? |
@elBoberido |
@khromenokroman we are quite busy at the moment with other stuff and iceoryx1 is more or less in maintenance mode. I don't think it will be added anytime soon. @elfenpiff since iceoryx2 does not need a central daemon, it is up to the application to add systemd support. The only thing that iceoryx2 could do is to provide an abstraction to uniformly do this across multiple OSes. But it would still need something the user has to do explicitly. |
@elBoberido Thanks for the reply :) |
…to iox-eclipse-iceoryx#2330-add_notify_systemd
This change updates the GitHub Action to include the libsystemd-dev package in the list of dependencies. Adding this package ensures that all necessary development libraries are available for builds.
This change updates the GitHub Action to include the libsystemd-dev package in the list of dependencies. Adding this package ensures that all necessary development libraries are available for builds.
Introduce a configurable option to enable systemd support in the build process. This helps in integrating systemd features if needed while keeping it optional by default.
Introduce preprocessor directives to conditionally enable systemd-related code and linking. This change allows for builds without systemd on Linux by checking for the USE_SYSTEMD flag, offering greater flexibility in different environments.
…read_watchdog Standardize the naming convention for the listen thread watchdog variable to match the member variable naming pattern. This change ensures consistency and improves code readability.
Refactored thread naming and error handling for the watchdog thread. Replaced raw `sd_notify` usage with `IOX_POSIX_CALL` to better handle errors. Enhanced log messages for clearer error reporting.
In the `roudi.cpp` file, added early returns to handle errors more effectively when setting the thread watchdog name and sending READY=1 or WATCHDOG=1 signals. This ensures the system will not proceed if critical setup steps fail, enhancing reliability and maintainability.
…INVOCATION_ID' Replaced getenv with iox_getenv_s to fetch 'INVOCATION_ID' securely and handle errors. Added necessary includes and modified related variable and constant for better clarity.
…h_roudi Update the CMake script to enable systemd support only for iceoryx_posh_roudi. This ensures that systemd is correctly utilized where needed and prevents potential misconfigurations for other targets.
…tion The 'libsystemd-dev' package was removed from the install script in the 'install-iceoryx-deps-and-clang' GitHub action. This change reduces the set of dependencies to only those required for successful execution.
…lass Extracted systemd-related functionality into a new Systemd_service_handler class. This refactor improves modularity and simplifies the main RouDi code by encapsulating systemd-specific logic, making it easier to maintain and extend in the future.
Implemented a shutdown method in Systemd_service_handler to allow graceful termination of the watchdog thread. This enhancement ensures proper resource cleanup and improves system robustness by avoiding potential hang-ups during the shutdown process.
…mpilation Moved the Systemd include directive under a conditional compilation block using the USE_SYSTEMD flag. This change ensures that the dependency on Systemd is only included when necessary, reducing potential compilation issues and improving portability.
…nsistency Renamed class names and method names to follow camel case conventions, improving code readability and consistency. Updated related variables and comments to match the new naming scheme.
Updated `roudi_systemd` to `roudiSystemd` and `process_notify` to `processNotify` for consistency with naming conventions. This enhances code readability and maintains consistent style throughout the file.
…guide Include an example unit file for enabling systemd support with the `-DUSE_SYSTEMD=ON` build option. This addition clarifies how to configure and manage the service using systemd.
Introduce std::condition_variable and std::mutex to replace sleep logic in the watchdog loop. This change aims to improve resource management and responsiveness to shutdown signals, making the watchdog more efficient.
Extract environment variable retrieval logic into a static method. This refactoring improves code readability and reuse, ensuring cleaner and more maintainable code.
…adability Improve SystemdServiceHandler readability by adding detailed comments and helper functions. This refactor helps in managing the watchdog loop and sending notifications more clearly, ensuring proper thread name setting and signal handling.
iox-eclipse-iceoryx#2330 Edit ci iox-eclipse-iceoryx#2330 Edit ci iox-eclipse-iceoryx#2330 Edit ci iox-eclipse-iceoryx#2330 Edit ci
… tests iox-eclipse-iceoryx#2330 Add missing license headers iox-eclipse-iceoryx#2330 Skip SetThreadNameHelper test on Windows iox-eclipse-iceoryx#2330 Skip specific tests on Windows iox-eclipse-iceoryx#2330 Skip specific tests on Windows iox-eclipse-iceoryx#2330 Skip specific tests on Windows iox-eclipse-iceoryx#2330 Fix uninitialized unique_ptr in module tests iox-eclipse-iceoryx#2330 Enhance systemd build-test iox-eclipse-iceoryx#2330 Add sendSDNotifySignalHelper to ServiceManagement Introduced a new virtual function enable sending notifications sd_notify iox-eclipse-iceoryx#2330 Add Windows-spec test skips in RoudiSystemD tests iox-eclipse-iceoryx#2330 Fix incorrect preprocessor directive in RouDi.hpp iox-eclipse-iceoryx#2330 Add libsystemd-dev to installation script iox-eclipse-iceoryx#2330 Refactor SD notify iox-eclipse-iceoryx#2330 Upd Actions to fix dependencies and enable tests iox-eclipse-iceoryx#2330 Add platform-specific includes iox-eclipse-iceoryx#2330 Refactor systemd notification handling iox-eclipse-iceoryx#2330 Refactor ci scripts
Update the call to iox_getenv_s casting for info.total_size iox-eclipse-iceoryx#2330 Add module tests for RoudiSystemManager Introduce tests to verify the functionality of RoudiSystemManager iox-eclipse-iceoryx#2330 Refactor func for platform iox-eclipse-iceoryx#2330 Refactor ci scripts iox-eclipse-iceoryx#2330 Edit ci
iox-eclipse-iceoryx#2330 Edit ci iox-eclipse-iceoryx#2330 Edit ci
start in
20:10:38
ready in
20:10:47
when I run through systemd, it turns out that roudi started and systemd said that everything was fine, I started based on this, I'm trying to write something, but in fact it's just starting
unit file:
configuration file:
@elBoberido please help me, we can solve this problem
The text was updated successfully, but these errors were encountered: