Maintain dynamic out-of-service BMCs list and exclude them from subscription #87
+165
−32
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the current design, all the BMC IPs that the redfish listener subscribes to are consumed from a file at initialization, and the application connects to all the BMCs and registers for the RAS events as a listener. If any connection requests fail, the listener keeps periodically trying to reconnect and this can lead to logs overflowing with failure notifications, in case the node has been taken out for service.
This PR provides a way to remove these nodes dynamically from the list of IPs that the listener should try connecting to.
/api/nodes/{node-ip}. This information will be persisted to handle the case of application restart. It will be stored as a file to the local file system.EXAMPLE:
CURL command to disable monitoring on a node:
CURL command to enable monitoring on a node:
In case there are two instances of the Redfish listener running for redundancy, the CURL commands will have to be run against both the instances as the file will not be synced across the instances by the application.
/api/nodes.CURL command to display the nodes being monitored