Re: Review Request 64853: UpgradeUserKerberosDescriptor is not executed during stack upgrade due to missing target stack data
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/64853/#review194627 --- Ship it! Ship It! - Robert Nettleton On Dec. 27, 2017, 3:58 p.m., Robert Levas wrote: > > --- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/64853/ > --- > > (Updated Dec. 27, 2017, 3:58 p.m.) > > > Review request for Ambari, Attila Magyar, Balázs Bence Sári, Eugene > Chekanskiy, Jonathan Hurley, Nate Cole, Robert Nettleton, and Sandor Molnar. > > > Bugs: AMBARI-22693 > https://issues.apache.org/jira/browse/AMBARI-22693 > > > Repository: ambari > > > Description > --- > > UpgradeUserKerberosDescriptor is not executed during stack upgrade due to > missing target stack data. > > *Steps to reproduce* > # Deploy cluster with Ambari version 2.6.0 and HDP version 2.4 > ** Storm should be installed to guarantee an error > # Do Express upgrade to HDP version 2.6 > # Regenerate Keytabs. > > Upon restarting Storm the following error is encountered > ``` > Exception in thread "main" java.lang.ExceptionInInitializerError > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:348) > at clojure.lang.RT.classForName(RT.java:2154) > at clojure.lang.RT.classForName(RT.java:2163) > at clojure.lang.RT.loadClassForName(RT.java:2182) > at clojure.lang.RT.load(RT.java:436) > at clojure.lang.RT.load(RT.java:412) > at clojure.core$load$fn__5448.invoke(core.clj:5866) > at clojure.core$load.doInvoke(core.clj:5865) > at clojure.lang.RestFn.invoke(RestFn.java:408) > at clojure.core$load_one.invoke(core.clj:5671) > at clojure.core$load_lib$fn__5397.invoke(core.clj:5711) > at clojure.core$load_lib.doInvoke(core.clj:5710) > at clojure.lang.RestFn.applyTo(RestFn.java:142) > at clojure.core$apply.invoke(core.clj:632) > at clojure.core$load_libs.doInvoke(core.clj:5749) > at clojure.lang.RestFn.applyTo(RestFn.java:137) > at clojure.core$apply.invoke(core.clj:632) > at clojure.core$require.doInvoke(core.clj:5832) > at clojure.lang.RestFn.invoke(RestFn.java:408) > at > org.apache.storm.daemon.nimbus$loading__5340__auto982.invoke(nimbus.clj:16) > at org.apache.storm.daemon.nimbus__init.load(Unknown Source) > at org.apache.storm.daemon.nimbus__init.(Unknown Source) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:348) > at clojure.lang.RT.classForName(RT.java:2154) > at clojure.lang.RT.classForName(RT.java:2163) > at clojure.lang.RT.loadClassForName(RT.java:2182) > at clojure.lang.RT.load(RT.java:436) > at clojure.lang.RT.load(RT.java:412) > at clojure.core$load$fn__5448.invoke(core.clj:5866) > at clojure.core$load.doInvoke(core.clj:5865) > at clojure.lang.RestFn.invoke(RestFn.java:408) > at clojure.lang.Var.invoke(Var.java:379) > at org.apache.storm.daemon.nimbus.(Unknown Source) > Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: > backtype.storm.security.auth.KerberosPrincipalToLocal > at > org.apache.storm.security.auth.AuthUtils.GetPrincipalToLocalPlugin(AuthUtils.java:125) > at > org.apache.storm.security.auth.authorizer.ImpersonationAuthorizer.prepare(ImpersonationAuthorizer.java:54) > at > org.apache.storm.daemon.common$mk_authorization_handler.invoke(common.clj:417) > at org.apache.storm.ui.core__init.load(Unknown Source) > at org.apache.storm.ui.core__init.(Unknown Source) > ... 35 more > Caused by: java.lang.ClassNotFoundException: > backtype.storm.security.auth.KerberosPrincipalToLocal > at java.net.URLClassLoader.findClass(URLClassLoader.java:381) > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:264) > at > org.apache.storm.security.auth.AuthUtils.GetPrincipalToLocalPlugin(AuthUtils.java:121) > ... 39 more > ``` > > #Cause > In the following code snip, {{targetStackID}} is {null}}: > *`org/apache/ambari/server/serveraction/upgrades/UpgradeUserKerberosDescriptor.java:103`*: > ``` > StackId targetStackId = > getStackIdFromCommandParams(KeyNames.TARGET_STACK); > ``` > This causes the logic in `UpgradeUserKerberosDescriptor` to be skipped. > > #Solution > Change the code snip from above to > *`org/apache/ambari/server/serveraction/upgrades/UpgradeUserKerberosDescriptor.java:103`* > ``` > StackId
Re: Review Request 64853: UpgradeUserKerberosDescriptor is not executed during stack upgrade due to missing target stack data
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/64853/#review194609 --- Ship it! Ship It! - Jonathan Hurley On Dec. 27, 2017, 10:58 a.m., Robert Levas wrote: > > --- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/64853/ > --- > > (Updated Dec. 27, 2017, 10:58 a.m.) > > > Review request for Ambari, Attila Magyar, Balázs Bence Sári, Eugene > Chekanskiy, Jonathan Hurley, Nate Cole, Robert Nettleton, and Sandor Molnar. > > > Bugs: AMBARI-22693 > https://issues.apache.org/jira/browse/AMBARI-22693 > > > Repository: ambari > > > Description > --- > > UpgradeUserKerberosDescriptor is not executed during stack upgrade due to > missing target stack data. > > *Steps to reproduce* > # Deploy cluster with Ambari version 2.6.0 and HDP version 2.4 > ** Storm should be installed to guarantee an error > # Do Express upgrade to HDP version 2.6 > # Regenerate Keytabs. > > Upon restarting Storm the following error is encountered > ``` > Exception in thread "main" java.lang.ExceptionInInitializerError > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:348) > at clojure.lang.RT.classForName(RT.java:2154) > at clojure.lang.RT.classForName(RT.java:2163) > at clojure.lang.RT.loadClassForName(RT.java:2182) > at clojure.lang.RT.load(RT.java:436) > at clojure.lang.RT.load(RT.java:412) > at clojure.core$load$fn__5448.invoke(core.clj:5866) > at clojure.core$load.doInvoke(core.clj:5865) > at clojure.lang.RestFn.invoke(RestFn.java:408) > at clojure.core$load_one.invoke(core.clj:5671) > at clojure.core$load_lib$fn__5397.invoke(core.clj:5711) > at clojure.core$load_lib.doInvoke(core.clj:5710) > at clojure.lang.RestFn.applyTo(RestFn.java:142) > at clojure.core$apply.invoke(core.clj:632) > at clojure.core$load_libs.doInvoke(core.clj:5749) > at clojure.lang.RestFn.applyTo(RestFn.java:137) > at clojure.core$apply.invoke(core.clj:632) > at clojure.core$require.doInvoke(core.clj:5832) > at clojure.lang.RestFn.invoke(RestFn.java:408) > at > org.apache.storm.daemon.nimbus$loading__5340__auto982.invoke(nimbus.clj:16) > at org.apache.storm.daemon.nimbus__init.load(Unknown Source) > at org.apache.storm.daemon.nimbus__init.(Unknown Source) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:348) > at clojure.lang.RT.classForName(RT.java:2154) > at clojure.lang.RT.classForName(RT.java:2163) > at clojure.lang.RT.loadClassForName(RT.java:2182) > at clojure.lang.RT.load(RT.java:436) > at clojure.lang.RT.load(RT.java:412) > at clojure.core$load$fn__5448.invoke(core.clj:5866) > at clojure.core$load.doInvoke(core.clj:5865) > at clojure.lang.RestFn.invoke(RestFn.java:408) > at clojure.lang.Var.invoke(Var.java:379) > at org.apache.storm.daemon.nimbus.(Unknown Source) > Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: > backtype.storm.security.auth.KerberosPrincipalToLocal > at > org.apache.storm.security.auth.AuthUtils.GetPrincipalToLocalPlugin(AuthUtils.java:125) > at > org.apache.storm.security.auth.authorizer.ImpersonationAuthorizer.prepare(ImpersonationAuthorizer.java:54) > at > org.apache.storm.daemon.common$mk_authorization_handler.invoke(common.clj:417) > at org.apache.storm.ui.core__init.load(Unknown Source) > at org.apache.storm.ui.core__init.(Unknown Source) > ... 35 more > Caused by: java.lang.ClassNotFoundException: > backtype.storm.security.auth.KerberosPrincipalToLocal > at java.net.URLClassLoader.findClass(URLClassLoader.java:381) > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:264) > at > org.apache.storm.security.auth.AuthUtils.GetPrincipalToLocalPlugin(AuthUtils.java:121) > ... 39 more > ``` > > #Cause > In the following code snip, {{targetStackID}} is {null}}: > *`org/apache/ambari/server/serveraction/upgrades/UpgradeUserKerberosDescriptor.java:103`*: > ``` > StackId targetStackId = > getStackIdFromCommandParams(KeyNames.TARGET_STACK); > ``` > This causes the logic in `UpgradeUserKerberosDescriptor` to be skipped. > > #Solution > Change the code snip from above to > *`org/apache/ambari/server/serveraction/upgrades/UpgradeUserKerberosDescriptor.java:103`* > ``` > StackId
Review Request 64853: UpgradeUserKerberosDescriptor is not executed during stack upgrade due to missing target stack data
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/64853/ --- Review request for Ambari, Attila Magyar, Balázs Bence Sári, Eugene Chekanskiy, Jonathan Hurley, Nate Cole, Robert Nettleton, and Sandor Molnar. Bugs: AMBARI-22693 https://issues.apache.org/jira/browse/AMBARI-22693 Repository: ambari Description --- UpgradeUserKerberosDescriptor is not executed during stack upgrade due to missing target stack data. *Steps to reproduce* # Deploy cluster with Ambari version 2.6.0 and HDP version 2.4 ** Storm should be installed to guarantee an error # Do Express upgrade to HDP version 2.6 # Regenerate Keytabs. Upon restarting Storm the following error is encountered ``` Exception in thread "main" java.lang.ExceptionInInitializerError at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at clojure.lang.RT.classForName(RT.java:2154) at clojure.lang.RT.classForName(RT.java:2163) at clojure.lang.RT.loadClassForName(RT.java:2182) at clojure.lang.RT.load(RT.java:436) at clojure.lang.RT.load(RT.java:412) at clojure.core$load$fn__5448.invoke(core.clj:5866) at clojure.core$load.doInvoke(core.clj:5865) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invoke(core.clj:5671) at clojure.core$load_lib$fn__5397.invoke(core.clj:5711) at clojure.core$load_lib.doInvoke(core.clj:5710) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invoke(core.clj:632) at clojure.core$load_libs.doInvoke(core.clj:5749) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invoke(core.clj:632) at clojure.core$require.doInvoke(core.clj:5832) at clojure.lang.RestFn.invoke(RestFn.java:408) at org.apache.storm.daemon.nimbus$loading__5340__auto982.invoke(nimbus.clj:16) at org.apache.storm.daemon.nimbus__init.load(Unknown Source) at org.apache.storm.daemon.nimbus__init.(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at clojure.lang.RT.classForName(RT.java:2154) at clojure.lang.RT.classForName(RT.java:2163) at clojure.lang.RT.loadClassForName(RT.java:2182) at clojure.lang.RT.load(RT.java:436) at clojure.lang.RT.load(RT.java:412) at clojure.core$load$fn__5448.invoke(core.clj:5866) at clojure.core$load.doInvoke(core.clj:5865) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.lang.Var.invoke(Var.java:379) at org.apache.storm.daemon.nimbus.(Unknown Source) Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: backtype.storm.security.auth.KerberosPrincipalToLocal at org.apache.storm.security.auth.AuthUtils.GetPrincipalToLocalPlugin(AuthUtils.java:125) at org.apache.storm.security.auth.authorizer.ImpersonationAuthorizer.prepare(ImpersonationAuthorizer.java:54) at org.apache.storm.daemon.common$mk_authorization_handler.invoke(common.clj:417) at org.apache.storm.ui.core__init.load(Unknown Source) at org.apache.storm.ui.core__init.(Unknown Source) ... 35 more Caused by: java.lang.ClassNotFoundException: backtype.storm.security.auth.KerberosPrincipalToLocal at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.apache.storm.security.auth.AuthUtils.GetPrincipalToLocalPlugin(AuthUtils.java:121) ... 39 more ``` #Cause In the following code snip, {{targetStackID}} is {null}}: *`org/apache/ambari/server/serveraction/upgrades/UpgradeUserKerberosDescriptor.java:103`*: ``` StackId targetStackId = getStackIdFromCommandParams(KeyNames.TARGET_STACK); ``` This causes the logic in `UpgradeUserKerberosDescriptor` to be skipped. #Solution Change the code snip from above to *`org/apache/ambari/server/serveraction/upgrades/UpgradeUserKerberosDescriptor.java:103`* ``` StackId targetStackId = cluster.getDesiredStackVersion(); ``` NOTE: This has already been fixed in the trunk (Ambari 3.0.0). Diffs - ambari-server/src/main/java/org/apache/ambari/server/agent/ExecutionCommand.java ffe2ed63d1 ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/UpgradeUserKerberosDescriptor.java a8c254a3eb ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeUserKerberosDescriptorTest.java 69d82b2ab4