[14/50] [abbrv] hadoop git commit: YARN-5701. Fix issues in yarn native services apps-of-apps. Contributed by Billie Rinaldi
YARN-5701. Fix issues in yarn native services apps-of-apps. Contributed by Billie Rinaldi Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/1cf51d4f Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/1cf51d4f Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/1cf51d4f Branch: refs/heads/yarn-native-services Commit: 1cf51d4fd6922ac64bea9cbfe1c57c93e93cce75 Parents: 7cca292 Author: Jian HeAuthored: Sun Oct 16 17:01:09 2016 -0700 Committer: Jian He Committed: Thu Feb 9 16:58:05 2017 -0800 -- .../org/apache/slider/client/SliderClient.java | 72 .../slider/core/buildutils/InstanceBuilder.java | 4 + .../apache/slider/providers/ProviderUtils.java | 62 -- .../providers/docker/DockerClientProvider.java | 4 +- .../providers/docker/DockerProviderService.java | 87 5 files changed, 164 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/1cf51d4f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java index 2840c4b..94e51e5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java @@ -178,6 +178,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; +import java.io.Console; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; @@ -918,57 +919,56 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe return; } -BufferedReader br = null; -try { - for (Entry cred : tree.credentials.entrySet()) { -String provider = cred.getKey() -.replaceAll(Pattern.quote("${CLUSTER_NAME}"), clusterName) -.replaceAll(Pattern.quote("${CLUSTER}"), clusterName); -List aliases = cred.getValue(); -if (aliases == null || aliases.isEmpty()) { - continue; -} -Configuration c = new Configuration(conf); -c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); -CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); -Set existingAliases = new HashSet<>(credentialProvider.getAliases()); -for (String alias : aliases) { - if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { -log.info("Credentials for " + alias + " found in " + provider); - } else { -if (br == null) { - br = new BufferedReader(new InputStreamReader(System.in)); -} -char[] pass = readPassword(alias, br); -credentialProvider.createCredentialEntry(alias, pass); -credentialProvider.flush(); -Arrays.fill(pass, ' '); +Console console = System.console(); +for (Entry cred : tree.credentials.entrySet()) { + String provider = cred.getKey() + .replaceAll(Pattern.quote("${CLUSTER_NAME}"), clusterName) + .replaceAll(Pattern.quote("${CLUSTER}"), clusterName); + List aliases = cred.getValue(); + if (aliases == null || aliases.isEmpty()) { +continue; + } + Configuration c = new Configuration(conf); + c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); + CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); + Set existingAliases = new HashSet<>(credentialProvider.getAliases()); + for (String alias : aliases) { +if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { + log.info("Credentials for " + alias + " found in " + provider); +} else { + if (console == null) { +throw new IOException("Unable to input password for " + alias + +" because System.console() is null; provider " + provider + +" must be populated manually"); } + char[] pass = readPassword(alias, console); +
[22/51] [abbrv] hadoop git commit: YARN-5701. Fix issues in yarn native services apps-of-apps. Contributed by Billie Rinaldi
YARN-5701. Fix issues in yarn native services apps-of-apps. Contributed by Billie Rinaldi Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/98e34978 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/98e34978 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/98e34978 Branch: refs/heads/yarn-native-services Commit: 98e349784bc507e219c46149e593e4e4e7b069e3 Parents: de70e98 Author: Jian HeAuthored: Sun Oct 16 17:01:09 2016 -0700 Committer: Jian He Committed: Thu Dec 22 11:09:38 2016 -0800 -- .../org/apache/slider/client/SliderClient.java | 72 .../slider/core/buildutils/InstanceBuilder.java | 4 + .../apache/slider/providers/ProviderUtils.java | 62 -- .../providers/docker/DockerClientProvider.java | 4 +- .../providers/docker/DockerProviderService.java | 87 5 files changed, 164 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/98e34978/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java index 2840c4b..94e51e5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java @@ -178,6 +178,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; +import java.io.Console; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; @@ -918,57 +919,56 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe return; } -BufferedReader br = null; -try { - for (Entry cred : tree.credentials.entrySet()) { -String provider = cred.getKey() -.replaceAll(Pattern.quote("${CLUSTER_NAME}"), clusterName) -.replaceAll(Pattern.quote("${CLUSTER}"), clusterName); -List aliases = cred.getValue(); -if (aliases == null || aliases.isEmpty()) { - continue; -} -Configuration c = new Configuration(conf); -c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); -CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); -Set existingAliases = new HashSet<>(credentialProvider.getAliases()); -for (String alias : aliases) { - if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { -log.info("Credentials for " + alias + " found in " + provider); - } else { -if (br == null) { - br = new BufferedReader(new InputStreamReader(System.in)); -} -char[] pass = readPassword(alias, br); -credentialProvider.createCredentialEntry(alias, pass); -credentialProvider.flush(); -Arrays.fill(pass, ' '); +Console console = System.console(); +for (Entry cred : tree.credentials.entrySet()) { + String provider = cred.getKey() + .replaceAll(Pattern.quote("${CLUSTER_NAME}"), clusterName) + .replaceAll(Pattern.quote("${CLUSTER}"), clusterName); + List aliases = cred.getValue(); + if (aliases == null || aliases.isEmpty()) { +continue; + } + Configuration c = new Configuration(conf); + c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); + CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); + Set existingAliases = new HashSet<>(credentialProvider.getAliases()); + for (String alias : aliases) { +if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { + log.info("Credentials for " + alias + " found in " + provider); +} else { + if (console == null) { +throw new IOException("Unable to input password for " + alias + +" because System.console() is null; provider " + provider + +" must be populated manually"); } + char[] pass = readPassword(alias, console); +
[62/74] [abbrv] hadoop git commit: YARN-5701. Fix issues in yarn native services apps-of-apps. Contributed by Billie Rinaldi
YARN-5701. Fix issues in yarn native services apps-of-apps. Contributed by Billie Rinaldi Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/813e1325 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/813e1325 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/813e1325 Branch: refs/heads/yarn-native-services Commit: 813e132515855e3e22641089974328838cfb2983 Parents: cf6a2e4 Author: Jian HeAuthored: Sun Oct 16 17:01:09 2016 -0700 Committer: Jian He Committed: Tue Dec 13 14:46:44 2016 -0800 -- .../org/apache/slider/client/SliderClient.java | 72 .../slider/core/buildutils/InstanceBuilder.java | 4 + .../apache/slider/providers/ProviderUtils.java | 62 -- .../providers/docker/DockerClientProvider.java | 4 +- .../providers/docker/DockerProviderService.java | 87 5 files changed, 164 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/813e1325/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java index 2840c4b..94e51e5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java @@ -178,6 +178,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; +import java.io.Console; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; @@ -918,57 +919,56 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe return; } -BufferedReader br = null; -try { - for (Entry cred : tree.credentials.entrySet()) { -String provider = cred.getKey() -.replaceAll(Pattern.quote("${CLUSTER_NAME}"), clusterName) -.replaceAll(Pattern.quote("${CLUSTER}"), clusterName); -List aliases = cred.getValue(); -if (aliases == null || aliases.isEmpty()) { - continue; -} -Configuration c = new Configuration(conf); -c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); -CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); -Set existingAliases = new HashSet<>(credentialProvider.getAliases()); -for (String alias : aliases) { - if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { -log.info("Credentials for " + alias + " found in " + provider); - } else { -if (br == null) { - br = new BufferedReader(new InputStreamReader(System.in)); -} -char[] pass = readPassword(alias, br); -credentialProvider.createCredentialEntry(alias, pass); -credentialProvider.flush(); -Arrays.fill(pass, ' '); +Console console = System.console(); +for (Entry cred : tree.credentials.entrySet()) { + String provider = cred.getKey() + .replaceAll(Pattern.quote("${CLUSTER_NAME}"), clusterName) + .replaceAll(Pattern.quote("${CLUSTER}"), clusterName); + List aliases = cred.getValue(); + if (aliases == null || aliases.isEmpty()) { +continue; + } + Configuration c = new Configuration(conf); + c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); + CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); + Set existingAliases = new HashSet<>(credentialProvider.getAliases()); + for (String alias : aliases) { +if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { + log.info("Credentials for " + alias + " found in " + provider); +} else { + if (console == null) { +throw new IOException("Unable to input password for " + alias + +" because System.console() is null; provider " + provider + +" must be populated manually"); } + char[] pass = readPassword(alias, console); +
[76/76] [abbrv] hadoop git commit: YARN-5701. Fix issues in yarn native services apps-of-apps. Contributed by Billie Rinaldi
YARN-5701. Fix issues in yarn native services apps-of-apps. Contributed by Billie Rinaldi Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7ec43e69 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7ec43e69 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7ec43e69 Branch: refs/heads/yarn-native-services Commit: 7ec43e697366cef4517f652a7248591d07166d2b Parents: be69595 Author: Jian HeAuthored: Sun Oct 16 17:01:09 2016 -0700 Committer: Jian He Committed: Wed Dec 7 13:00:06 2016 -0800 -- .../org/apache/slider/client/SliderClient.java | 72 .../slider/core/buildutils/InstanceBuilder.java | 4 + .../apache/slider/providers/ProviderUtils.java | 62 -- .../providers/docker/DockerClientProvider.java | 4 +- .../providers/docker/DockerProviderService.java | 87 5 files changed, 164 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/7ec43e69/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java index 2840c4b..94e51e5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java @@ -178,6 +178,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; +import java.io.Console; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; @@ -918,57 +919,56 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe return; } -BufferedReader br = null; -try { - for (Entry cred : tree.credentials.entrySet()) { -String provider = cred.getKey() -.replaceAll(Pattern.quote("${CLUSTER_NAME}"), clusterName) -.replaceAll(Pattern.quote("${CLUSTER}"), clusterName); -List aliases = cred.getValue(); -if (aliases == null || aliases.isEmpty()) { - continue; -} -Configuration c = new Configuration(conf); -c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); -CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); -Set existingAliases = new HashSet<>(credentialProvider.getAliases()); -for (String alias : aliases) { - if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { -log.info("Credentials for " + alias + " found in " + provider); - } else { -if (br == null) { - br = new BufferedReader(new InputStreamReader(System.in)); -} -char[] pass = readPassword(alias, br); -credentialProvider.createCredentialEntry(alias, pass); -credentialProvider.flush(); -Arrays.fill(pass, ' '); +Console console = System.console(); +for (Entry cred : tree.credentials.entrySet()) { + String provider = cred.getKey() + .replaceAll(Pattern.quote("${CLUSTER_NAME}"), clusterName) + .replaceAll(Pattern.quote("${CLUSTER}"), clusterName); + List aliases = cred.getValue(); + if (aliases == null || aliases.isEmpty()) { +continue; + } + Configuration c = new Configuration(conf); + c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); + CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); + Set existingAliases = new HashSet<>(credentialProvider.getAliases()); + for (String alias : aliases) { +if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { + log.info("Credentials for " + alias + " found in " + provider); +} else { + if (console == null) { +throw new IOException("Unable to input password for " + alias + +" because System.console() is null; provider " + provider + +" must be populated manually"); } + char[] pass = readPassword(alias, console); +
[59/63] [abbrv] hadoop git commit: YARN-5701. Fix issues in yarn native services apps-of-apps. Contributed by Billie Rinaldi
YARN-5701. Fix issues in yarn native services apps-of-apps. Contributed by Billie Rinaldi Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/8a9aa8a1 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/8a9aa8a1 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/8a9aa8a1 Branch: refs/heads/yarn-native-services Commit: 8a9aa8a199c9cea9b06d63d418fc96d96406a11d Parents: 29b1f4e Author: Jian HeAuthored: Sun Oct 16 17:01:09 2016 -0700 Committer: Jian He Committed: Mon Nov 28 13:09:08 2016 -0800 -- .../org/apache/slider/client/SliderClient.java | 72 .../slider/core/buildutils/InstanceBuilder.java | 4 + .../apache/slider/providers/ProviderUtils.java | 62 -- .../providers/docker/DockerClientProvider.java | 4 +- .../providers/docker/DockerProviderService.java | 87 5 files changed, 164 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/8a9aa8a1/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java index 2840c4b..94e51e5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java @@ -178,6 +178,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; +import java.io.Console; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; @@ -918,57 +919,56 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe return; } -BufferedReader br = null; -try { - for (Entry cred : tree.credentials.entrySet()) { -String provider = cred.getKey() -.replaceAll(Pattern.quote("${CLUSTER_NAME}"), clusterName) -.replaceAll(Pattern.quote("${CLUSTER}"), clusterName); -List aliases = cred.getValue(); -if (aliases == null || aliases.isEmpty()) { - continue; -} -Configuration c = new Configuration(conf); -c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); -CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); -Set existingAliases = new HashSet<>(credentialProvider.getAliases()); -for (String alias : aliases) { - if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { -log.info("Credentials for " + alias + " found in " + provider); - } else { -if (br == null) { - br = new BufferedReader(new InputStreamReader(System.in)); -} -char[] pass = readPassword(alias, br); -credentialProvider.createCredentialEntry(alias, pass); -credentialProvider.flush(); -Arrays.fill(pass, ' '); +Console console = System.console(); +for (Entry cred : tree.credentials.entrySet()) { + String provider = cred.getKey() + .replaceAll(Pattern.quote("${CLUSTER_NAME}"), clusterName) + .replaceAll(Pattern.quote("${CLUSTER}"), clusterName); + List aliases = cred.getValue(); + if (aliases == null || aliases.isEmpty()) { +continue; + } + Configuration c = new Configuration(conf); + c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); + CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); + Set existingAliases = new HashSet<>(credentialProvider.getAliases()); + for (String alias : aliases) { +if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { + log.info("Credentials for " + alias + " found in " + provider); +} else { + if (console == null) { +throw new IOException("Unable to input password for " + alias + +" because System.console() is null; provider " + provider + +" must be populated manually"); } + char[] pass = readPassword(alias, console); +
[65/66] [abbrv] hadoop git commit: YARN-5701. Fix issues in yarn native services apps-of-apps. Contributed by Billie Rinaldi
YARN-5701. Fix issues in yarn native services apps-of-apps. Contributed by Billie Rinaldi Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/ebd63925 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/ebd63925 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/ebd63925 Branch: refs/heads/yarn-native-services Commit: ebd639257e3cc1f33235612aadc7ee653141d663 Parents: 6bbd675 Author: Jian HeAuthored: Sun Oct 16 17:01:09 2016 -0700 Committer: Jian He Committed: Wed Nov 23 15:27:03 2016 -0800 -- .../org/apache/slider/client/SliderClient.java | 72 .../slider/core/buildutils/InstanceBuilder.java | 4 + .../apache/slider/providers/ProviderUtils.java | 62 -- .../providers/docker/DockerClientProvider.java | 4 +- .../providers/docker/DockerProviderService.java | 87 5 files changed, 164 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/ebd63925/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java index 2840c4b..94e51e5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java @@ -178,6 +178,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; +import java.io.Console; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; @@ -918,57 +919,56 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe return; } -BufferedReader br = null; -try { - for (Entry cred : tree.credentials.entrySet()) { -String provider = cred.getKey() -.replaceAll(Pattern.quote("${CLUSTER_NAME}"), clusterName) -.replaceAll(Pattern.quote("${CLUSTER}"), clusterName); -List aliases = cred.getValue(); -if (aliases == null || aliases.isEmpty()) { - continue; -} -Configuration c = new Configuration(conf); -c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); -CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); -Set existingAliases = new HashSet<>(credentialProvider.getAliases()); -for (String alias : aliases) { - if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { -log.info("Credentials for " + alias + " found in " + provider); - } else { -if (br == null) { - br = new BufferedReader(new InputStreamReader(System.in)); -} -char[] pass = readPassword(alias, br); -credentialProvider.createCredentialEntry(alias, pass); -credentialProvider.flush(); -Arrays.fill(pass, ' '); +Console console = System.console(); +for (Entry cred : tree.credentials.entrySet()) { + String provider = cred.getKey() + .replaceAll(Pattern.quote("${CLUSTER_NAME}"), clusterName) + .replaceAll(Pattern.quote("${CLUSTER}"), clusterName); + List aliases = cred.getValue(); + if (aliases == null || aliases.isEmpty()) { +continue; + } + Configuration c = new Configuration(conf); + c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); + CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); + Set existingAliases = new HashSet<>(credentialProvider.getAliases()); + for (String alias : aliases) { +if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { + log.info("Credentials for " + alias + " found in " + provider); +} else { + if (console == null) { +throw new IOException("Unable to input password for " + alias + +" because System.console() is null; provider " + provider + +" must be populated manually"); } + char[] pass = readPassword(alias, console); +
hadoop git commit: YARN-5701. Fix issues in yarn native services apps-of-apps. Contributed by Billie Rinaldi
Repository: hadoop Updated Branches: refs/heads/yarn-native-services f2d9244a4 -> 023be93fa YARN-5701. Fix issues in yarn native services apps-of-apps. Contributed by Billie Rinaldi Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/023be93f Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/023be93f Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/023be93f Branch: refs/heads/yarn-native-services Commit: 023be93fa6fbf31e37ddd7d3f3ae8e35db6e7c84 Parents: f2d9244 Author: Jian HeAuthored: Sun Oct 16 17:01:09 2016 -0700 Committer: Jian He Committed: Sun Oct 16 17:01:09 2016 -0700 -- .../org/apache/slider/client/SliderClient.java | 72 .../slider/core/buildutils/InstanceBuilder.java | 4 + .../apache/slider/providers/ProviderUtils.java | 62 -- .../providers/docker/DockerClientProvider.java | 4 +- .../providers/docker/DockerProviderService.java | 87 5 files changed, 164 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/023be93f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java index 2840c4b..94e51e5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java @@ -178,6 +178,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; +import java.io.Console; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; @@ -918,57 +919,56 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe return; } -BufferedReader br = null; -try { - for (Entry cred : tree.credentials.entrySet()) { -String provider = cred.getKey() -.replaceAll(Pattern.quote("${CLUSTER_NAME}"), clusterName) -.replaceAll(Pattern.quote("${CLUSTER}"), clusterName); -List aliases = cred.getValue(); -if (aliases == null || aliases.isEmpty()) { - continue; -} -Configuration c = new Configuration(conf); -c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); -CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); -Set existingAliases = new HashSet<>(credentialProvider.getAliases()); -for (String alias : aliases) { - if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { -log.info("Credentials for " + alias + " found in " + provider); - } else { -if (br == null) { - br = new BufferedReader(new InputStreamReader(System.in)); -} -char[] pass = readPassword(alias, br); -credentialProvider.createCredentialEntry(alias, pass); -credentialProvider.flush(); -Arrays.fill(pass, ' '); +Console console = System.console(); +for (Entry cred : tree.credentials.entrySet()) { + String provider = cred.getKey() + .replaceAll(Pattern.quote("${CLUSTER_NAME}"), clusterName) + .replaceAll(Pattern.quote("${CLUSTER}"), clusterName); + List aliases = cred.getValue(); + if (aliases == null || aliases.isEmpty()) { +continue; + } + Configuration c = new Configuration(conf); + c.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, provider); + CredentialProvider credentialProvider = CredentialProviderFactory.getProviders(c).get(0); + Set existingAliases = new HashSet<>(credentialProvider.getAliases()); + for (String alias : aliases) { +if (existingAliases.contains(alias.toLowerCase(Locale.ENGLISH))) { + log.info("Credentials for " + alias + " found in " + provider); +} else { + if (console == null) { +throw new IOException("Unable to input password for " + alias + +" because System.console() is null; provider " + provider + +" must be populated manually");