Fix for HPA matching when deploying same HPA in multiple namespaces
Signed-off-by: goenning <me@goenning.net>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-kubernetes': patch
|
||||
---
|
||||
|
||||
Fix for HPA matching when deploying same HPA in multiple namespaces
|
||||
@@ -268,8 +268,11 @@ export const RolloutAccordions = ({
|
||||
<RolloutAccordion
|
||||
defaultExpanded={defaultExpanded}
|
||||
matchingHpa={getMatchingHpa(
|
||||
rollout.metadata?.name,
|
||||
'rollout',
|
||||
{
|
||||
name: rollout.metadata?.name,
|
||||
namespace: rollout.metadata?.namespace,
|
||||
kind: 'rollout',
|
||||
},
|
||||
groupedResponses.horizontalPodAutoscalers,
|
||||
)}
|
||||
ownedPods={getOwnedPodsThroughReplicaSets(
|
||||
|
||||
@@ -186,8 +186,11 @@ export const DeploymentsAccordions = ({}: DeploymentsAccordionsProps) => {
|
||||
<Grid item xs>
|
||||
<DeploymentAccordion
|
||||
matchingHpa={getMatchingHpa(
|
||||
deployment.metadata?.name,
|
||||
'deployment',
|
||||
{
|
||||
name: deployment.metadata?.name,
|
||||
namespace: deployment.metadata?.namespace,
|
||||
kind: 'deployment',
|
||||
},
|
||||
groupedResponses.horizontalPodAutoscalers,
|
||||
)}
|
||||
ownedPods={getOwnedPodsThroughReplicaSets(
|
||||
|
||||
@@ -54,17 +54,24 @@ export const getOwnedPodsThroughReplicaSets = (
|
||||
}, [] as V1Pod[]);
|
||||
};
|
||||
|
||||
interface ResourceRef {
|
||||
kind: string;
|
||||
namespace?: string;
|
||||
name?: string;
|
||||
}
|
||||
|
||||
export const getMatchingHpa = (
|
||||
ownerName: string | undefined,
|
||||
ownerKind: string,
|
||||
owner: ResourceRef,
|
||||
hpas: V1HorizontalPodAutoscaler[],
|
||||
): V1HorizontalPodAutoscaler | undefined => {
|
||||
return hpas.find(hpa => {
|
||||
return (
|
||||
(hpa.spec?.scaleTargetRef?.kind ?? '').toLocaleLowerCase('en-US') ===
|
||||
ownerKind.toLocaleLowerCase('en-US') &&
|
||||
owner.kind.toLocaleLowerCase('en-US') &&
|
||||
(hpa.metadata?.namespace ?? '') ===
|
||||
(owner.namespace ?? 'unknown-namespace') &&
|
||||
(hpa.spec?.scaleTargetRef?.name ?? '') ===
|
||||
(ownerName ?? 'unknown-deployment')
|
||||
(owner.name ?? 'unknown-deployment')
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user