-
Notifications
You must be signed in to change notification settings - Fork 13
list bins management command #424
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
Conversation
|
@joefutrelle it looks like what it say sit does from the help text, but I'd consider:
I could be persuaded against it, but with something named "list" I think of it as not destructive and that the |
|
This is on track to become a kind of "swiss army knife" for dealing with filtered lists of bins, and I think that approach might be easier to maintain than a set of commands all of which take all the filtering params. So I'm inclined to go for just renaming it to something that reflects this multi-purpose usage, like |
|
A concern(?) is potential conflict with normal accession process. The latter is based on poll of directories that are associated with a given time series. This tool is still really helpful and needed for some of our use cases but important to spell out the intended behavior and if/how actions should be tied to organization of data files. |
Edit: not true, existing bins (ones that have an entry in the database) are skipped during accession. |
|
@joefutrelle I'm good with calling it To cover the other scenarios mentioned, you could add additional flags, like But those would likely be out of scope for this particular tool/command |
|
OK, awaiting additional feedback / discussion from @mbrosnahan (or others) before proceeding further. |
|
I tinkered a bit with habon-ifcb instance to evaluate how listbins (now bintool) behaves and potential for conflict with regular accession behavior. Experiment 1: Experiment 2: Experiment 3: Experiment 4: Experiment 5: Experiment 6: |
|
Is all of above stable and as intended? If yes, we will move forward with implementation of listbins/bintool that allows credentialed NHABON network contributors to share IFCB data via our WHOI-based ifcbdb instance. Data sharer app ingests outside IFCB operator bins via AWS, check integrity, then publishes through habon-ifcb instance on operator configured time-series endpoints. Example scenario: |
|
Apologies for the misstatement above. Here's the actual logic that will re-add a bin when it already exists. Everything is working as intended; @mbrosnahan you're bringing up new use cases that aren't covered in the current design which is why you're seeing behavior you don't want. ifcbdb/ifcbdb/dashboard/accession.py Lines 143 to 151 in f0bdcd5
The current design is based on the idea that a dataset is the mechanism for associating directories with bins, not the bin object. If you want arbitrary combinations of bins, datasets, and directories, there would need to be a fundamental change to how we model and implement the location of the data for a bin, as well as the management tools around them. I can see some ways to handle some of these scenarios without such a fundamental redesign. For instance you can have more than one dataset point to the same directory and then you can add/remove the bin from either or both datasets without breaking the link to the data or requiring syncing more than once. |
|
I'm inclined to merge this, since it's working as intended, and work on new features and capabilities in another PR. |
|
Thanks, Joe and Mike, for discussion here. Wonderful that listbins add/remove dataset functions are available now! |
This new command provides the ability to produce lists of bins on the backend based on filter parameters, and optionally to take action to move bins between datasets.