HDDS-10517. Recon - Add a UI component for showing DN decommissioning detailed status and info
What changes were proposed in this pull request?
UI component has been added with some drill down on a DN which is under decommissioning.
Backend PR For Reference:- https://github.com/apache/ozone/pull/6376##
What is the link to the Apache JIRA (https://issues.apache.org/jira/browse/HDDS-10517)
How was this patch tested?
Manually
New Enhancemnet Tested with Cluster data in local
- Added New card with DataNodes Decommission Count
-
After Hovering on UUID Column
-
Tooltip has been added before hover
-
Once Status becomes Decommissioned decommission details will not be shown.
-
From Backend if we get Empty response from decommission api will not showing any details about decommission.
-
Handled all negative test cases for empty and null data if one Api's fail other apis working
- With Multiple datanode Decommission
@smitajoshi12 thanks for working on this patch. Looks like on datanodes page, you wait for /datanodes API to provide the info if any datanode is in decommissioning or not, then you call the decommission info API for that respective UUID, which seems inconsistent behavior, because on overview summary page, you are showing the count of datanodes which are in decommissioning , but when user clicks on summary tile, and taken to datanodes page, you still show all nodes healthy which is wrong. Kindly correct the behavior and make it consistent.
@smitajoshi12 thanks for working on this patch. Looks like on datanodes page, you wait for /
datanodesAPI to provide the info if any datanode is in decommissioning or not, then you call the decommission info API for that respective UUID, which seems inconsistent behavior, because on overview summary page, you are showing the count of datanodes which are in decommissioning , but when user clicks on summary tile, and taken to datanodes page, you still show all nodes healthy which is wrong. Kindly correct the behavior and make it consistent.
@devmadhuu It is taking time to reflect status in /datanodes page. /datanode api is called after each 60 seconds as default behaviour. will think how we can meet this condition.
@devmadhuu Addressed synchronization isssue in latest commit and attached screenshots.
@smitajoshi12 we shouldn't show the initial tool tip from datanodes page "It is going to decommission soon!!!". Rather we should call decommission info API and match with what all datanodes are in decommissioning and update their status on UI. Behavior should be consistent across all UI pages for same entity. And also you need to call the decommission info API once , not multiple times as user land up on datanodes page.
@smitajoshi12 we shouldn't show the initial tool tip from datanodes page "
It is going to decommission soon!!!". Rather we should call decommission info API and match with what all datanodes are in decommissioning and update their status on UI. Behavior should be consistent across all UI pages for same entity. And also you need to call the decommission info API once , not multiple times as user land up on datanodes page.
@devmadhuu Issue with Calling decommision API once is datanode api is called after 1 min if we call decommission API only once then we will not get updated values so checking UUIDs from decommission API and comparision will give incorrect results as i checked with Cluster data. It is going to decommmission soon msg is updated after calling decommision API and datanode API as we discussed previously datanode api is taking time to update records.
@smitajoshi12 we shouldn't show the initial tool tip from datanodes page "
It is going to decommission soon!!!". Rather we should call decommission info API and match with what all datanodes are in decommissioning and update their status on UI. Behavior should be consistent across all UI pages for same entity. And also you need to call the decommission info API once , not multiple times as user land up on datanodes page.@devmadhuu Issue with Calling decommision API once is datanode api is called after 1 min if we call decommission API only once then we will not get updated values so checking UUIDs from decommission API and comparision will give incorrect results as i checked with Cluster data. It is going to decommmission soon msg is updated after calling decommision API and datanode API as we discussed previously datanode api is taking time to update records.
@smitajoshi12 As discussed, pls change the operational state column value based on decommission info API on datanodes page. Showing tooltip is wrong because datanode decommissioning has already started.
@smitajoshi12 we shouldn't show the initial tool tip from datanodes page "
It is going to decommission soon!!!". Rather we should call decommission info API and match with what all datanodes are in decommissioning and update their status on UI. Behavior should be consistent across all UI pages for same entity. And also you need to call the decommission info API once , not multiple times as user land up on datanodes page.@devmadhuu Issue with Calling decommision API once is datanode api is called after 1 min if we call decommission API only once then we will not get updated values so checking UUIDs from decommission API and comparision will give incorrect results as i checked with Cluster data. It is going to decommmission soon msg is updated after calling decommision API and datanode API as we discussed previously datanode api is taking time to update records.
@smitajoshi12 As discussed, pls change the operational state column value based on decommission info API on datanodes page. Showing tooltip is wrong because datanode decommissioning has already started.
@devmadhuu
I have done changes suggested by you update column manually as comparing uuids from decommission api. If one api fails it will not block other apis attached screenshots. Both Apis handled synchronously called after completing one apis result.
@smitajoshi12 kindly resolve the conflicts in your code.
@smitajoshi12 kindly resolve the conflicts in your code.
@smitajoshi12 kindly resolve the conflicts in your code.
@devmadhuu Resolved conflicts and added new screenshot of Overview Page as alignment for tile has been changed.
@smitajoshi12 Pls resolve your conflicts.
@smitajoshi12 kindly resolve the conflicts in your code.
@devmadhuu Hi Devesh Resolved conflicts and merged master with all changes and did testing and pushed changes in latest commit.
@dombizita @devabhishekpal Hi Zita and Abhishek Could you review this PR
@smitajoshi12 Pls resolve your conflicts.
Resolved Merge Conflicts
Can you finish all the pending changes on this patch @smitajoshi12 Make sure you go through all of them
Can you finish all the pending changes on this patch @smitajoshi12 Make sure you go through all of them
@ArafatKhan2198 Solved all merge conflicts after Echart PR and done testing with with cluster data
@smitajoshi12 Thanks for improving the patch. Changes LGTM +1
Hi @smitajoshi12 , so I was suggesting to change the component layout as below:
This would make sure we are not covering too much information for the DN with the popup
Also could you let me know what No. of Under-Replicated Containers, No. of Unclosed Pipelines, No. of Unclosed Containers are used for?
If it is not very relevant to the user to get this information, we can omit this info I guess.
@devmadhuu @ArafatKhan2198 what do you think?
@devabhishekpal we need that minimal information for a node which is in decommission stage.
Thanks for letting me know @devmadhuu. Then I guess we can go with a more vertical layout as I attached in the design file @smitajoshi12.
@devabhishekpal we need that minimal information for a node which is in decommission stage.
@devabhishekpal https://issues.apache.org/jira/browse/HDDS-10514) I have refered this JIRA for details. Will Check Vertical Layout as it is collapsable if we have less information.
Hi @smitajoshi12 , so I was suggesting to change the component layout as below:
This would make sure we are not covering too much information for the DN with the popup Also could you let me know what
No. of Under-Replicated Containers,No. of Unclosed Pipelines,No. of Unclosed Containersare used for? If it is not very relevant to the user to get this information, we can omit this info I guess. @devmadhuu @ArafatKhan2198 what do you think?
@devabhishekpal
Done the changes in latest commit 8b82426c1568815fa88079d2ddfec738f7b85dbd and other css changes will raise another JIRA as improvement.
Thanks @smitajoshi12 for improving the patch. Now it LGTM +1
Thanks for the patch @smitajoshi12 & thanks @devabhishekpal @devmadhuu for the review.
