Repository: ambari Updated Branches: refs/heads/trunk c11100587 -> f9014f604
AMBARI-8853. Configuration keys in Kerberos descriptors should allow for variable replacement. (robert levas via jaimin) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f9014f60 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f9014f60 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f9014f60 Branch: refs/heads/trunk Commit: f9014f604e0ae60ee93d8c4cc4805573063bb095 Parents: c111005 Author: Jaimin Jetly <[email protected]> Authored: Mon Dec 22 11:43:49 2014 -0800 Committer: Jaimin Jetly <[email protected]> Committed: Mon Dec 22 11:43:49 2014 -0800 ---------------------------------------------------------------------- .../org/apache/ambari/server/controller/KerberosHelper.java | 6 ++++-- .../ambari/server/state/kerberos/KerberosDescriptorTest.java | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f9014f60/ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelper.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelper.java index 0ca40ab..562ce9e 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelper.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelper.java @@ -557,8 +557,10 @@ public class KerberosHelper { } for (Map.Entry<String, String> property : updatedProperties.entrySet()) { - existingProperties.put(property.getKey(), - KerberosDescriptor.replaceVariables(property.getValue(), replacements)); + existingProperties.put( + KerberosDescriptor.replaceVariables(property.getKey(), replacements), + KerberosDescriptor.replaceVariables(property.getValue(), replacements) + ); } } } http://git-wip-us.apache.org/repos/asf/ambari/blob/f9014f60/ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/KerberosDescriptorTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/KerberosDescriptorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/KerberosDescriptorTest.java index 56f1a01..3b201b6 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/KerberosDescriptorTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/KerberosDescriptorTest.java @@ -303,6 +303,7 @@ public class KerberosDescriptorTest { put("config-type2", new HashMap<String, String>() {{ put("variable.name", "Replacement2"); put("self_reference", "${config-type2/self_reference}"); // This essentially references itself. + put("${config-type/variable.name}_reference", "Replacement in the key"); }}); } }; @@ -325,6 +326,9 @@ public class KerberosDescriptorTest { Assert.assertEquals("Replacement2|Replacement2", KerberosDescriptor.replaceVariables("${config-type/variable.name1}|${config-type2/variable.name}", configurations)); + Assert.assertEquals("Replacement1_reference", + KerberosDescriptor.replaceVariables("${config-type/variable.name}_reference", configurations)); + // Replacement yields an empty string Assert.assertEquals("", KerberosDescriptor.replaceVariables("${config-type/variable.name2}", configurations));
