Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Once HDDS-7817 is resolved, and the HTTP and HTTPS port information is available in the DatanodeDetails object, update the backend for the Node Status table on the SCM UI.
Add the port information to the returned Datanode information, and add a link to the Datanode WebUI in the table around the Datanode hostname.
Note that, based on the related HTTP policy config (ozone.http.policy) that is represented via HTTPConfig#Policy, there can be 3 configured case for every DN and SCM:
1. HTTP_ONLY -> the service does serve its webUI via HTTP
2. HTTPS_ONLY -> the service does serve its webUI via HTTPS
3. HTTP_AND_HTTPS -> the service does serve its webUI via HTTP and HTTPS both.
In these cases, either HTTP or HTTPS ports or both should be set on the DataNodeDetails object, and with that transferred to the SCM UI code to display.
On the SCM UI we can use the following logic to decide what we would like to show:
1. if there is only either HTTP or HTTPS port is there for the DataNode, provide the link with the respective URL scheme being applied.
2. if there are both HTTP and HTTPS ports provided the UI has to select the one that fits to the current URL scheme, so if SCM webUI is shown via HTTP, it should link to the HTTP port with HTTP URL scheme, if the SCM webUI is shown via HTTPS it should link to the HTTPS port with the HTTPS URL scheme.