Skip to content

Commit 4b46f38

Browse files
fix(Storage): use media type for groups (#788)
1 parent f767d00 commit 4b46f38

File tree

6 files changed

+21
-16
lines changed

6 files changed

+21
-16
lines changed

src/containers/Storage/StorageGroups/getStorageGroupsColumns.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ type StorageGroupsColumn = VirtualTableColumn<PreparedStorageGroup> &
2929

3030
export const GROUPS_COLUMNS_IDS = {
3131
PoolName: 'PoolName',
32-
Kind: 'Kind',
32+
MediaType: 'MediaType',
3333
Erasure: 'Erasure',
3434
GroupId: 'GroupId',
3535
Used: 'Used',
@@ -64,14 +64,14 @@ const poolNameColumn: StorageGroupsColumn = {
6464
align: DataTable.LEFT,
6565
};
6666

67-
const kindColumn: StorageGroupsColumn = {
68-
name: GROUPS_COLUMNS_IDS.Kind,
67+
const typeColumn: StorageGroupsColumn = {
68+
name: GROUPS_COLUMNS_IDS.MediaType,
6969
header: 'Type',
7070
width: 100,
7171
align: DataTable.LEFT,
7272
render: ({row}) => (
7373
<>
74-
<Label>{row.Kind || '—'}</Label>
74+
<Label>{row.MediaType || '—'}</Label>
7575
{'\u00a0'}
7676
{row.Encryption && (
7777
<Popover
@@ -244,13 +244,13 @@ const getVdiscksColumn = (nodes?: NodesMap): StorageGroupsColumn => ({
244244
});
245245

246246
export const getStorageTopGroupsColumns = (): StorageGroupsColumn[] => {
247-
return [groupIdColumn, kindColumn, erasureColumn, usageColumn, usedColumn, limitColumn];
247+
return [groupIdColumn, typeColumn, erasureColumn, usageColumn, usedColumn, limitColumn];
248248
};
249249

250250
export const getPDiskStorageColumns = (nodes?: NodesMap): StorageGroupsColumn[] => {
251251
return [
252252
poolNameColumn,
253-
kindColumn,
253+
typeColumn,
254254
erasureColumn,
255255
degradedColumn,
256256
groupIdColumn,
@@ -263,7 +263,7 @@ export const getPDiskStorageColumns = (nodes?: NodesMap): StorageGroupsColumn[]
263263
const getStorageGroupsColumns = (nodes?: NodesMap): StorageGroupsColumn[] => {
264264
return [
265265
poolNameColumn,
266-
kindColumn,
266+
typeColumn,
267267
erasureColumn,
268268
degradedColumn,
269269
usageColumn,

src/store/reducers/pdisk/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export function preparePDiskStorageResponse(
4343
});
4444

4545
if (groupHasPDiskVDisks) {
46-
preparedGroups.push(prepareStorageGroupData(group, pool.Name));
46+
preparedGroups.push(prepareStorageGroupData(group, pool));
4747
}
4848
}),
4949
);

src/store/reducers/storage/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export interface PreparedStorageGroup extends TStorageGroupInfo {
4747
Used: number;
4848
Limit: number;
4949
Degraded: number;
50-
Kind?: string;
50+
MediaType?: string;
5151

5252
UsedSpaceFlag: number;
5353

src/store/reducers/storage/utils.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,17 @@ const prepareVDisk = (vDisk: TVDiskStateInfo, poolName: string | undefined) => {
4545

4646
export const prepareStorageGroupData = (
4747
group: TStorageGroupInfo,
48-
poolName?: string,
48+
pool: TStoragePoolInfo,
4949
): PreparedStorageGroup => {
5050
let missing = 0;
5151
let usedSpaceFlag = 0;
5252
let usedSpaceBytes = 0;
5353
let limitSizeBytes = 0;
5454
let readSpeedBytesPerSec = 0;
5555
let writeSpeedBytesPerSec = 0;
56-
let mediaType = '';
56+
let mediaType: string | undefined;
57+
58+
const {Name: poolName, MediaType: poolMediaType} = pool;
5759

5860
if (group.VDisks) {
5961
for (const vDisk of group.VDisks) {
@@ -91,8 +93,7 @@ export const prepareStorageGroupData = (
9193
readSpeedBytesPerSec += Number(ReadThroughput) || 0;
9294
writeSpeedBytesPerSec += Number(WriteThroughput) || 0;
9395

94-
mediaType =
95-
PDiskType && (PDiskType === mediaType || mediaType === '') ? PDiskType : 'Mixed';
96+
mediaType = PDiskType && (PDiskType === mediaType || !mediaType) ? PDiskType : 'Mixed';
9697
}
9798
}
9899

@@ -110,7 +111,7 @@ export const prepareStorageGroupData = (
110111
Limit: limitSizeBytes,
111112
Degraded: missing,
112113
UsedSpaceFlag: usedSpaceFlag,
113-
Kind: mediaType || undefined,
114+
MediaType: poolMediaType || mediaType || undefined,
114115
};
115116
};
116117

@@ -125,6 +126,7 @@ export const prepareStorageGroupDataV2 = (group: TStorageGroupInfoV2): PreparedS
125126
Limit = 0,
126127
Degraded = 0,
127128
Kind,
129+
MediaType,
128130
} = group;
129131

130132
const UsedSpaceFlag = VDisks.reduce((acc, {DiskSpace}) => {
@@ -141,7 +143,7 @@ export const prepareStorageGroupDataV2 = (group: TStorageGroupInfoV2): PreparedS
141143
...group,
142144
UsedSpaceFlag,
143145
PoolName,
144-
Kind,
146+
MediaType: MediaType || Kind,
145147
VDisks: vDisks,
146148
Usage: usage,
147149
Read: Number(Read),
@@ -162,7 +164,7 @@ export const prepareStorageGroups = (
162164
} else {
163165
StoragePools?.forEach((pool) => {
164166
pool.Groups?.forEach((group) => {
165-
preparedGroups.push(prepareStorageGroupData(group, pool.Name));
167+
preparedGroups.push(prepareStorageGroupData(group, pool));
166168
});
167169
});
168170
}

src/types/api/storage.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,13 @@ export interface TStoragePoolInfo {
3333
MaximumThroughput?: string;
3434
/** uint64 */
3535
MaximumSize?: string;
36+
MediaType?: string;
3637
}
3738

3839
export interface TStorageGroupInfoV2 extends TStorageGroupInfo {
3940
PoolName?: string;
4041
Kind?: string;
42+
MediaType?: string;
4143

4244
/** uint64 */
4345
Degraded?: string;

src/utils/storage.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export const getUsage = <T extends EntityWithUsage>(data: T, step = 1) => {
2020
export const STORAGE_SORT_VALUES = {
2121
PoolName: 'PoolName',
2222
Kind: 'Kind',
23+
MediaType: 'MediaType',
2324
Erasure: 'Erasure',
2425
Degraded: 'Degraded',
2526
Usage: 'Usage',

0 commit comments

Comments
 (0)