yuvipanda / hubtraf

Traffic simulator for JupyterHub
BSD 3-Clause "New" or "Revised" License
40 stars 24 forks source link

Hubtraf uses LTI auth by default #22

Open salvis2 opened 4 years ago

salvis2 commented 4 years ago

I have been trying to get a hubtraf to test a JupyterHub.

I git clone the repo, cd hubtraf, and run

helm install --namespace=hubtraf hubtraf helm-chart \
   --set hub.url=https://icesat-2.hackweek.io

If the url is the wrong thing, I would love a suggestion. Regardless, the helm installation succeeds, and I see

kubectl get all -n hubtraf
NAME                             READY   STATUS    RESTARTS   AGE
pod/collector-7c44468b74-gbb77   1/1     Running   0          10m
pod/hubtraf-hubtraf-htqml        1/2     Running   0          10m

NAME                TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)     AGE
service/collector   ClusterIP   10.100.210.235   <none>        24224/TCP   10m

NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/collector   1/1     1            1           10m

NAME                                   DESIRED   CURRENT   READY   AGE
replicaset.apps/collector-7c44468b74   1         1         1       10m

NAME                        COMPLETIONS   DURATION   AGE
job.batch/hubtraf-hubtraf   0/1           10m        10m

However, all of the logs suggest that it is using "LTI" login by default: <ClientResponse(https://icesat-2.hackweek.io/hub/lti/launch) [404 Not Found]>, but I can't figure out why it chooses this over dummy auth.

kubectl logs -n hubtraf hubtraf-hubtraf-htqml fluent-bit
...
[0] tail.0: [1590007649.823238994, {"log"=>"{"username": "hubtraf-hubtraf-htqml-61", "action": "login", "phase": "start", "event": "Login: Starting", "timestamp": "2020-05-20T20:47:29.747877Z"}"}]
[1] tail.0: [1590007649.831029153, {"log"=>"{"username": "hubtraf-hubtraf-htqml-61", "action": "login", "phase": "failed", "duration": 0.08271946699824184, "event": "Login: Failed with response <ClientResponse(https://icesat-2.hackweek.io/hub/lti/launch) [404 Not Found]>\n<CIMultiDictProxy('Access-Control-Allow-Headers': 'accept, content-type, authorization', 'Content-Length': '4733', 'Content-Security-Policy': \"frame-ancestors 'self'; report-uri /hub/security/csp-report\", 'Content-Type': 'text/html', 'Date': 'Wed, 20 May 2020 20:47:29 GMT', 'Server': 'TornadoServer/6.0.3', 'Strict-Transport-Security': 'max-age=15724800', 'X-Jupyterhub-Version': '1.1.0')>\n", "timestamp": "2020-05-20T20:47:29.830712Z"}"}]

Thoughts?