You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by xx...@apache.org on 2023/06/13 08:29:38 UTC
[kylin] 18/37: KYLIN-5569 Support manually setting SSH encrypted password in Job multi-live mode
This is an automated email from the ASF dual-hosted git repository.
xxyu pushed a commit to branch kylin5
in repository https://gitbox.apache.org/repos/asf/kylin.git
commit c0b66e0eabeb4b09fb8b5ce13e82c12bc599e73c
Author: Hang Jia <75...@qq.com>
AuthorDate: Fri Mar 17 10:05:04 2023 +0800
KYLIN-5569 Support manually setting SSH encrypted password in Job multi-live mode
---
.../java/org/apache/kylin/common/KylinConfigBase.java | 2 +-
.../org/apache/kylin/common/KylinConfigBaseTest.java | 17 +++++++++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
index dd98c34d40..483de79997 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
@@ -1079,7 +1079,7 @@ public abstract class KylinConfigBase implements Serializable {
}
public String getRemoteSSHPassword() {
- return getOptional("kylin.job.ssh-password");
+ return EncryptUtil.getDecryptedValue(getOptional("kylin.job.ssh-password"));
}
public String getCliWorkingDir() {
diff --git a/src/core-common/src/test/java/org/apache/kylin/common/KylinConfigBaseTest.java b/src/core-common/src/test/java/org/apache/kylin/common/KylinConfigBaseTest.java
index 9120cfd117..6ccb400ded 100644
--- a/src/core-common/src/test/java/org/apache/kylin/common/KylinConfigBaseTest.java
+++ b/src/core-common/src/test/java/org/apache/kylin/common/KylinConfigBaseTest.java
@@ -64,6 +64,7 @@ import java.util.concurrent.TimeUnit;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.util.Shell;
import org.apache.kylin.common.constant.NonCustomProjectLevelConfig;
+import org.apache.kylin.common.util.EncryptUtil;
import org.apache.kylin.common.util.ProcessUtils;
import org.apache.kylin.common.util.TimeZoneUtils;
import org.apache.kylin.junit.annotation.MetadataInfo;
@@ -1436,6 +1437,22 @@ class KylinConfigBaseTest {
config.setProperty("kylin.query.max-measure-segment-pruner-before-days", "1");
assertEquals(1, config.getMaxMeasureSegmentPrunerBeforeDays());
}
+
+ @Test
+ void testRemoteSSHPassword() {
+ KylinConfig config = KylinConfig.getInstanceFromEnv();
+
+ String password = "hadoop";
+ String encPassword = "ENC('KotkDR//FvNP+8x+G5G93g==')";
+ assertEquals(encPassword, EncryptUtil.encryptWithPrefix(password));
+
+ config.setProperty("kylin.job.ssh-password", password);
+ assertEquals(password, config.getRemoteSSHPassword());
+
+ config.setProperty("kylin.job.ssh-password", encPassword);
+ assertEquals(password, config.getRemoteSSHPassword());
+ }
+
}
class EnvironmentUpdateUtils {