Skip to content

Commit 6abc16e

Browse files
feat: remove /meta/cluster (#1757)
1 parent 44e079a commit 6abc16e

File tree

7 files changed

+21
-68
lines changed

7 files changed

+21
-68
lines changed

src/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.tsx

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import {ClipboardButton} from '@gravity-ui/uikit';
22

3+
import {useClusterBaseInfo} from '../../../store/reducers/cluster/cluster';
34
import type {
45
AdditionalClusterProps,
56
AdditionalTenantsProps,
@@ -122,27 +123,22 @@ export function ExtendedCluster({
122123
getMonitoringLink,
123124
getMonitoringClusterLink,
124125
}: ExtendedClusterProps) {
125-
const {
126-
monitoring,
127-
balancer,
128-
versions,
129-
cluster,
130-
useClusterBalancerAsBackend,
131-
additionalNodesProps,
132-
} = useClusterData();
126+
const {versions, useClusterBalancerAsBackend, additionalNodesProps} = useClusterData();
127+
128+
const {name, balancer, monitoring} = useClusterBaseInfo();
133129

134130
return (
135131
<div className={b()}>
136132
<ClusterComponent
137133
additionalClusterProps={getAdditionalClusterProps(
138-
cluster?.Name,
134+
name,
139135
monitoring,
140136
balancer,
141137
getMonitoringClusterLink,
142138
)}
143139
additionalVersionsProps={getAdditionalVersionsProps(versions)}
144140
additionalTenantsProps={getAdditionalTenantsProps(
145-
cluster?.Name,
141+
name,
146142
monitoring,
147143
balancer,
148144
useClusterBalancerAsBackend,

src/containers/AppWithClusters/useClusterData.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,12 @@ export function useClusterData() {
1717
return clusters.find((cluster) => cluster.name === clusterName);
1818
}, [data, clusterName]);
1919

20-
const {solomon: monitoring, balancer, versions, cluster} = info || {};
20+
const {solomon: monitoring, balancer, versions} = info || {};
2121

2222
return {
2323
monitoring,
2424
balancer,
2525
versions,
26-
cluster,
2726
...useAdditionalNodeProps({balancer}),
2827
};
2928
}

src/containers/Cluster/Cluster.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
selectClusterTabletsWithFqdn,
1616
selectClusterTitle,
1717
updateDefaultClusterTab,
18+
useClusterBaseInfo,
1819
} from '../../store/reducers/cluster/cluster';
1920
import {setHeaderBreadcrumbs} from '../../store/reducers/header/header';
2021
import type {
@@ -66,10 +67,14 @@ export function Cluster({
6667
backend: StringParam,
6768
});
6869

69-
const clusterTitle = useTypedSelector((state) =>
70+
const viewerClusterTitle = useTypedSelector((state) =>
7071
selectClusterTitle(state, clusterName ?? undefined),
7172
);
7273

74+
const {title: metaClusterTitle} = useClusterBaseInfo();
75+
76+
const clusterTitle = metaClusterTitle ?? viewerClusterTitle;
77+
7378
const {
7479
data: {clusterData: cluster = {}, groupsStats} = {},
7580
isLoading: infoLoading,

src/services/api/meta.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@ import {metaBackend as META_BACKEND} from '../../store';
22
import type {
33
MetaBaseClusterInfo,
44
MetaBaseClusters,
5-
MetaCluster,
65
MetaClusters,
76
MetaTenants,
87
} from '../../types/api/meta';
9-
import {parseMetaCluster} from '../parsers/parseMetaCluster';
108
import {parseMetaTenants} from '../parsers/parseMetaTenants';
119

1210
import type {AxiosOptions} from './base';
@@ -23,16 +21,6 @@ export class MetaAPI extends BaseYdbAPI {
2321
});
2422
}
2523

26-
getClusterInfo(clusterName?: string, {signal}: AxiosOptions = {}) {
27-
return this.get<MetaCluster>(
28-
this.getPath('/meta/cluster'),
29-
{
30-
name: clusterName,
31-
},
32-
{concurrentId: `getCluster${clusterName}`, requestConfig: {signal}},
33-
).then(parseMetaCluster);
34-
}
35-
3624
getTenants(clusterName?: string, {signal}: AxiosOptions = {}) {
3725
return this.get<MetaTenants>(
3826
this.getPath('/meta/cp_databases'),

src/services/parsers/parseMetaCluster.ts

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,5 @@
1-
import type {TClusterInfo} from '../../types/api/cluster';
2-
import type {MetaCluster} from '../../types/api/meta';
31
import {traceCheckSchema, traceViewSchema} from '../../types/api/trace';
42

5-
export const parseMetaCluster = (data: MetaCluster): TClusterInfo => {
6-
const {cluster = {}} = data;
7-
8-
const {
9-
cluster: generalClusterInfo,
10-
balancer,
11-
solomon,
12-
trace_check: traceCheck,
13-
trace_view: traceView,
14-
} = cluster;
15-
16-
const {traceCheck: TraceCheck, traceView: TraceView} = parseTraceFields({
17-
traceCheck,
18-
traceView,
19-
});
20-
21-
return {
22-
...generalClusterInfo,
23-
Name: cluster.title || generalClusterInfo?.Name,
24-
25-
Balancer: balancer,
26-
Solomon: solomon,
27-
TraceCheck,
28-
TraceView,
29-
};
30-
};
31-
323
export function parseTraceFields({
334
traceCheck,
345
traceView,

src/store/reducers/cluster/cluster.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ export const clusterApi = api.injectEndpoints({
6767
>({
6868
queryFn: async (clusterName, {signal}) => {
6969
try {
70-
const clusterData = window.api.meta
71-
? await window.api.meta.getClusterInfo(clusterName, {signal})
72-
: await window.api.viewer.getClusterInfo(clusterName, {signal});
70+
const clusterData = await window.api.viewer.getClusterInfo(clusterName, {
71+
signal,
72+
});
7373

7474
const clusterRoot = clusterData.Domain;
7575
// Without domain we cannot get stats from system tables
@@ -171,9 +171,11 @@ export const selectClusterTitle = createSelector(
171171
(_state: RootState, clusterName?: string) => clusterName,
172172
(state: RootState, clusterName?: string) => selectClusterInfo(state, clusterName),
173173
(clusterName, clusterInfo) => {
174-
const {Name, Domain} = clusterInfo?.clusterData || {};
175-
176-
return Name || clusterName || normalizeDomain(Domain) || CLUSTER_DEFAULT_TITLE;
174+
return (
175+
clusterName ||
176+
normalizeDomain(clusterInfo?.clusterData?.Domain) ||
177+
CLUSTER_DEFAULT_TITLE
178+
);
177179
},
178180
);
179181

src/types/api/cluster.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import type {EFlag} from './enums';
22
import type {TTabletStateInfo} from './tablet';
3-
import type {TTraceCheck, TTraceView} from './trace';
43

54
/**
65
* endpoint: viewer/json/cluster
@@ -9,7 +8,6 @@ import type {TTraceCheck, TTraceView} from './trace';
98
*/
109
export interface TClusterInfoV1 {
1110
error?: string;
12-
Name?: string;
1311
Overall?: EFlag;
1412
NodesTotal?: number;
1513
NodesAlive?: number;
@@ -36,12 +34,6 @@ export interface TClusterInfoV1 {
3634

3735
/** Cluster root database */
3836
Domain?: string;
39-
40-
Balancer?: string; // additional
41-
Solomon?: string; // additional
42-
43-
TraceView?: TTraceView;
44-
TraceCheck?: TTraceCheck;
4537
}
4638

4739
export interface TStorageStats {

0 commit comments

Comments
 (0)