Skip to content

PMM-14665 Skip nodes internal to a PMM deployment when adding a service - #919

Merged
ademidoff merged 5 commits into
mainfrom
PMM-14665-skip-non-eligible-nodes-from-add-service
Sep 3, 2026
Merged

PMM-14665 Skip nodes internal to a PMM deployment when adding a service#919
ademidoff merged 5 commits into
mainfrom
PMM-14665-skip-non-eligible-nodes-from-add-service

Conversation

@ademidoff

Copy link
Copy Markdown
Member

Ticket: https://perconadev.atlassian.net/browse/PMM-14665

The "Nodes" dropdown on Add Service listed every node running a pmm-agent. In an HA deployment that includes the pods of the PostgreSQL cluster backing PMM's own persistence layer, which are dedicated and must not take on extra monitoring workloads.

  • Nodes which PMM Server reports as internal (is_pmm_internal_node, added in percona/pmm) are filtered out of the dropdown.
  • In an HA deployment (more than one PMM Server node) a node other than a PMM Server one is preselected, since the PMM Server pods are meant to stay free of monitoring workloads. A single-node deployment keeps preselecting pmm-server as before.

Requires the corresponding percona/pmm change, otherwise the new field is simply absent and the dropdown behaves as it does today.

Filter the Nodes which PMM Server reports as internal (is_pmm_internal_node) out
of the Nodes dropdown: they are dedicated to PMM's own infrastructure, such as
the persistence layer of an HA deployment.

Preselect a Node other than a PMM Server one in an HA deployment, where the PMM
Server pods are meant to stay free of monitoring workloads. A single-node
deployment keeps preselecting pmm-server as before.
The Nodes dropdown compared Node and Agent identifiers against the literal
"pmm-server". Those identifiers are moving to generated ones, at which point the
comparisons would quietly stop matching: no Node would be preselected and the
address would be prefilled with localhost for the PMM Server Node too.

Every one of them is replaced by the is_pmm_server_node flag the API already
reports, which carries the same meaning without depending on an identifier.

Preselection now takes the PMM Server Node where it is still offered, and the
first eligible Node otherwise, which is what an HA deployment gets now that PMM
Server reports its own Nodes as internal. A Node running several pmm-agents is
left for the user to pick from, as before.
Two suites depended on behaviour this branch changed.

The internal-node test asked for the client node by text while it is now also the
preselected value, so it matched both the selected value and the menu option. It
now asserts on both matches, which doubles as proof that the menu is open and the
absence assertions above it are not passing vacuously.

The payload test paired the PMM Server Agent with a Node that was not flagged as
the PMM Server one, which only worked while the metrics mode was decided by the
Agent identifier. The fixture now says what it means and keeps covering PULL.
@ademidoff
ademidoff merged commit bdf80e3 into main Sep 3, 2026
8 checks passed
@ademidoff
ademidoff deleted the PMM-14665-skip-non-eligible-nodes-from-add-service branch September 3, 2026 06:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants