-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47933/
-----------------------------------------------------------
Review request for Ambari, Jonathan Hurley, Nate Cole, Oliver Szabo, and Sandor
Magyari.
Bugs: AMBARI-16437
https://issues.apache.org/jira/browse/AMBARI-16437
Repository: ambari
Description
-------
Add conditional constraints for Kerberos identities to control when they are
created. For example if Kerberos Identity should only be created (and
distributed) for a component when some other component or service is installed.
An example of this would be
```
{
"name": "/HIVE/HIVE_SERVER/hive_server_hive",
"principal": {
"configuration": "hive-interactive-site/hive.llap.daemon.service.principal"
},
"keytab": {
"configuration": "hive-interactive-site/hive.llap.daemon.keytab.file"
},
"when" : {
"contains" : ["services", "HIVE"]
}
}
```
Note the "`when`" clause. This indicates that this identity should only be
processed when the set of services contains "HIVE". An alternative to this
would be to test the set of components for a certain component.
Diffs
-----
ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelperImpl.java
c67c55d
ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/AbstractPrepareKerberosServerAction.java
0dbd357
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/AbstractKerberosDescriptorContainer.java
bb2ed1c
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/KerberosIdentityDescriptor.java
d31dd21
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/eval/AndPredicate.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/eval/ContainsPredicate.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/eval/ContextTransformer.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/eval/DelegatedMultiplePredicateContainer.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/eval/DelegatedSinglePredicateContainer.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/eval/EqualsPredicate.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/eval/NotPredicate.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/eval/OperationPredicate.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/eval/OrPredicate.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/eval/Predicate.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/eval/PredicateClassFactory.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/eval/PredicateUtils.java
PRE-CREATION
ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java
5393fd6
ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/KerberosDescriptorTest.java
d80d7cc
ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/KerberosIdentityDescriptorTest.java
0ea7b26
ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/eval/AndPredicateTest.java
PRE-CREATION
ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/eval/ContainsPredicateTest.java
PRE-CREATION
ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/eval/ContextTransformerTest.java
PRE-CREATION
ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/eval/EqualsPredicateTest.java
PRE-CREATION
ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/eval/NotPredicateTest.java
PRE-CREATION
ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/eval/OrPredicateTest.java
PRE-CREATION
ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/eval/PredicateUtilsTest.java
PRE-CREATION
Diff: https://reviews.apache.org/r/47933/diff/
Testing
-------
Manually tested
# Local test results: PENDING
# Jenkins test results: PENDING
Thanks,
Robert Levas