[ 
https://issues.apache.org/jira/browse/HDDS-13101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17953260#comment-17953260
 ] 

Ethan Rose commented on HDDS-13101:
-----------------------------------

I think we can reduce each datanode entry in the list output to something like 
this:

{code}
{
    "id" : "f4e6316f-a5a4-47d4-9bd7-c47253c23d6e",
    "hostname" : "ozone-datanode-1.ozone_default",
    "ipAddress" : "172.20.0.6",
    "healthState" : "HEALTHY",
    "persistedOpState" : "IN_SERVICE",
    "persistedOpStateExpiryEpochSec" : 0,
    "decommissioned" : false,
    "maintenance" : false,
    "topology": {
      "networkLocation" : "/default-rack",
      "networkName" : "f4e6316f-a5a4-47d4-9bd7-c47253c23d6e",
      "networkFullPath" : "/default-rack/f4e6316f-a5a4-47d4-9bd7-c47253c23d6e",
      "numOfLeaves" : 1,
      "level" : 3,
      "cost" : 0,
    }
}
{code}

We can save the port information for {{ozone admin datanode info}} in 
HDDS-13097. With HDDS-13096 volume counts would be present here too. This would 
technically be an incompatible change to the output so it must be managed 
accordingly.

> Duplicate information in datanode list output
> ---------------------------------------------
>
>                 Key: HDDS-13101
>                 URL: https://issues.apache.org/jira/browse/HDDS-13101
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Ethan Rose
>            Priority: Major
>
> Each datanode shown in {{ozone admin datanode list --json}} contains lots of 
> duplicate information. This makes the list output verbose and hard to read 
> when there are lots of nodes. We should include only minimal information 
> about each node in the list output, save more verbose info for {{ozone admin 
> datanode info}}, and not have duplicate information for in any command 
> output. Here is the output for one node:
> {code}
> [ {
>   "datanodeDetails" : {
>     "level" : 3,
>     "cost" : 0,
>     "id" : {
>       "uuid" : "f4e6316f-a5a4-47d4-9bd7-c47253c23d6e",
>       "id" : "f4e6316f-a5a4-47d4-9bd7-c47253c23d6e",
>       "byteString" : {
>         "validUtf8" : true,
>         "empty" : false
>       }
>     },
>     "ipAddress" : "172.20.0.6",
>     "hostName" : "ozone-datanode-1.ozone_default",
>     "ports" : [ {
>       "name" : "HTTP",
>       "value" : 9882
>     }, {
>       "name" : "CLIENT_RPC",
>       "value" : 19864
>     }, {
>       "name" : "REPLICATION",
>       "value" : 9886
>     }, {
>       "name" : "RATIS",
>       "value" : 9858
>     }, {
>       "name" : "RATIS_ADMIN",
>       "value" : 9857
>     }, {
>       "name" : "RATIS_SERVER",
>       "value" : 9856
>     }, {
>       "name" : "RATIS_DATASTREAM",
>       "value" : 9855
>     }, {
>       "name" : "STANDALONE",
>       "value" : 9859
>     } ],
>     "setupTime" : 0,
>     "persistedOpState" : "IN_SERVICE",
>     "persistedOpStateExpiryEpochSec" : 0,
>     "initialVersion" : 0,
>     "currentVersion" : 2,
>     "uuid" : "f4e6316f-a5a4-47d4-9bd7-c47253c23d6e",
>     "uuidString" : "f4e6316f-a5a4-47d4-9bd7-c47253c23d6e",
>     "ipAddressAsByteString" : {
>       "string" : "172.20.0.6",
>       "bytes" : {
>         "validUtf8" : true,
>         "empty" : false
>       }
>     },
>     "hostNameAsByteString" : {
>       "string" : "ozone-datanode-1.ozone_default",
>       "bytes" : {
>         "validUtf8" : true,
>         "empty" : false
>       }
>     },
>     "ratisPort" : {
>       "name" : "RATIS",
>       "value" : 9858
>     },
>     "standalonePort" : {
>       "name" : "STANDALONE",
>       "value" : 9859
>     },
>     "decommissioned" : false,
>     "maintenance" : false,
>     "networkLocation" : "/default-rack",
>     "networkName" : "f4e6316f-a5a4-47d4-9bd7-c47253c23d6e",
>     "networkLocationAsByteString" : {
>       "string" : "/default-rack",
>       "bytes" : {
>         "validUtf8" : true,
>         "empty" : false
>       }
>     },
>     "networkNameAsByteString" : {
>       "string" : "f4e6316f-a5a4-47d4-9bd7-c47253c23d6e",
>       "bytes" : {
>         "validUtf8" : true,
>         "empty" : false
>       }
>     },
>     "networkFullPath" : "/default-rack/f4e6316f-a5a4-47d4-9bd7-c47253c23d6e",
>     "numOfLeaves" : 1
>   },
>   "healthState" : "HEALTHY",
>   "opState" : "IN_SERVICE"
> } ]
> {code}
> Some of the issues here are:
> * {{initialVersion}} is for testing only
> * ID and UUID is duplicated four times in various formats
> * IP and hostnames are duplicated
> * Ratis and standalone ports are duplicated
> * Operational state is duplicated as {{opState}} and {{persistedOpState}}
> * SCM doesn't populate the value of {{setupTime}}, only datanodes set this 
> when they start, so it is always 0.
> * Level and cost should be moved to a dedicated topology section because the 
> terms are ambiguous on their own.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@ozone.apache.org
For additional commands, e-mail: issues-h...@ozone.apache.org

Reply via email to