[ https://issues.apache.org/jira/browse/SLIDER-1027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15060224#comment-15060224 ]
Steve Loughran commented on SLIDER-1027: ---------------------------------------- And the outcome of {{KDiagCommandIT}} against a secure cluster where the user has no TGT: {code} 2015-12-16 16:08:27,224 [main] DEBUG security.UserGroupInformation (loginUserFromSubject(825)) - UGI loginUser:stevel (auth:KERBEROS) 2015-12-16 16:08:27,283 [main] ERROR client.SliderClient (actionKDiag(3801)) - org.apache.hadoop.security.KerberosDiags$KerberosDiagsFailure: Login user: No kerberos credentials for stevel (auth:KERBEROS) 2015-12-16 16:08:27,284 [main] DEBUG client.SliderClient (actionKDiag(3802)) - org.apache.hadoop.security.KerberosDiags$KerberosDiagsFailure: Login user: No kerberos credentials for stevel (auth:KERBEROS) org.apache.hadoop.security.KerberosDiags$KerberosDiagsFailure: Login user: No kerberos credentials for stevel (auth:KERBEROS) at org.apache.hadoop.security.KerberosDiags.fail(KerberosDiags.java:297) at org.apache.hadoop.security.KerberosDiags.failif(KerberosDiags.java:303) at org.apache.hadoop.security.KerberosDiags.validateUser(KerberosDiags.java:289) at org.apache.hadoop.security.KerberosDiags.execute(KerberosDiags.java:195) at org.apache.slider.client.SliderClient.actionKDiag(SliderClient.java:3799) at org.apache.slider.client.SliderClient.exec(SliderClient.java:397) at org.apache.slider.client.SliderClient.runService(SliderClient.java:326) at org.apache.slider.core.main.ServiceLauncher.launchService(ServiceLauncher.java:188) at org.apache.slider.core.main.ServiceLauncher.launchServiceRobustly(ServiceLauncher.java:475) at org.apache.slider.core.main.ServiceLauncher.launchServiceAndExit(ServiceLauncher.java:403) at org.apache.slider.core.main.ServiceLauncher.serviceMain(ServiceLauncher.java:630) at org.apache.slider.Slider.main(Slider.java:49) </stdout> 2015-12-16 16:08:28,335 [JUnit] ERROR framework.ShellBase (NativeMethodAccessorImpl.java:invoke0(?)) - <stderr> Kerberos Diagnostics scan at Wed Dec 16 16:08:26 GMT 2015 System Properties java.security.krb5.conf = "(unset)" java.security.krb5.realm = "(unset)" sun.security.krb5.debug = "(unset)" sun.security.spnego.debug = "(unset)" Environment Variables HADOOP_JAAS_DEBUG = "true" KRB5CCNAME = "(unset)" HADOOP_USER_NAME = "(unset)" HADOOP_PROXY_USER = "(unset)" HADOOP_TOKEN_FILE_LOCATION = "(unset)" hadoop.kerberos.kinit.command = "kinit" hadoop.security.authentication = "kerberos" hadoop.security.authorization = "true" hadoop.security.dns.interface = "(unset)" hadoop.security.dns.nameserver = "(unset)" hadoop.ssl.enabled = "false" hadoop.rpc.protection = "authentication" hadoop.security.saslproperties.resolver.class = "(unset)" hadoop.security.crypto.codec.classes = "(unset)" hadoop.security.group.mapping = "org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback" Logging in Log in user UGI=stevel (auth:KERBEROS) Has kerberos credentials: false Authentication method: KERBEROS Real Authentication method: KERBEROS Group names staff access_bpf everyone localaccounts _appserverusr admin _appserveradm _lpadmin com.apple.access_ssh _appstore _lpoperator _developer com.apple.access_ftp com.apple.access_screensharing Credentials Secret keys (none) Tokens (none) Ticket based login: false Keytab based login: false </stderr> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 5.883 sec <<< FAILURE! - in org.apache.slider.funtest.commands.KDiagCommandIT testKdiag(org.apache.slider.funtest.commands.KDiagCommandIT) Time elapsed: 3.313 sec <<< ERROR! org.apache.slider.core.exceptions.SliderException: Expected exit code of command /Users/stevel/Projects/Hortonworks/Projects/slider/slider-assembly/target/slider-0.90.0-incubating-SNAPSHOT-all/slider-0.90.0-incubating-SNAPSHOT/bin/slider kdiag --fail : 0 - actual=41 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:80) at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:74) at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:255) at org.apache.slider.funtest.framework.ShellBase.assertExitCode(ShellBase.groovy:195) at org.apache.slider.funtest.framework.ShellBase.assertExitCode(ShellBase.groovy) at org.apache.slider.funtest.framework.CommandTestBase.assertExitCode(CommandTestBase.groovy:502) at org.apache.slider.funtest.framework.CommandTestBase.assertSuccess(CommandTestBase.groovy:485) at org.apache.slider.funtest.commands.KDiagCommandIT.testKdiag(KDiagCommandIT.groovy:36) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74) {code} > add a kdiag command for kerberos diagnostics > -------------------------------------------- > > Key: SLIDER-1027 > URL: https://issues.apache.org/jira/browse/SLIDER-1027 > Project: Slider > Issue Type: New Feature > Components: client > Affects Versions: Slider 0.90 > Environment: Kerberos > Reporter: Steve Loughran > Assignee: Steve Loughran > Fix For: Slider 0.90 > > Attachments: out.txt > > > Trying to debug kerberos problems is painful exercise > Add a kerberos diagnostics command, `kdiag` to aid this; output to stdout or > to a named file. > add other args as appropriate, etg > * `--required` - fail with exit code if no login > * `--zookeeper` check zk details > * `--hdfs` check HDFS > * `--yarn` check yarn login > * --keytab + keytab name`: check for accessibility, contents -- This message was sent by Atlassian JIRA (v6.3.4#6332)