-
Notifications
You must be signed in to change notification settings - Fork 15
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
127 ingest more bands for l8 products #161
127 ingest more bands for l8 products #161
Conversation
@randomorder
This turned out to be a lot more work than originally planned. I had to do some changes in order to get the code to run on my dev box. Additionally, the current implementation makes it very hard to test tasks in isolation. My struggle so far has been not with the complexity of the task, but with the setup of a productive environment. Regarding the testing part of the task:
I'm trying to make the point that it is hard for a new dev to pick up this code. Perhaps we should invest some time in easing this process? Back to the subtask at hand, regarding the multiple band support, support for multiple bands was indeed already implemented in the download operator. I think I'll be able to move faster now that I have a more manageable dev environment up. |
a500bcb
to
a0fc6f4
Compare
I'm continuing the work. Moved on to second subtask:
Here I've actually deviated a bit from your instructions, hence I need some feedback on the proposed changes. You can find examples of this refactored workflow in the I've also implemented a
is nice in order to retrieve custom config. I've not been doing this for now mainly because of issue #162. I've also tried to simplify the parameters in the existing operators, throwing away unused stuff (because of YAGNI) in order to make the code simpler and more readable. This is still very much a work in progress and I'd appreciate any feedback that you may have ;) |
Ok, sounds good
Generally speaking would be good to simplify XCom code ( #132 ). Please comment on #132 so that we can track this approach
Sounds good to me
Please take a look at #118 |
f599d55
to
508c97b
Compare
Have you changed GDAL Operators as well?
Yes, we are generating it. We want it to be square, compressed and low resolution. The one provided with the S3 did not match the requisites |
eb8eb7b
to
30c13e3
Compare
I've been working on the last subtask:
I've done some extensive cleanup and refactoring, especially in the operator that reads MTL files, which was kind of messy before. Hopefully it is more readable now. I think most of the stuff for this PR is nearing completion. I've not been able to do much testing yet, mostly due to the way that the DAGs are currently implemented (custom operators + xcoms for inter task communication -> hard to run stuff in isolation). Eventually I'll get back to you and ask for a proper review, when I think that the code is ready. |
File is available at: https://github.com/geosolutions-it/evo-odas/blob/master/metadata-ingestion/templates/product_abstract.html
I believed we already touched this. XCom mechanism is cumbersome and I don't like it either but that Airflow provides and what we are using. We can't ditch XComs until we have very good reason and a working replacement for it.
Diagram is looking good! |
this was causing the airflow/plugins/gdal_plugin.py file to be ignored. Since this module is used by the Landsat8 DAG it was probably not supposed to be ignored. This might fix partially issue geosolutions-it#158.
All code pertaining to the Landsat8 DAGs has been refactored. The changes are strictly cosmetic and do not alter the business logic in any way. Changes were made to increase readability and to conform with pythons official style guide, as described in pep8. Changes: - reordered imports - lines capped at 79 chars - replaced all tabs with spaces - used 4 spaces as indentation consistently everywhere - used double quotes for docstrings - respected white space rules around operators and functions - etc.
Removed redundant dicts and brought parameters closer to where they are used
The code of the download operator has also been refactored for readability
the changes in this commit refactor both the dag and its custom operators. they were necessary in order to be able to test tasks in isolation. these changes drop xcoms in this dag.
Each designated Landsat8 area shall have its own DAG. The DAG gets generated by the new generate_Dag function
- Switched to using XComs on the operator return values - Removed some unused operator parameters in order to simplify the code
- use streamlined xcoms - support single files only - general refactoring
- paralelism is being dealt with at the DAG level
- download_dir and download_url moved to DEFAULT_ARGS - refactor of the operators
2588e50
to
bab587c
Compare
The work seems to be done. Pending your favorable review I believe the PR could be merged. Some notes:
|
Review is still in progress |
…more-bands-for-l8-products 127 ingest more bands for l8 products
…more-bands-for-l8-products 127 ingest more bands for l8 products
…more-bands-for-l8-products 127 ingest more bands for l8 products
This PR implements the changes proposed in issue #127