-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
load_stac of unsigned job results fails with 401 Unauthorized #792
Comments
It does seem to work if the
|
Traceback (most recent call last): File "/opt/openeo/lib/python3.8/site-packages/flask/app.py", line 1484, in full_dispatch_request rv = self.dispatch_request() File "/opt/openeo/lib/python3.8/site-packages/flask/app.py", line 1469, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) File "/opt/openeo/lib/python3.8/site-packages/openeo_driver/users/auth.py", line 95, in decorated return f(*args, **kwargs) File "/opt/openeo/lib/python3.8/site-packages/openeo_driver/views.py", line 673, in result result = backend_implementation.processing.evaluate(process_graph=process_graph, env=env) File "/opt/openeo/lib/python3.8/site-packages/openeo_driver/ProcessGraphDeserializer.py", line 301, in evaluate return evaluate(process_graph=process_graph, env=env) File "/opt/openeo/lib/python3.8/site-packages/openeo_driver/ProcessGraphDeserializer.py", line 377, in evaluate result = convert_node(result_node, env=env) File "/opt/openeo/lib/python3.8/site-packages/openeo_driver/ProcessGraphDeserializer.py", line 402, in convert_node process_result = apply_process(process_id=process_id, args=processGraph.get('arguments', {}), File "/opt/openeo/lib/python3.8/site-packages/openeo_driver/ProcessGraphDeserializer.py", line 1581, in apply_process args = {name: convert_node(expr, env=env) for (name, expr) in sorted(args.items())} File "/opt/openeo/lib/python3.8/site-packages/openeo_driver/ProcessGraphDeserializer.py", line 1581, in <dictcomp> args = {name: convert_node(expr, env=env) for (name, expr) in sorted(args.items())} File "/opt/openeo/lib/python3.8/site-packages/openeo_driver/ProcessGraphDeserializer.py", line 416, in convert_node return convert_node(processGraph['node'], env=env) File "/opt/openeo/lib/python3.8/site-packages/openeo_driver/ProcessGraphDeserializer.py", line 402, in convert_node process_result = apply_process(process_id=process_id, args=processGraph.get('arguments', {}), File "/opt/openeo/lib/python3.8/site-packages/openeo_driver/ProcessGraphDeserializer.py", line 1613, in apply_process return process_function(args=ProcessArgs(args, process_id=process_id), env=env) File "/opt/openeo/lib/python3.8/site-packages/openeo_driver/ProcessGraphDeserializer.py", line 2234, in load_stac return env.backend_implementation.load_stac(url=url, load_params=load_params, env=env) File "/opt/openeo/lib/python3.8/site-packages/openeogeotrellis/backend.py", line 760, in load_stac return load_stac.load_stac(url, load_params, env, layer_properties={}, batch_jobs=self.batch_jobs) File "/opt/openeo/lib/python3.8/site-packages/openeogeotrellis/load_stac.py", line 145, in load_stac pystac_item = pystac.Item(id=asset_id, geometry=asset["geometry"], bbox=asset["bbox"], KeyError: 'geometry'
I see no trace of a functional |
Ok: openeo-geopyspark-driver/openeogeotrellis/deploy/batch_job.py Lines 217 to 219 in 4885f5f
To support loading unsigned job results, Note: this use case is covered by the integration tests on Terrascope but there it works because it still uses ZK for batch jobs. |
Fixed by supporting EJR in batch job driver (tested on openeo-staging). |
Batch job integration tests on Terrascope are failing because they lack EJR configuration. |
Reported by @VictorVerhaert.
Main job
j-240605ef616e4f65bf465d15c84030bc
on cdse-prod by userfaba0f95-04b7-4560-aeb4-c0172dd9de09
is attempting aload_stac
of job results by means of the unsigned URL:Dependency job
j-240605a639644099b2d8d8cabe62b971
is a job by the same user, also on cdse-prod:Considering both jobs are by the same user and on the same back-end, using the unsigned URL should Just Work without actually fetching the URL, but instead it fails with a 401 Unauthorized:
From the logs I gather that it doesn't consider both jobs from the same user and therefore proceeds with actually fetching the STAC URL, which (rightfully) doesn't work as it is unsigned:
The text was updated successfully, but these errors were encountered: