Fix agent mismatch in database when selecting agents with a mask #3351
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.
Description
The agent-info files follow this pattern:
The database module splits the name of the file into two strings: the name and the IP. Then, it finds the agent in the DB using both parameters. This does not work if the agent was registered with an IP including a netmask:
registered_ip
field includes the netmask./
is not permitted in file paths.That prevents the module from finding the agent.
Solution
Make the BD query match either the exact IP parameter or that IP plus
/_%
. That means the regex/.+
. This should not produce a name conflict since the name of the agent does not allow slashes (/
).Output
This fix just prevents the database module from producing debug logs.
agent_control
should produce an output like this with this patch applied:Tests