This is an automated email from the ASF dual-hosted git repository.
zitadombi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 6194d422f3 HDDS-10301. Recon - Fold the pipeline info for a DN on
Datanode page. (#6198)
6194d422f3 is described below
commit 6194d422f30960a6b032b7c80df535c0a7727f21
Author: Smita <[email protected]>
AuthorDate: Thu Feb 15 20:11:53 2024 +0530
HDDS-10301. Recon - Fold the pipeline info for a DN on Datanode page.
(#6198)
---
.../webapps/recon/ozone-recon-web/api/db.json | 36 +++++++++++++++++++
.../src/views/datanodes/datanodes.tsx | 41 +++++++++++++++-------
2 files changed, 64 insertions(+), 13 deletions(-)
diff --git
a/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/api/db.json
b/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/api/db.json
index 204609f66f..e4ed0ac048 100644
---
a/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/api/db.json
+++
b/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/api/db.json
@@ -44,6 +44,42 @@
"replicationType": "RATIS",
"replicationFactor": 1,
"leaderNode": "localhost1.storage.enterprise.com"
+ },
+ {
+ "pipelineID": "02e3d908-ff01-4ce6-ad75-f3ec79bcc710",
+ "replicationType": "RATIS",
+ "replicationFactor": 3,
+ "leaderNode": "localhost1.storage.enterprise.com"
+ },
+ {
+ "pipelineID": "09d3a478-ff01-4ce6-ad75-f3ec79bcc711",
+ "replicationType": "RATIS",
+ "replicationFactor": 1,
+ "leaderNode": "localhost1.storage.enterprise.com"
+ },
+ {
+ "pipelineID": "02e3d908-ff01-4ce6-ad75-f3ec79bcc712",
+ "replicationType": "RATIS",
+ "replicationFactor": 3,
+ "leaderNode": "localhost1.storage.enterprise.com"
+ },
+ {
+ "pipelineID": "09d3a478-ff01-4ce6-ad75-f3ec79bcc713",
+ "replicationType": "RATIS",
+ "replicationFactor": 1,
+ "leaderNode": "localhost1.storage.enterprise.com"
+ },
+ {
+ "pipelineID": "02e3d908-ff01-4ce6-ad75-f3ec79bcc714",
+ "replicationType": "RATIS",
+ "replicationFactor": 3,
+ "leaderNode": "localhost1.storage.enterprise.com"
+ },
+ {
+ "pipelineID": "09d3a478-ff01-4ce6-ad75-f3ec79bcc715",
+ "replicationType": "RATIS",
+ "replicationFactor": 1,
+ "leaderNode": "localhost1.storage.enterprise.com"
}
],
"containers": 80,
diff --git
a/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/src/views/datanodes/datanodes.tsx
b/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/src/views/datanodes/datanodes.tsx
index 19f306ae4f..c42bd8c1f9 100644
---
a/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/src/views/datanodes/datanodes.tsx
+++
b/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/src/views/datanodes/datanodes.tsx
@@ -17,7 +17,7 @@
*/
import React from 'react';
-import {Table, Icon, Tooltip} from 'antd';
+import {Table, Icon, Tooltip, Popover} from 'antd';
import {PaginationConfig} from 'antd/lib/pagination';
import moment from 'moment';
import {ReplicationIcon} from 'utils/themeIcons';
@@ -192,21 +192,36 @@ const COLUMNS = [
key: 'pipelines',
isVisible: true,
render: (pipelines: IPipeline[], record: IDatanode) => {
+ let firstThreePipelinesIDs = [];
+ let remainingPipelinesIDs: any[] = [];
+ firstThreePipelinesIDs = pipelines && pipelines.filter((element, index)
=> index < 3);
+ remainingPipelinesIDs = pipelines && pipelines.slice(3,
pipelines.length);
+
+ const RenderPipelineIds = ({ pipelinesIds }) => {
+ return pipelinesIds && pipelinesIds.map((pipeline: any, index: any) =>
(
+ <div key={index} className='pipeline-container'>
+ <ReplicationIcon
+ replicationFactor={pipeline.replicationFactor}
+ replicationType={pipeline.replicationType}
+ leaderNode={pipeline.leaderNode}
+ isLeader={pipeline.leaderNode === record.hostname} />
+ {pipeline.pipelineID}
+ </div >
+ ))
+ }
+
return (
- <div>
+ <>
{
- pipelines && pipelines.map((pipeline, index) => (
- <div key={index} className='pipeline-container'>
- <ReplicationIcon
- replicationFactor={pipeline.replicationFactor}
- replicationType={pipeline.replicationType}
- leaderNode={pipeline.leaderNode}
- isLeader={pipeline.leaderNode === record.hostname}/>
- {pipeline.pipelineID}
- </div>
- ))
+ <RenderPipelineIds pipelinesIds={firstThreePipelinesIDs} />
}
- </div>
+ {
+ remainingPipelinesIDs.length > 0 &&
+ <Popover content={<RenderPipelineIds
pipelinesIds={remainingPipelinesIDs} />} title="Remaining pipelines"
placement="rightTop" trigger="hover">
+ {`... and ${remainingPipelinesIDs.length} more pipelines`}
+ </Popover>
+ }
+ </>
);
}
},
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]