----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/61707/ -----------------------------------------------------------
(Updated Aug. 23, 2017, 3:37 p.m.) Review request for Ambari, Attila Magyar, Balázs Bence Sári, Eugene Chekanskiy, Jonathan Hurley, Laszlo Puskas, Nate Cole, and Sebastian Toader. Changes ------- Updates based on reviewer comments. Bugs: AMBARI-21602 https://issues.apache.org/jira/browse/AMBARI-21602 Repository: ambari Description ------- Pre-configure (certain) services when Kerberos is enabled to reduce number of core service restarts when services are added. While processing the Kerberos descriptor, include services marked to be _pre-configured_. When a tagged service is encountered, process it weather it is installed or not. However if it is not installed, only apply configuration changes for existing configuration types. This will set at least the core-site changes related to proxyuser and auth-to-local rules properties. By doing this, if a tagged service is later installed, the settings will already be in place in the existing service configs and thus the existing services will not need to be restarted. Caveats: - Default values for the uninstalled, tagged, services will be assumed - The stack advisor will be used to suggest locations of components - used to build the clusterHostInfo structure that may be used to derive property values. Note: This processing is to occur when Kerberos is enabled. Diffs (updated) ----- ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java 7eb82e4137 ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorRequest.java 7ba1b1887d ambari-server/src/main/java/org/apache/ambari/server/controller/DeleteIdentityHandler.java 3329e76226 ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelper.java a334542b8b ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelperImpl.java 8d0fd0fd93 ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java 91a84ea643 ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterKerberosDescriptorResourceProvider.java 59bd96a8f5 ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java 64ead405eb ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/RemovableIdentities.java d4bb501231 ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/UsedIdentities.java 46f5642eb1 ambari-server/src/main/java/org/apache/ambari/server/customactions/ActionDefinitionManager.java 1f2d26f079 ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/AbstractPrepareKerberosServerAction.java dd2b2237e5 ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/KerberosServerAction.java 2e331bb77f ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/PreconfigureServiceType.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/PrepareDisableKerberosServerAction.java 60523cdd75 ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/PrepareEnableKerberosServerAction.java ca15695564 ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/PrepareKerberosIdentitiesServerAction.java f239cffd93 ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/UpgradeUserKerberosDescriptor.java 78aaa77a48 ambari-server/src/main/java/org/apache/ambari/server/stack/ConfigurationDirectory.java 4b6e9a8a63 ambari-server/src/main/java/org/apache/ambari/server/stack/ExtensionDirectory.java 131318b5a1 ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceDirectory.java abad7edd9b ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceModule.java 74120b6ab8 ambari-server/src/main/java/org/apache/ambari/server/stack/StackDirectory.java 23fd0a95f5 ambari-server/src/main/java/org/apache/ambari/server/stack/StackManager.java 245e6236e5 ambari-server/src/main/java/org/apache/ambari/server/stack/StackModule.java ff1d37808d ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java cb98dd2c4e ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java 573a197a2b ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java 350611dac8 ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/AbstractKerberosDescriptor.java 7f53daa357 ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/KerberosDescriptor.java eba1b3aecc ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/KerberosServiceDescriptor.java 771a23cd3f ambari-server/src/main/java/org/apache/ambari/server/upgrade/AbstractUpgradeCatalog.java 1f10d7e122 ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/configuration/kerberos-env.xml e07e28e062 ambari-server/src/main/resources/stacks/HDP/2.6/kerberos_preconfigure.json PRE-CREATION ambari-server/src/test/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRendererTest.java 6be9f328af ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java 9ea0ae1b01 ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java 78d464b605 ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java e512b66ab0 ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterKerberosDescriptorResourceProviderTest.java f6fc59d511 ambari-server/src/test/java/org/apache/ambari/server/controller/utilities/KerberosIdentityCleanerTest.java 027f339eb6 ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeUserKerberosDescriptorTest.java 86f6d3b778 ambari-server/src/test/java/org/apache/ambari/server/stack/ServiceModuleTest.java 311d400b10 ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/KerberosDescriptorUpdateHelperTest.java 37cfad9c57 ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/KerberosServiceDescriptorTest.java 064e1cc328 ambari-server/src/test/resources/stacks/HDP/2.0.8/kerberos_preconfigure.json PRE-CREATION Diff: https://reviews.apache.org/r/61707/diff/3/ Changes: https://reviews.apache.org/r/61707/diff/2-3/ Testing ------- Manually tested in cluster # Local test results: ``` [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 40:13 min [INFO] Finished at: 2017-08-16T15:38:34-04:00 [INFO] Final Memory: 106M/1721M [INFO] ------------------------------------------------------------------------ ``` # Jenkins test results: ``` {color:green}+1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12882231/AMBARI-21602_trunk_01.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 10 new or modified test files. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 core tests{color}. The patch passed unit tests in ambari-server. Console output: https://builds.apache.org/job/Ambari-trunk-test-patch/12008//console ``` Thanks, Robert Levas