You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@ambari.apache.org by Robert Levas <rl...@hortonworks.com> on 2017/12/27 15:58:47 UTC
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__auto____982.invoke(nimbus.clj:16)
at org.apache.storm.daemon.nimbus__init.load(Unknown Source)
at org.apache.storm.daemon.nimbus__init.<clinit>(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.<clinit>(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.<clinit>(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
Diff: https://reviews.apache.org/r/64853/diff/1/
Testing
-------
Manually tested upgrade and downgrade
# Local test results:
```
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 27:31 min
[INFO] Finished at: 2017-12-27T10:34:51-05:00
[INFO] Final Memory: 71M/907M
[INFO] ------------------------------------------------------------------------
```
# Jenkins test results: PENDING
Thanks,
Robert Levas
Re: Review Request 64853: UpgradeUserKerberosDescriptor is not
executed during stack upgrade due to missing target stack data
Posted by Robert Nettleton <rn...@hortonworks.com>.
-----------------------------------------------------------
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__auto____982.invoke(nimbus.clj:16)
> at org.apache.storm.daemon.nimbus__init.load(Unknown Source)
> at org.apache.storm.daemon.nimbus__init.<clinit>(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.<clinit>(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.<clinit>(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
>
>
> Diff: https://reviews.apache.org/r/64853/diff/1/
>
>
> Testing
> -------
>
> Manually tested upgrade and downgrade
>
> # Local test results:
> ```
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 27:31 min
> [INFO] Finished at: 2017-12-27T10:34:51-05:00
> [INFO] Final Memory: 71M/907M
> [INFO] ------------------------------------------------------------------------
> ```
>
> # Jenkins test results: PENDING
>
>
> Thanks,
>
> Robert Levas
>
>
Re: Review Request 64853: UpgradeUserKerberosDescriptor is not
executed during stack upgrade due to missing target stack data
Posted by Jonathan Hurley <jh...@hortonworks.com>.
-----------------------------------------------------------
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__auto____982.invoke(nimbus.clj:16)
> at org.apache.storm.daemon.nimbus__init.load(Unknown Source)
> at org.apache.storm.daemon.nimbus__init.<clinit>(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.<clinit>(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.<clinit>(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
>
>
> Diff: https://reviews.apache.org/r/64853/diff/1/
>
>
> Testing
> -------
>
> Manually tested upgrade and downgrade
>
> # Local test results:
> ```
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 27:31 min
> [INFO] Finished at: 2017-12-27T10:34:51-05:00
> [INFO] Final Memory: 71M/907M
> [INFO] ------------------------------------------------------------------------
> ```
>
> # Jenkins test results: PENDING
>
>
> Thanks,
>
> Robert Levas
>
>