You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Andrew Wong (Code Review)" <ge...@cloudera.org> on 2022/05/02 23:58:18 UTC

[kudu-CR] jwt: Java client usage of JWTs

Andrew Wong has uploaded this change for review. ( http://gerrit.cloudera.org:8080/18477


Change subject: jwt: Java client usage of JWTs
......................................................................

jwt: Java client usage of JWTs

WIP:
- this very barely plumbs JWTs into the Java-side negotiation
- it doesn't correctly authenticate using plumbed JWTs, as seen by the
  test failure when only supplying a JWT and requiring authentication:

org.apache.kudu.test.TestMiniKuduCluster > testJwt FAILED
    org.apache.kudu.client.NonRecoverableException: Couldn't find a valid master in (127.94.224.62:42399). Exceptions received: [org.apache.kudu.client.NonRecoverableException: client requires authentication, but server does not have Kerberos enabled]

The end goal of this patch series is to have a Nifi client fetch a JWT
from an endpoint, and use that to authenticate with a Kudu cluster that
is unable to use Kerberos.

Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
---
M java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java
M java/kudu-client/src/main/java/org/apache/kudu/client/SecurityContext.java
M java/kudu-test-utils/src/test/java/org/apache/kudu/test/TestMiniKuduCluster.java
3 files changed, 52 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/77/18477/1
-- 
To view, visit http://gerrit.cloudera.org:8080/18477
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
Gerrit-Change-Number: 18477
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>

[kudu-CR] jwt: Java client usage of JWTs

Posted by "Zoltan Chovan (Code Review)" <ge...@cloudera.org>.
Zoltan Chovan has uploaded a new patch set (#4) to the change originally created by Andrew Wong. ( http://gerrit.cloudera.org:8080/18477 )

Change subject: jwt: Java client usage of JWTs
......................................................................

jwt: Java client usage of JWTs

WIP:
- this very barely plumbs JWTs into the Java-side negotiation
- it doesn't correctly authenticate using plumbed JWTs, as seen by the
  test failure when only supplying a JWT and requiring authentication:

org.apache.kudu.test.TestMiniKuduCluster > testJwt FAILED
    org.apache.kudu.client.NonRecoverableException: Couldn't find a valid master in (127.94.224.62:42399). Exceptions received: [org.apache.kudu.client.NonRecoverableException: client requires authentication, but server does not have Kerberos enabled]

The end goal of this patch series is to have a Nifi client fetch a JWT
from an endpoint, and use that to authenticate with a Kudu cluster that
is unable to use Kerberos.

Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
---
M java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java
M java/kudu-client/src/main/java/org/apache/kudu/client/SecurityContext.java
M java/kudu-test-utils/src/main/java/org/apache/kudu/test/KuduTestHarness.java
M java/kudu-test-utils/src/test/java/org/apache/kudu/test/TestMiniKuduCluster.java
4 files changed, 80 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/77/18477/4
-- 
To view, visit http://gerrit.cloudera.org:8080/18477
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
Gerrit-Change-Number: 18477
Gerrit-PatchSet: 4
Gerrit-Owner: Andrew Wong <an...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Wenzhe Zhou <wz...@cloudera.com>
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>

[kudu-CR] jwt: Java client usage of JWTs

Posted by "Attila Bukor (Code Review)" <ge...@cloudera.org>.
Attila Bukor has posted comments on this change. ( http://gerrit.cloudera.org:8080/18477 )

Change subject: jwt: Java client usage of JWTs
......................................................................


Patch Set 7: Verified+1

overriding unrelated flaky test failure


-- 
To view, visit http://gerrit.cloudera.org:8080/18477
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
Gerrit-Change-Number: 18477
Gerrit-PatchSet: 7
Gerrit-Owner: Andrew Wong <an...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Wenzhe Zhou <wz...@cloudera.com>
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Fri, 14 Apr 2023 14:53:02 +0000
Gerrit-HasComments: No

[kudu-CR] jwt: Java client usage of JWTs

Posted by "Attila Bukor (Code Review)" <ge...@cloudera.org>.
Attila Bukor has posted comments on this change. ( http://gerrit.cloudera.org:8080/18477 )

Change subject: jwt: Java client usage of JWTs
......................................................................


Patch Set 6:

(3 comments)

http://gerrit.cloudera.org:8080/#/c/18477/6/java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java
File java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java:

http://gerrit.cloudera.org:8080/#/c/18477/6/java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java@273
PS6, Line 273:     // TODO(awong): also guard this on the presence of certs.
nit: change name to zchovan.


http://gerrit.cloudera.org:8080/#/c/18477/6/java/kudu-client/src/main/java/org/apache/kudu/client/SecurityContext.java
File java/kudu-client/src/main/java/org/apache/kudu/client/SecurityContext.java:

http://gerrit.cloudera.org:8080/#/c/18477/6/java/kudu-client/src/main/java/org/apache/kudu/client/SecurityContext.java@362
PS6, Line 362:   public synchronized void setJsonWebToken(JwtRawPB jwt) {
nit: add comment


http://gerrit.cloudera.org:8080/#/c/18477/6/java/kudu-test-utils/src/test/java/org/apache/kudu/test/TestMiniKuduCluster.java
File java/kudu-test-utils/src/test/java/org/apache/kudu/test/TestMiniKuduCluster.java:

http://gerrit.cloudera.org:8080/#/c/18477/6/java/kudu-test-utils/src/test/java/org/apache/kudu/test/TestMiniKuduCluster.java@120
PS6, Line 120:   @Test //(timeout = 50000)
nit: add timeout back



-- 
To view, visit http://gerrit.cloudera.org:8080/18477
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
Gerrit-Change-Number: 18477
Gerrit-PatchSet: 6
Gerrit-Owner: Andrew Wong <an...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Wenzhe Zhou <wz...@cloudera.com>
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Fri, 14 Apr 2023 13:52:36 +0000
Gerrit-HasComments: Yes

[kudu-CR] jwt: Java client usage of JWTs

Posted by "Attila Bukor (Code Review)" <ge...@cloudera.org>.
Attila Bukor has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/18477 )

Change subject: jwt: Java client usage of JWTs
......................................................................

jwt: Java client usage of JWTs

This change introduces modifications to the Negotiator and the
SecurityContext  classes to be able to handle JWT authentication from
the Java client.

Also adding a test where the client is set up with a JWT that was
generated by the MiniOIDC that starts along with the
ExternalMiniCluster.

Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
Reviewed-on: http://gerrit.cloudera.org:8080/18477
Reviewed-by: Attila Bukor <ab...@apache.org>
Tested-by: Attila Bukor <ab...@apache.org>
---
M java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java
M java/kudu-client/src/main/java/org/apache/kudu/client/SecurityContext.java
M java/kudu-test-utils/src/main/java/org/apache/kudu/test/KuduTestHarness.java
M java/kudu-test-utils/src/test/java/org/apache/kudu/test/TestMiniKuduCluster.java
4 files changed, 83 insertions(+), 8 deletions(-)

Approvals:
  Attila Bukor: Looks good to me, approved; Verified

-- 
To view, visit http://gerrit.cloudera.org:8080/18477
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
Gerrit-Change-Number: 18477
Gerrit-PatchSet: 8
Gerrit-Owner: Andrew Wong <an...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Wenzhe Zhou <wz...@cloudera.com>
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>

[kudu-CR] jwt: Java client usage of JWTs

Posted by "Zoltan Chovan (Code Review)" <ge...@cloudera.org>.
Zoltan Chovan has uploaded a new patch set (#6) to the change originally created by Andrew Wong. ( http://gerrit.cloudera.org:8080/18477 )

Change subject: jwt: Java client usage of JWTs
......................................................................

jwt: Java client usage of JWTs

This change introduces modifications to the Negotiator and the
SecurityContext  classes to be able to handle JWT authentication from
the Java client.

Also adding a test where the client is set up with a JWT that was
generated by the MiniOIDC that starts along with the
ExternalMiniCluster.

Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
---
M java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java
M java/kudu-client/src/main/java/org/apache/kudu/client/SecurityContext.java
M java/kudu-test-utils/src/main/java/org/apache/kudu/test/KuduTestHarness.java
M java/kudu-test-utils/src/test/java/org/apache/kudu/test/TestMiniKuduCluster.java
4 files changed, 80 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/77/18477/6
-- 
To view, visit http://gerrit.cloudera.org:8080/18477
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
Gerrit-Change-Number: 18477
Gerrit-PatchSet: 6
Gerrit-Owner: Andrew Wong <an...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Wenzhe Zhou <wz...@cloudera.com>
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>

[kudu-CR] jwt: Java client usage of JWTs

Posted by "Attila Bukor (Code Review)" <ge...@cloudera.org>.
Attila Bukor has removed a vote on this change.

Change subject: jwt: Java client usage of JWTs
......................................................................


Removed Verified-1 by Kudu Jenkins (120)
-- 
To view, visit http://gerrit.cloudera.org:8080/18477
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
Gerrit-Change-Number: 18477
Gerrit-PatchSet: 7
Gerrit-Owner: Andrew Wong <an...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Wenzhe Zhou <wz...@cloudera.com>
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>

[kudu-CR] jwt: Java client usage of JWTs

Posted by "Zoltan Chovan (Code Review)" <ge...@cloudera.org>.
Zoltan Chovan has uploaded a new patch set (#3) to the change originally created by Andrew Wong. ( http://gerrit.cloudera.org:8080/18477 )

Change subject: jwt: Java client usage of JWTs
......................................................................

jwt: Java client usage of JWTs

WIP:
- this very barely plumbs JWTs into the Java-side negotiation
- it doesn't correctly authenticate using plumbed JWTs, as seen by the
  test failure when only supplying a JWT and requiring authentication:

org.apache.kudu.test.TestMiniKuduCluster > testJwt FAILED
    org.apache.kudu.client.NonRecoverableException: Couldn't find a valid master in (127.94.224.62:42399). Exceptions received: [org.apache.kudu.client.NonRecoverableException: client requires authentication, but server does not have Kerberos enabled]

The end goal of this patch series is to have a Nifi client fetch a JWT
from an endpoint, and use that to authenticate with a Kudu cluster that
is unable to use Kerberos.

Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
---
M java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java
M java/kudu-client/src/main/java/org/apache/kudu/client/SecurityContext.java
M java/kudu-test-utils/src/main/java/org/apache/kudu/test/KuduTestHarness.java
M java/kudu-test-utils/src/test/java/org/apache/kudu/test/TestMiniKuduCluster.java
4 files changed, 81 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/77/18477/3
-- 
To view, visit http://gerrit.cloudera.org:8080/18477
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
Gerrit-Change-Number: 18477
Gerrit-PatchSet: 3
Gerrit-Owner: Andrew Wong <an...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Wenzhe Zhou <wz...@cloudera.com>
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>

[kudu-CR] jwt: Java client usage of JWTs

Posted by "Zoltan Chovan (Code Review)" <ge...@cloudera.org>.
Zoltan Chovan has uploaded a new patch set (#5) to the change originally created by Andrew Wong. ( http://gerrit.cloudera.org:8080/18477 )

Change subject: jwt: Java client usage of JWTs
......................................................................

jwt: Java client usage of JWTs

This change introduces modifications to the Negotiator and the
SecurityContext  classes to be able to handle JWT authentication from
the Java client.

Also adding a test where the client is set up with a JWT that was
generated by the MiniOIDC that starts along with the
ExternalMiniCluster.

Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
---
M java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java
M java/kudu-client/src/main/java/org/apache/kudu/client/SecurityContext.java
M java/kudu-test-utils/src/main/java/org/apache/kudu/test/KuduTestHarness.java
M java/kudu-test-utils/src/test/java/org/apache/kudu/test/TestMiniKuduCluster.java
4 files changed, 80 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/77/18477/5
-- 
To view, visit http://gerrit.cloudera.org:8080/18477
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
Gerrit-Change-Number: 18477
Gerrit-PatchSet: 5
Gerrit-Owner: Andrew Wong <an...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Wenzhe Zhou <wz...@cloudera.com>
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>

[kudu-CR] jwt: Java client usage of JWTs

Posted by "Zoltan Chovan (Code Review)" <ge...@cloudera.org>.
Zoltan Chovan has uploaded a new patch set (#7) to the change originally created by Andrew Wong. ( http://gerrit.cloudera.org:8080/18477 )

Change subject: jwt: Java client usage of JWTs
......................................................................

jwt: Java client usage of JWTs

This change introduces modifications to the Negotiator and the
SecurityContext  classes to be able to handle JWT authentication from
the Java client.

Also adding a test where the client is set up with a JWT that was
generated by the MiniOIDC that starts along with the
ExternalMiniCluster.

Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
---
M java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java
M java/kudu-client/src/main/java/org/apache/kudu/client/SecurityContext.java
M java/kudu-test-utils/src/main/java/org/apache/kudu/test/KuduTestHarness.java
M java/kudu-test-utils/src/test/java/org/apache/kudu/test/TestMiniKuduCluster.java
4 files changed, 83 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/77/18477/7
-- 
To view, visit http://gerrit.cloudera.org:8080/18477
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
Gerrit-Change-Number: 18477
Gerrit-PatchSet: 7
Gerrit-Owner: Andrew Wong <an...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Wenzhe Zhou <wz...@cloudera.com>
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>

[kudu-CR] jwt: Java client usage of JWTs

Posted by "Attila Bukor (Code Review)" <ge...@cloudera.org>.
Attila Bukor has posted comments on this change. ( http://gerrit.cloudera.org:8080/18477 )

Change subject: jwt: Java client usage of JWTs
......................................................................


Patch Set 7: Code-Review+2


-- 
To view, visit http://gerrit.cloudera.org:8080/18477
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Id02dcd7ee57a838f4763500e78053e21aac21c09
Gerrit-Change-Number: 18477
Gerrit-PatchSet: 7
Gerrit-Owner: Andrew Wong <an...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Wenzhe Zhou <wz...@cloudera.com>
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Fri, 14 Apr 2023 14:15:04 +0000
Gerrit-HasComments: No