Skip to content

Rotating a node pool can result in broken graphs #35

Open
@felder

Description

@felder

Bug description

After rotating a node pool, the "Running Users", "Memory Commitment %", and "CPU Commitment %" graphs fail to render because the promql queries backing them result in illegal many -> one relationships.

For example, with "Running Users":

sum(kube_pod_status_phase{phase="Running"} * on (namespace, pod) group_right() kube_pod_labels{label_app="jupyterhub", label_component="singleuser-server"}) by (namespace)

In order for that to work, kube_pod_status_phase needs to have unique rows when keyed on namespace and pod. Unfortunately, in this case due to the node pool rotation multiple rows with different "kubernetes_node" labels can be returned for the same namespace and pod.

Expected behaviour

Graphs render.

Actual behaviour

Graphs show an error.

How to reproduce

Not easily reproduced probably, but a user may encounter it if they rotate node pools for some reason.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions