This is an automated email from the ASF dual-hosted git repository.

ibessonov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new f1cf6bd6e3 IGNITE-19240 Use HTTPS port for dynamic completers when 
connected to SSL enabled node (#2830)
f1cf6bd6e3 is described below

commit f1cf6bd6e37b2de53f37f17d823dfbd10521352e
Author: Vadim Pakhnushev <[email protected]>
AuthorDate: Tue Nov 14 14:14:29 2023 +0300

    IGNITE-19240 Use HTTPS port for dynamic completers when connected to SSL 
enabled node (#2830)
---
 ...liCommandTestNotInitializedIntegrationBase.java |  9 ++++
 .../internal/cli/commands/ItNodeNameTest.java      | 21 ++++++--
 ...tConnectWithBasicAuthenticationCommandTest.java | 18 +++----
 .../questions/ItConnectToBasicAuthClusterTest.java |  6 +--
 .../commands/questions/ItConnectToClusterTest.java |  3 +-
 .../ItConnectToSslAndAuthClusterTest.java          | 63 ++++++++++++----------
 .../questions/ItConnectToSslClusterTest.java       | 36 +++++++++++--
 .../cli/commands/sql/ItSqlConnectSslBasicTest.java | 10 ++--
 .../cli/commands/sql/ItSqlConnectSslTest.java      | 10 ++--
 .../internal/cli/ssl/ItSslCustomCipherTest.java    | 20 +++----
 .../apache/ignite/internal/cli/ssl/ItSslTest.java  | 36 ++++++-------
 .../repl/registry/impl/NodeNameRegistryImpl.java   |  4 ++
 .../apache/ignite/internal/rest/RestComponent.java |  6 +--
 .../component/ItRestAddressReportTest.java         | 27 ++++------
 .../org/apache/ignite/internal/app/IgniteImpl.java |  6 +--
 15 files changed, 160 insertions(+), 115 deletions(-)

diff --git 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/CliCommandTestNotInitializedIntegrationBase.java
 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/CliCommandTestNotInitializedIntegrationBase.java
index cf350a9caf..cbf7155556 100644
--- 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/CliCommandTestNotInitializedIntegrationBase.java
+++ 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/CliCommandTestNotInitializedIntegrationBase.java
@@ -27,6 +27,7 @@ import java.io.StringWriter;
 import org.apache.ignite.internal.cli.CliIntegrationTestBase;
 import 
org.apache.ignite.internal.cli.commands.cliconfig.TestConfigManagerHelper;
 import 
org.apache.ignite.internal.cli.commands.cliconfig.TestConfigManagerProvider;
+import org.apache.ignite.internal.cli.config.CliConfigKeys;
 import org.apache.ignite.internal.cli.config.ConfigDefaultValueProvider;
 import org.apache.ignite.internal.cli.core.repl.EventListeningActivationPoint;
 import 
org.apache.ignite.internal.cli.core.repl.context.CommandLineContextProvider;
@@ -185,4 +186,12 @@ public class CliCommandTestNotInitializedIntegrationBase 
extends CliIntegrationT
                 .as("Expected command error output to contain: " + 
expectedErrOutput)
                 .contains(expectedErrOutput);
     }
+
+    protected void setConfigProperty(CliConfigKeys key, String value) {
+        configManagerProvider.configManager.setProperty(key.value(), value);
+    }
+
+    protected String getConfigProperty(CliConfigKeys key) {
+        return configManagerProvider.get().getCurrentProperty(key.value());
+    }
 }
diff --git 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/ItNodeNameTest.java
 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/ItNodeNameTest.java
index 30c205c500..9f28c3e84f 100644
--- 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/ItNodeNameTest.java
+++ 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/ItNodeNameTest.java
@@ -17,11 +17,13 @@
 
 package org.apache.ignite.internal.cli.commands;
 
+import static org.assertj.core.api.Assertions.assertThat;
 import static org.awaitility.Awaitility.await;
 import static org.junit.jupiter.api.Assertions.assertAll;
 
-import jakarta.inject.Inject;
-import org.apache.ignite.internal.cli.core.repl.registry.NodeNameRegistry;
+import java.util.List;
+import java.util.stream.Collectors;
+import org.apache.ignite.internal.app.IgniteImpl;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Test;
@@ -29,9 +31,6 @@ import org.junit.jupiter.api.Test;
 /** Tests for ignite node commands with a provided node name. */
 public class ItNodeNameTest extends CliCommandTestInitializedIntegrationBase {
 
-    @Inject
-    private NodeNameRegistry nodeNameRegistry;
-
     @Override
     protected Class<?> getCommandClass() {
         return TopLevelCliReplCommand.class;
@@ -45,6 +44,18 @@ public class ItNodeNameTest extends 
CliCommandTestInitializedIntegrationBase {
         await().until(() -> !nodeNameRegistry.names().isEmpty());
     }
 
+    @Test
+    void nodeUrls() {
+        List<String> urls = CLUSTER_NODES.stream()
+                .map(IgniteImpl.class::cast)
+                .map(IgniteImpl::restHttpAddress)
+                .map(address -> "http://"; + address)
+                .collect(Collectors.toList());
+
+        // Node urls contain HTTP urls
+        
assertThat(nodeNameRegistry.urls()).containsExactlyInAnyOrderElementsOf(urls);
+    }
+
     @Test
     @DisplayName("Should display node version with provided node name")
     void nodeVersion() {
diff --git 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/connect/ItConnectWithBasicAuthenticationCommandTest.java
 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/connect/ItConnectWithBasicAuthenticationCommandTest.java
index 19c32ed0f9..c443f02b79 100644
--- 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/connect/ItConnectWithBasicAuthenticationCommandTest.java
+++ 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/connect/ItConnectWithBasicAuthenticationCommandTest.java
@@ -29,7 +29,6 @@ import java.io.IOException;
 import org.apache.ignite.InitParametersBuilder;
 import org.apache.ignite.internal.cli.commands.ItConnectToClusterTestBase;
 import org.apache.ignite.internal.cli.config.CliConfigKeys;
-import org.apache.ignite.internal.cli.config.CliConfigKeys.Constants;
 import org.apache.ignite.internal.cli.core.rest.ApiClientFactory;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Test;
@@ -93,7 +92,7 @@ class ItConnectWithBasicAuthenticationCommandTest extends 
ItConnectToClusterTest
         // Given basic authentication is configured in config file
         configManagerProvider.setConfigFile(createIntegrationTestsConfig(), 
createJdbcTestsBasicSecretConfig());
         // And wrong password is provided
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.Constants.BASIC_AUTHENTICATION_PASSWORD,
 "wrong-password");
+        setConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD, 
"wrong-password");
 
         // Given prompt before connect
         assertThat(getPrompt()).isEqualTo("[disconnected]> ");
@@ -190,7 +189,7 @@ class ItConnectWithBasicAuthenticationCommandTest extends 
ItConnectToClusterTest
         // Given basic authentication is configured in config file
         configManagerProvider.setConfigFile(createIntegrationTestsConfig(), 
createJdbcTestsBasicSecretConfig());
         // And wrong password is in config
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.Constants.BASIC_AUTHENTICATION_PASSWORD,
 "wrong-password");
+        setConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD, 
"wrong-password");
 
         // Given prompt before connect
         assertThat(getPrompt()).isEqualTo("[disconnected]> ");
@@ -236,8 +235,8 @@ class ItConnectWithBasicAuthenticationCommandTest extends 
ItConnectToClusterTest
         // And prompt is still disconnected
         assertThat(getPrompt()).isEqualTo("[disconnected]> ");
         //Previous correct values restored in config
-        assertEquals("admin", 
configManagerProvider.get().getCurrentProperty(Constants.BASIC_AUTHENTICATION_USERNAME));
-        assertEquals("password", 
configManagerProvider.get().getCurrentProperty(Constants.BASIC_AUTHENTICATION_PASSWORD));
+        assertEquals("admin", 
getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME));
+        assertEquals("password", 
getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD));
     }
 
     @Test
@@ -271,7 +270,7 @@ class ItConnectWithBasicAuthenticationCommandTest extends 
ItConnectToClusterTest
         // Given basic authentication is configured in config file
         configManagerProvider.setConfigFile(createIntegrationTestsConfig(), 
createJdbcTestsBasicSecretConfig());
         // And wrong password is in config
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.Constants.BASIC_AUTHENTICATION_PASSWORD,
 "wrong-password");
+        setConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD, 
"wrong-password");
 
         // Given prompt before connect
         assertThat(getPrompt()).isEqualTo("[disconnected]> ");
@@ -287,8 +286,7 @@ class ItConnectWithBasicAuthenticationCommandTest extends 
ItConnectToClusterTest
                 this::assertErrOutputIsEmpty,
                 () -> assertThat(getPrompt()).isEqualTo("[admin:" + nodeName() 
+ "]> "),
                 () -> assertEquals("password", 
apiClientFactory.currentSessionSettings().basicAuthenticationPassword()),
-                () -> assertEquals("wrong-password",
-                        
configManagerProvider.get().getCurrentProperty(Constants.BASIC_AUTHENTICATION_PASSWORD))
+                () -> assertEquals("wrong-password", 
getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD))
         );
     }
 
@@ -429,7 +427,7 @@ class ItConnectWithBasicAuthenticationCommandTest extends 
ItConnectToClusterTest
         // And prompt shows username and node name
         assertThat(getPrompt()).isEqualTo("[admin:" + nodeName() + "]> ");
         // And correct values are stored in config
-        assertEquals("admin", 
configManagerProvider.get().getCurrentProperty(Constants.BASIC_AUTHENTICATION_USERNAME));
-        assertEquals("password", 
configManagerProvider.get().getCurrentProperty(Constants.BASIC_AUTHENTICATION_PASSWORD));
+        assertEquals("admin", 
getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME));
+        assertEquals("password", 
getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD));
     }
 }
diff --git 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToBasicAuthClusterTest.java
 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToBasicAuthClusterTest.java
index 68eeb56ed1..908174d011 100644
--- 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToBasicAuthClusterTest.java
+++ 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToBasicAuthClusterTest.java
@@ -57,9 +57,7 @@ class ItConnectToBasicAuthClusterTest extends 
ItConnectToClusterTestBase {
         // And prompt shows user name and node name
         assertThat(getPrompt()).isEqualTo("[admin:" + nodeName() + "]> ");
 
-        
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME.value()))
-                .isEqualTo("admin");
-        
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD.value()))
-                .isEqualTo("password");
+        
assertThat(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME)).isEqualTo("admin");
+        
assertThat(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD)).isEqualTo("password");
     }
 }
diff --git 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToClusterTest.java
 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToClusterTest.java
index 48aa465b0a..68f5dd7eb5 100644
--- 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToClusterTest.java
+++ 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToClusterTest.java
@@ -82,8 +82,7 @@ class ItConnectToClusterTest extends 
ItConnectToClusterTestBase {
         // And prompt is changed to connect
         String promptAfter = getPrompt();
         assertThat(promptAfter).isEqualTo("[" + nodeName() + "]> ");
-        
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.CLUSTER_URL.value()))
-                .isEqualTo("http://localhost:10300";);
+        
assertThat(getConfigProperty(CliConfigKeys.CLUSTER_URL)).isEqualTo("http://localhost:10300";);
     }
 
     @Test
diff --git 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToSslAndAuthClusterTest.java
 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToSslAndAuthClusterTest.java
index 1b785e6612..43d0e6fcf2 100644
--- 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToSslAndAuthClusterTest.java
+++ 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToSslAndAuthClusterTest.java
@@ -75,14 +75,15 @@ class ItConnectToSslAndAuthClusterTest extends 
ItConnectToClusterTestBase {
         // And prompt is changed to connect
         assertThat(getPrompt()).isEqualTo("[admin:" + nodeName() + "]> ");
 
-        assertAll(() -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PATH.value()))
+        assertAll(
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH))
                         
.isEqualTo(escapeWindowsPath(NodeConfig.resolvedTruststorePath)),
-                () -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD.value()))
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD))
                         
.isEqualTo(escapeWindowsPath(NodeConfig.trustStorePassword)),
 
-                () -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME.value()))
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME))
                         .isEqualTo("admin"),
-                () -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD.value()))
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD))
                         .isEqualTo("password")
         );
     }
@@ -117,10 +118,11 @@ class ItConnectToSslAndAuthClusterTest extends 
ItConnectToClusterTestBase {
         // And prompt is disconnected
         assertThat(getPrompt()).isEqualTo("[disconnected]> ");
 
-        assertAll(() -> 
assertNull(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PATH.value())),
-                () -> 
assertNull(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD.value())),
-                () -> 
assertNull(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME.value())),
-                () -> 
assertNull(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD.value()))
+        assertAll(
+                () -> 
assertNull(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH)),
+                () -> 
assertNull(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD)),
+                () -> 
assertNull(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME)),
+                () -> 
assertNull(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD))
         );
     }
 
@@ -155,10 +157,11 @@ class ItConnectToSslAndAuthClusterTest extends 
ItConnectToClusterTestBase {
         // And prompt is disconnected
         assertThat(getPrompt()).isEqualTo("[disconnected]> ");
 
-        assertAll(() -> 
assertNull(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PATH.value())),
-                () -> 
assertNull(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD.value())),
-                () -> 
assertNull(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME.value())),
-                () -> 
assertNull(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD.value()))
+        assertAll(
+                () -> 
assertNull(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH)),
+                () -> 
assertNull(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD)),
+                () -> 
assertNull(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME)),
+                () -> 
assertNull(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD))
         );
     }
 
@@ -193,13 +196,14 @@ class ItConnectToSslAndAuthClusterTest extends 
ItConnectToClusterTestBase {
         // And prompt is disconnected
         assertThat(getPrompt()).isEqualTo("[disconnected]> ");
 
-        assertAll(() -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PATH.value()))
+        assertAll(
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH))
                         
.isEqualTo(escapeWindowsPath(NodeConfig.resolvedTruststorePath)),
-                () -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD.value()))
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD))
                         
.isEqualTo(escapeWindowsPath(NodeConfig.trustStorePassword)),
 
-                () -> 
assertNull(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME.value())),
-                () -> 
assertNull(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD.value()))
+                () -> 
assertNull(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME)),
+                () -> 
assertNull(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD))
         );
     }
 
@@ -232,14 +236,15 @@ class ItConnectToSslAndAuthClusterTest extends 
ItConnectToClusterTestBase {
         // And prompt is changed to connect
         assertThat(getPrompt()).isEqualTo("[admin:" + nodeName() + "]> ");
 
-        assertAll(() -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PATH.value()))
+        assertAll(
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH))
                         
.isEqualTo(escapeWindowsPath(NodeConfig.resolvedTruststorePath)),
-                () -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD.value()))
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD))
                         
.isEqualTo(escapeWindowsPath(NodeConfig.trustStorePassword)),
 
-                () -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME.value()))
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME))
                         .isEqualTo("admin"),
-                () -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD.value()))
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD))
                         .isEqualTo("password")
         );
     }
@@ -274,14 +279,15 @@ class ItConnectToSslAndAuthClusterTest extends 
ItConnectToClusterTestBase {
         // And prompt is changed to connect
         assertThat(getPrompt()).isEqualTo("[admin:" + nodeName() + "]> ");
 
-        assertAll(() -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PATH.value()))
+        assertAll(
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH))
                         
.isEqualTo(escapeWindowsPath(NodeConfig.resolvedTruststorePath)),
-                () -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD.value()))
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD))
                         
.isEqualTo(escapeWindowsPath(NodeConfig.trustStorePassword)),
 
-                () -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME.value()))
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME))
                         .isEqualTo("admin"),
-                () -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD.value()))
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD))
                         .isEqualTo("password")
         );
     }
@@ -317,14 +323,15 @@ class ItConnectToSslAndAuthClusterTest extends 
ItConnectToClusterTestBase {
         // And prompt is changed to connect
         assertThat(getPrompt()).isEqualTo("[admin:" + nodeName() + "]> ");
 
-        assertAll(() -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PATH.value()))
+        assertAll(
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH))
                         
.isEqualTo(escapeWindowsPath(NodeConfig.resolvedTruststorePath)),
-                () -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD.value()))
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD))
                         
.isEqualTo(escapeWindowsPath(NodeConfig.trustStorePassword)),
 
-                () -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME.value()))
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_USERNAME))
                         .isEqualTo("admin"),
-                () -> 
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD.value()))
+                () -> 
assertThat(getConfigProperty(CliConfigKeys.BASIC_AUTHENTICATION_PASSWORD))
                         .isEqualTo("password")
         );
     }
diff --git 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToSslClusterTest.java
 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToSslClusterTest.java
index 3ed391e80c..723d459cfe 100644
--- 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToSslClusterTest.java
+++ 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/questions/ItConnectToSslClusterTest.java
@@ -19,10 +19,14 @@ package org.apache.ignite.internal.cli.commands.questions;
 
 import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.escapeWindowsPath;
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.awaitility.Awaitility.await;
 import static org.junit.jupiter.api.Assertions.assertAll;
 
 import java.io.IOException;
+import java.util.List;
+import java.util.stream.Collectors;
 import org.apache.ignite.internal.NodeConfig;
+import org.apache.ignite.internal.app.IgniteImpl;
 import org.apache.ignite.internal.cli.commands.ItConnectToClusterTestBase;
 import 
org.apache.ignite.internal.cli.commands.cliconfig.TestConfigManagerHelper;
 import org.apache.ignite.internal.cli.config.CliConfigKeys;
@@ -45,8 +49,8 @@ class ItConnectToSslClusterTest extends 
ItConnectToClusterTestBase {
         // And default URL is HTTPS
         
configManagerProvider.setConfigFile(TestConfigManagerHelper.createClusterUrlSslConfig());
         // And trust store is configured
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.REST_TRUST_STORE_PATH.value(),
 NodeConfig.resolvedTruststorePath);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD.value(),
 NodeConfig.trustStorePassword);
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH, 
NodeConfig.resolvedTruststorePath);
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD, 
NodeConfig.trustStorePassword);
 
         // And last connected URL is equal to the default URL
         stateConfigProvider.config = 
TestStateConfigHelper.createLastConnectedSslDefault();
@@ -95,9 +99,33 @@ class ItConnectToSslClusterTest extends 
ItConnectToClusterTestBase {
         // And prompt is changed to connect
         assertThat(getPrompt()).isEqualTo("[" + nodeName() + "]> ");
 
-        
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PATH.value()))
+        assertThat(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH))
                 
.isEqualTo(escapeWindowsPath(NodeConfig.resolvedTruststorePath));
-        
assertThat(configManagerProvider.get().getCurrentProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD.value()))
+        assertThat(getConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD))
                 .isEqualTo(escapeWindowsPath(NodeConfig.trustStorePassword));
     }
+
+    @Test
+    void nodeUrls() {
+        // When set up ssl configuration
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH, 
NodeConfig.resolvedTruststorePath);
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD, 
NodeConfig.trustStorePassword);
+        setConfigProperty(CliConfigKeys.REST_KEY_STORE_PATH, 
NodeConfig.resolvedKeystorePath);
+        setConfigProperty(CliConfigKeys.REST_KEY_STORE_PASSWORD, 
NodeConfig.keyStorePassword);
+
+        // And connect via HTTPS
+        execute("connect", "https://localhost:10400";);
+
+        // Then wait for node names
+        await().until(() -> !nodeNameRegistry.names().isEmpty());
+
+        List<String> urls = CLUSTER_NODES.stream()
+                .map(IgniteImpl.class::cast)
+                .map(IgniteImpl::restHttpsAddress)
+                .map(address -> "https://"; + address)
+                .collect(Collectors.toList());
+
+        // Then node urls contain HTTPS urls
+        
assertThat(nodeNameRegistry.urls()).containsExactlyInAnyOrderElementsOf(urls);
+    }
 }
diff --git 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/sql/ItSqlConnectSslBasicTest.java
 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/sql/ItSqlConnectSslBasicTest.java
index 310a8ff088..4cf2a5ec0c 100644
--- 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/sql/ItSqlConnectSslBasicTest.java
+++ 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/sql/ItSqlConnectSslBasicTest.java
@@ -45,11 +45,11 @@ class ItSqlConnectSslBasicTest extends 
CliSqlConnectCommandTestBase {
     void jdbcOkWithSslAndBasicConfiguredAfterConnect() {
         // Given SSL and basic authentication is configured in config file
         configManagerProvider.setConfigFile(createIntegrationTestsConfig(), 
createJdbcTestsBasicSecretConfig());
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.JDBC_TRUST_STORE_PATH.value(),
 NodeConfig.resolvedTruststorePath);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.JDBC_TRUST_STORE_PASSWORD.value(),
 NodeConfig.trustStorePassword);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.JDBC_KEY_STORE_PATH.value(),
 NodeConfig.resolvedKeystorePath);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.JDBC_KEY_STORE_PASSWORD.value(),
 NodeConfig.keyStorePassword);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.JDBC_CLIENT_AUTH.value(),
 "require");
+        setConfigProperty(CliConfigKeys.JDBC_TRUST_STORE_PATH, 
NodeConfig.resolvedTruststorePath);
+        setConfigProperty(CliConfigKeys.JDBC_TRUST_STORE_PASSWORD, 
NodeConfig.trustStorePassword);
+        setConfigProperty(CliConfigKeys.JDBC_KEY_STORE_PATH, 
NodeConfig.resolvedKeystorePath);
+        setConfigProperty(CliConfigKeys.JDBC_KEY_STORE_PASSWORD, 
NodeConfig.keyStorePassword);
+        setConfigProperty(CliConfigKeys.JDBC_CLIENT_AUTH, "require");
 
         // Given connected state
         execute("connect");
diff --git 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/sql/ItSqlConnectSslTest.java
 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/sql/ItSqlConnectSslTest.java
index 06149c6e62..7971c887aa 100644
--- 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/sql/ItSqlConnectSslTest.java
+++ 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/sql/ItSqlConnectSslTest.java
@@ -34,11 +34,11 @@ class ItSqlConnectSslTest extends 
CliSqlConnectCommandTestBase {
     @DisplayName("Should succeed after connect with SSL configured")
     void jdbcOkWithSslConfiguredAfterConnect() {
         // Given SSL configured in config file
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.JDBC_TRUST_STORE_PATH.value(),
 NodeConfig.resolvedTruststorePath);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.JDBC_TRUST_STORE_PASSWORD.value(),
 NodeConfig.trustStorePassword);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.JDBC_KEY_STORE_PATH.value(),
 NodeConfig.resolvedKeystorePath);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.JDBC_KEY_STORE_PASSWORD.value(),
 NodeConfig.keyStorePassword);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.JDBC_CLIENT_AUTH.value(),
 "require");
+        setConfigProperty(CliConfigKeys.JDBC_TRUST_STORE_PATH, 
NodeConfig.resolvedTruststorePath);
+        setConfigProperty(CliConfigKeys.JDBC_TRUST_STORE_PASSWORD, 
NodeConfig.trustStorePassword);
+        setConfigProperty(CliConfigKeys.JDBC_KEY_STORE_PATH, 
NodeConfig.resolvedKeystorePath);
+        setConfigProperty(CliConfigKeys.JDBC_KEY_STORE_PASSWORD, 
NodeConfig.keyStorePassword);
+        setConfigProperty(CliConfigKeys.JDBC_CLIENT_AUTH, "require");
 
         // Given connected state
         execute("connect");
diff --git 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/ssl/ItSslCustomCipherTest.java
 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/ssl/ItSslCustomCipherTest.java
index 72bbb4e97e..8341f30f04 100644
--- 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/ssl/ItSslCustomCipherTest.java
+++ 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/ssl/ItSslCustomCipherTest.java
@@ -55,13 +55,13 @@ public class ItSslCustomCipherTest extends 
CliCommandTestNotInitializedIntegrati
     @Test
     void compatibleCiphers() {
         // When REST SSL is enabled
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.REST_TRUST_STORE_PATH.value(),
 NodeConfig.resolvedTruststorePath);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD.value(),
 NodeConfig.trustStorePassword);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.REST_KEY_STORE_PATH.value(),
 NodeConfig.resolvedKeystorePath);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.REST_KEY_STORE_PASSWORD.value(),
 NodeConfig.keyStorePassword);
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH, 
NodeConfig.resolvedTruststorePath);
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD, 
NodeConfig.trustStorePassword);
+        setConfigProperty(CliConfigKeys.REST_KEY_STORE_PATH, 
NodeConfig.resolvedKeystorePath);
+        setConfigProperty(CliConfigKeys.REST_KEY_STORE_PASSWORD, 
NodeConfig.keyStorePassword);
 
         // And explicitly set the same cipher as for the node
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.REST_CIPHERS.value(),
 CIPHER1);
+        setConfigProperty(CliConfigKeys.REST_CIPHERS, CIPHER1);
 
         // And connect via HTTPS
         connect("https://localhost:10400";);
@@ -76,13 +76,13 @@ public class ItSslCustomCipherTest extends 
CliCommandTestNotInitializedIntegrati
     @Test
     void incompatibleCiphers() {
         // When REST SSL is enabled
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.REST_TRUST_STORE_PATH.value(),
 NodeConfig.resolvedTruststorePath);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD.value(),
 NodeConfig.trustStorePassword);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.REST_KEY_STORE_PATH.value(),
 NodeConfig.resolvedKeystorePath);
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.REST_KEY_STORE_PASSWORD.value(),
 NodeConfig.keyStorePassword);
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH, 
NodeConfig.resolvedTruststorePath);
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD, 
NodeConfig.trustStorePassword);
+        setConfigProperty(CliConfigKeys.REST_KEY_STORE_PATH, 
NodeConfig.resolvedKeystorePath);
+        setConfigProperty(CliConfigKeys.REST_KEY_STORE_PASSWORD, 
NodeConfig.keyStorePassword);
 
         // And explicitly set cipher different from the node
-        
configManagerProvider.configManager.setProperty(CliConfigKeys.REST_CIPHERS.value(),
 CIPHER2);
+        setConfigProperty(CliConfigKeys.REST_CIPHERS, CIPHER2);
 
         // And connect via HTTPS
         connect("https://localhost:10400";);
diff --git 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/ssl/ItSslTest.java
 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/ssl/ItSslTest.java
index 4d3a7ae52f..70df23f3c4 100644
--- 
a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/ssl/ItSslTest.java
+++ 
b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/ssl/ItSslTest.java
@@ -23,6 +23,7 @@ import jakarta.inject.Inject;
 import org.apache.ignite.internal.NodeConfig;
 import org.apache.ignite.internal.cli.call.connect.ConnectCall;
 import org.apache.ignite.internal.cli.call.connect.ConnectCallInput;
+import org.apache.ignite.internal.cli.config.CliConfigKeys;
 import org.apache.ignite.internal.cli.core.flow.builder.Flows;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Test;
@@ -59,11 +60,10 @@ public class ItSslTest extends 
CliSslNotInitializedIntegrationTestBase {
     @DisplayName("Should connect to cluster with given url")
     void connectToSecuredNode() {
         // When set up ssl configuration
-        execute("cli", "config", "set", "ignite.rest.key-store.path=" + 
NodeConfig.resolvedKeystorePath);
-        execute("cli", "config", "set", "ignite.rest.key-store.password=" + 
NodeConfig.keyStorePassword);
-        execute("cli", "config", "set", "ignite.rest.trust-store.path=" + 
NodeConfig.resolvedTruststorePath);
-        execute("cli", "config", "set", "ignite.rest.trust-store.password=" + 
NodeConfig.trustStorePassword);
-        resetOutput();
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH, 
NodeConfig.resolvedTruststorePath);
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD, 
NodeConfig.trustStorePassword);
+        setConfigProperty(CliConfigKeys.REST_KEY_STORE_PATH, 
NodeConfig.resolvedKeystorePath);
+        setConfigProperty(CliConfigKeys.REST_KEY_STORE_PASSWORD, 
NodeConfig.keyStorePassword);
 
         // And connect via HTTPS
         connect("https://localhost:10401";);
@@ -79,10 +79,10 @@ public class ItSslTest extends 
CliSslNotInitializedIntegrationTestBase {
     @DisplayName("Should show an error message, when key-store password is 
incorrect")
     void incorrectKeyStorePassword() {
         // When set up ssl configuration
-        execute("cli", "config", "set", "ignite.rest.key-store.path=" + 
NodeConfig.resolvedKeystorePath);
-        execute("cli", "config", "set", 
"ignite.rest.key-store.password=wrong-password");
-        execute("cli", "config", "set", "ignite.rest.trust-store.path=" + 
NodeConfig.resolvedTruststorePath);
-        execute("cli", "config", "set", "ignite.rest.trust-store.password=" + 
NodeConfig.trustStorePassword);
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH, 
NodeConfig.resolvedTruststorePath);
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD, 
NodeConfig.trustStorePassword);
+        setConfigProperty(CliConfigKeys.REST_KEY_STORE_PATH, 
NodeConfig.resolvedKeystorePath);
+        setConfigProperty(CliConfigKeys.REST_KEY_STORE_PASSWORD, 
"wrong-password");
         resetOutput();
 
         // And connect via HTTPS
@@ -99,11 +99,10 @@ public class ItSslTest extends 
CliSslNotInitializedIntegrationTestBase {
     @DisplayName("Should show an error message, when trust-store password is 
incorrect")
     void incorrectTrustStorePassword() {
         // When set up ssl configuration
-        execute("cli", "config", "set", "ignite.rest.key-store.path=" + 
NodeConfig.resolvedKeystorePath);
-        execute("cli", "config", "set", "ignite.rest.key-store.password=" + 
NodeConfig.keyStorePassword);
-        execute("cli", "config", "set", "ignite.rest.trust-store.path=" + 
NodeConfig.resolvedTruststorePath);
-        execute("cli", "config", "set", 
"ignite.rest.trust-store.password=wrong-password");
-        resetOutput();
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH, 
NodeConfig.resolvedTruststorePath);
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD, 
"wrong-password");
+        setConfigProperty(CliConfigKeys.REST_KEY_STORE_PATH, 
NodeConfig.resolvedKeystorePath);
+        setConfigProperty(CliConfigKeys.REST_KEY_STORE_PASSWORD, 
NodeConfig.keyStorePassword);
 
         // And connect via HTTPS
         connect("https://localhost:10401";);
@@ -119,11 +118,10 @@ public class ItSslTest extends 
CliSslNotInitializedIntegrationTestBase {
     @DisplayName("Should show an error message, when key-store path is 
incorrect")
     void incorrectKeyStorePath() {
         // When set up ssl configuration
-        execute("cli", "config", "set", "ignite.rest.key-store.path=" + 
NodeConfig.resolvedKeystorePath + "-wrong-path");
-        execute("cli", "config", "set", "ignite.rest.key-store.password=" + 
NodeConfig.keyStorePassword);
-        execute("cli", "config", "set", "ignite.rest.trust-store.path=" + 
NodeConfig.resolvedTruststorePath);
-        execute("cli", "config", "set", "ignite.rest.trust-store.password=" + 
NodeConfig.keyStorePassword);
-        resetOutput();
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PATH, 
NodeConfig.resolvedTruststorePath);
+        setConfigProperty(CliConfigKeys.REST_TRUST_STORE_PASSWORD, 
NodeConfig.trustStorePassword);
+        setConfigProperty(CliConfigKeys.REST_KEY_STORE_PATH, 
NodeConfig.resolvedKeystorePath + "-wrong-path");
+        setConfigProperty(CliConfigKeys.REST_KEY_STORE_PASSWORD, 
NodeConfig.keyStorePassword);
 
         // And connect via HTTPS
         connect("https://localhost:10401";);
diff --git 
a/modules/cli/src/main/java/org/apache/ignite/internal/cli/core/repl/registry/impl/NodeNameRegistryImpl.java
 
b/modules/cli/src/main/java/org/apache/ignite/internal/cli/core/repl/registry/impl/NodeNameRegistryImpl.java
index b2657a28a1..693cabca1d 100644
--- 
a/modules/cli/src/main/java/org/apache/ignite/internal/cli/core/repl/registry/impl/NodeNameRegistryImpl.java
+++ 
b/modules/cli/src/main/java/org/apache/ignite/internal/cli/core/repl/registry/impl/NodeNameRegistryImpl.java
@@ -92,6 +92,10 @@ public class NodeNameRegistryImpl implements 
NodeNameRegistry, PeriodicSessionTa
             return null;
         }
         try {
+            Integer httpsPort = metadata.getHttpsPort();
+            if (httpsPort != -1) {
+                return new URL("https://"; + metadata.getRestHost() + ":" + 
httpsPort).toString();
+            }
             return new URL("http://"; + metadata.getRestHost() + ":" + 
metadata.getHttpPort()).toString();
         } catch (Exception e) {
             LOG.warn("Couldn't create URL: {}", e);
diff --git 
a/modules/rest/src/main/java/org/apache/ignite/internal/rest/RestComponent.java 
b/modules/rest/src/main/java/org/apache/ignite/internal/rest/RestComponent.java
index 9b2ff864d6..bd4b0b512f 100644
--- 
a/modules/rest/src/main/java/org/apache/ignite/internal/rest/RestComponent.java
+++ 
b/modules/rest/src/main/java/org/apache/ignite/internal/rest/RestComponent.java
@@ -279,18 +279,18 @@ public class RestComponent implements IgniteComponent {
     }
 
     /**
-     * Returns server host.
+     * Returns server host name.
      *
      * @return host.
      * @throws IgniteInternalException if the component has not been started 
yet.
      */
-    public String host() {
+    public String hostName() {
         if (context == null) {
             throw new IgniteInternalException("RestComponent has not been 
started");
         }
 
         try {
-            return InetAddress.getLocalHost().getHostAddress();
+            return InetAddress.getLocalHost().getHostName();
         } catch (UnknownHostException e) {
             return LOCALHOST;
         }
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/component/ItRestAddressReportTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/component/ItRestAddressReportTest.java
index 1e41ed74bb..7c5db19216 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/component/ItRestAddressReportTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/component/ItRestAddressReportTest.java
@@ -22,9 +22,8 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.is;
 
-import java.io.File;
 import java.net.InetAddress;
-import java.net.URI;
+import java.net.URL;
 import java.net.UnknownHostException;
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -53,14 +52,10 @@ public class ItRestAddressReportTest extends 
IgniteIntegrationTest {
     @WorkDirectory
     private Path workDir;
 
-    private static int cutPort(String retAddress) {
-        return Integer.parseInt(retAddress.split(":")[1]);
-    }
-
     @Test
     @DisplayName("Should report rest port to the file after RestComponent 
started")
     void restPortReportedToFile() throws Exception {
-        // Given configuration with rest port configured rest.port=10333, 
rest.portRange=10
+        // Given configuration with rest port configured rest.port=10333
         Path configPath = 
Path.of(IgniteRunnerTest.class.getResource("/ignite-config-rest-port-not-default.json").toURI());
 
         // When start node
@@ -83,26 +78,24 @@ public class ItRestAddressReportTest extends 
IgniteIntegrationTest {
         assertThat(ign, willCompleteSuccessfully());
 
         // And there is a file in work dir with the rest address
-        File reportFile = 
workDir.resolve(NODE_NAME).resolve("rest-address").toFile();
-        assertThat(reportFile.exists(), is(true));
+        Path reportFile = workDir.resolve(NODE_NAME).resolve("rest-address");
+        assertThat(Files.exists(reportFile), is(true));
 
         // And the file contains valid rest server network address
-        URI restUri = 
URI.create(Files.readString(workDir.resolve(NODE_NAME).resolve("rest-address")));
-        assertThat(restUri.getHost(), is(equalTo(getHostAddress())));
-        // And port is in configured range
-        int port = restUri.getPort();
-        assertThat(port >= 10333 && port < 10333 + 10, is(true));
+        URL restUri = new URL(Files.readString(reportFile));
+        assertThat(restUri.getHost(), is(equalTo(getHostName())));
+        assertThat(restUri.getPort(), is(equalTo(10333)));
 
         // When stop node
         IgnitionManager.stop(NODE_NAME);
 
         // Then the file is removed
-        assertThat(reportFile.exists(), is(false));
+        assertThat(Files.exists(reportFile), is(false));
     }
 
-    private static String getHostAddress() {
+    private static String getHostName() {
         try {
-            return InetAddress.getLocalHost().getHostAddress();
+            return InetAddress.getLocalHost().getHostName();
         } catch (UnknownHostException e) {
             return "localhost";
         }
diff --git 
a/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java 
b/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
index 719f9332b0..ac6d0a663a 100644
--- 
a/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
+++ 
b/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
@@ -778,7 +778,7 @@ public class IgniteImpl implements Ignite {
                     cmgMgr
             );
 
-            clusterSvc.updateMetadata(new NodeMetadata(restComponent.host(), 
restComponent.httpPort(), restComponent.httpsPort()));
+            clusterSvc.updateMetadata(new 
NodeMetadata(restComponent.hostName(), restComponent.httpPort(), 
restComponent.httpsPort()));
 
             restAddressReporter.writeReport(restHttpAddress(), 
restHttpsAddress());
 
@@ -988,7 +988,7 @@ public class IgniteImpl implements Ignite {
     // TODO: should be encapsulated in local properties, see 
https://issues.apache.org/jira/browse/IGNITE-15131
     @Nullable
     public NetworkAddress restHttpAddress() {
-        String host = restComponent.host();
+        String host = restComponent.hostName();
         int port = restComponent.httpPort();
         if (port != -1) {
             return new NetworkAddress(host, port);
@@ -1005,7 +1005,7 @@ public class IgniteImpl implements Ignite {
      */
     // TODO: should be encapsulated in local properties, see 
https://issues.apache.org/jira/browse/IGNITE-15131
     public NetworkAddress restHttpsAddress() {
-        String host = restComponent.host();
+        String host = restComponent.hostName();
         int port = restComponent.httpsPort();
         if (port != -1) {
             return new NetworkAddress(host, port);


Reply via email to