Skip to content

Commit

Permalink
Merge pull request #5041 from jeff-phillips-18/vm-topology
Browse files Browse the repository at this point in the history
Add VMs to Topology View
  • Loading branch information
openshift-merge-robot committed Apr 18, 2020
2 parents 276f5c5 + 2b011fc commit 412f8ac
Show file tree
Hide file tree
Showing 42 changed files with 4,969 additions and 642 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import {
sampleKnativeDeployments,
MockKnativeResources,
} from '@console/dev-console/src/components/topology/__tests__/topology-knative-test-data';
import { TransformResourceData } from '../resource-utils';
import { TransformResourceData } from '../transformResourceData';

declare global {
namespace jest {
Expand Down Expand Up @@ -174,124 +174,4 @@ describe('TransformResourceData', () => {
expect(element).not.toHaveProperties([...podKeys, 'current', 'previous']);
});
});

it('should return only operator backed deployment config items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(true);

let transformedData = transformResourceData.createDeploymentConfigItems(
sampleDeploymentConfigs.data,
);
expect(transformedData).toHaveLength(sampleDeploymentConfigs.data.length);

transformedData = transformResourceData.createDeploymentConfigItems(
sampleDeploymentConfigs.data,
true,
);
expect(transformedData).toHaveLength(sampleDeploymentConfigs.data.length);

transformedData = transformResourceData.createDeploymentConfigItems(
sampleDeploymentConfigs.data,
false,
);
expect(transformedData).toHaveLength(0);
});

it('should return only non operator backed deployment config items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(false);

let transformedData = transformResourceData.createDeploymentConfigItems(
sampleDeploymentConfigs.data,
);
expect(transformedData).toHaveLength(sampleDeploymentConfigs.data.length);

transformedData = transformResourceData.createDeploymentConfigItems(
sampleDeploymentConfigs.data,
true,
);
expect(transformedData).toHaveLength(0);

transformedData = transformResourceData.createDeploymentConfigItems(
sampleDeploymentConfigs.data,
false,
);
expect(transformedData).toHaveLength(sampleDeploymentConfigs.data.length);
});

it('should return only operator backed deployment items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(true);

let transformedData = transformResourceData.createDeploymentItems(sampleDeployments.data);
expect(transformedData).toHaveLength(sampleDeployments.data.length);

transformedData = transformResourceData.createDeploymentItems(sampleDeployments.data, true);
expect(transformedData).toHaveLength(sampleDeployments.data.length);

transformedData = transformResourceData.createDeploymentItems(sampleDeployments.data, false);
expect(transformedData).toHaveLength(0);
});

it('should return only non operator backed deployment items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(false);

let transformedData = transformResourceData.createDeploymentItems(sampleDeployments.data);
expect(transformedData).toHaveLength(sampleDeployments.data.length);

transformedData = transformResourceData.createDeploymentItems(sampleDeployments.data, true);
expect(transformedData).toHaveLength(0);

transformedData = transformResourceData.createDeploymentItems(sampleDeployments.data, false);
expect(transformedData).toHaveLength(sampleDeployments.data.length);
});

it('should return only operator backed daemon set items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(true);

let transformedData = transformResourceData.createDaemonSetItems(sampleDaemonSets.data);
expect(transformedData).toHaveLength(sampleDaemonSets.data.length);

transformedData = transformResourceData.createDaemonSetItems(sampleDaemonSets.data, true);
expect(transformedData).toHaveLength(sampleDaemonSets.data.length);

transformedData = transformResourceData.createDaemonSetItems(sampleDaemonSets.data, false);
expect(transformedData).toHaveLength(0);
});

it('should return only non operator backed daemon set items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(false);

let transformedData = transformResourceData.createDaemonSetItems(sampleDaemonSets.data);
expect(transformedData).toHaveLength(sampleDaemonSets.data.length);

transformedData = transformResourceData.createDaemonSetItems(sampleDaemonSets.data, true);
expect(transformedData).toHaveLength(0);

transformedData = transformResourceData.createDaemonSetItems(sampleDaemonSets.data, false);
expect(transformedData).toHaveLength(sampleDaemonSets.data.length);
});

it('should return only operator backed stateful set items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(true);

let transformedData = transformResourceData.createStatefulSetItems(sampleStatefulSets.data);
expect(transformedData).toHaveLength(sampleStatefulSets.data.length);

transformedData = transformResourceData.createStatefulSetItems(sampleStatefulSets.data, true);
expect(transformedData).toHaveLength(sampleStatefulSets.data.length);

transformedData = transformResourceData.createStatefulSetItems(sampleStatefulSets.data, false);
expect(transformedData).toHaveLength(0);
});

it('should return only non operator backed stateful set items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(false);

let transformedData = transformResourceData.createStatefulSetItems(sampleStatefulSets.data);
expect(transformedData).toHaveLength(sampleStatefulSets.data.length);

transformedData = transformResourceData.createStatefulSetItems(sampleStatefulSets.data, true);
expect(transformedData).toHaveLength(0);

transformedData = transformResourceData.createStatefulSetItems(sampleStatefulSets.data, false);
expect(transformedData).toHaveLength(sampleStatefulSets.data.length);
});
});
1 change: 1 addition & 0 deletions frontend/packages/console-shared/src/utils/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ export * from './utils';
export * from './pod-utils';
export * from './pod-ring-utils';
export * from './resource-utils';
export * from './transformResourceData';
export * from './validation';
export * from './table-utils';
export * from './storage-utils';
Expand Down
16 changes: 9 additions & 7 deletions frontend/packages/console-shared/src/utils/pod-ring-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,13 @@ import {
} from '@console/internal/module/k8s';
import { useSafetyFirst } from '@console/internal/components/safety-first';
import { PodRCData, PodRingResources, PodRingData, ExtPodKind } from '../types';
import { TransformResourceData } from './resource-utils';
import { checkPodEditAccess } from './pod-utils';
import { RevisionModel } from '@console/knative-plugin';
import {
getPodsForDeploymentConfigs,
getPodsForDeployments,
getPodsForStatefulSets,
} from './resource-utils';

type PodRingLabelType = {
subTitle: string;
Expand Down Expand Up @@ -179,7 +183,6 @@ export const transformPodRingData = (resources: PodRingResources, kind: string):
};

const targetResource = resourceKinds[kind];
const transformResourceData = new TransformResourceData(resources);

if (!targetResource) {
throw new Error(`Invalid target resource: (${targetResource})`);
Expand All @@ -192,17 +195,16 @@ export const transformPodRingData = (resources: PodRingResources, kind: string):
const resourceData = resources[targetResource].data;

if (kind === DeploymentConfigModel.kind) {
return transformResourceData
.getPodsForDeploymentConfigs(resourceData)
.reduce(applyPods, podsData);
return getPodsForDeploymentConfigs(resourceData, resources).reduce(applyPods, podsData);
}

if (kind === DeploymentModel.kind) {
return transformResourceData.getPodsForDeployments(resourceData).reduce(applyPods, podsData);
return getPodsForDeployments(resourceData, resources).reduce(applyPods, podsData);
}

if (kind === StatefulSetModel.kind) {
return transformResourceData.getPodsForStatefulSets(resourceData).reduce(applyPods, podsData);
return getPodsForStatefulSets(resourceData, resources).reduce(applyPods, podsData);
}

return podsData;
};

0 comments on commit 412f8ac

Please sign in to comment.