Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-30891

Create drp_pipe and move all DRP pipeline definitions there

    XMLWordPrintable

    Details

      Description

      This is one of the implementation tickets for RFC-775; see that and https://confluence.lsstcorp.org/display/~jbosch/Reorganizing+Top-Level+Packages+and+Pipelines for more details.

      On this ticket, create drp_pipe, add it to repos.yaml and lsst_distrib, and move the DRP.yaml pipelines from other packages there.

      Unless a robust git-commit-hook can be devised quickly (difficult because I'm not sure we want stack-dependent code running in a commit hook), use sconsUtils to expand pipelines from recipes/ -> pipelines/ at build time, and put pipelines/ in .gitignore instead of committing its contents.

      Config fragments that pertain only to specific Gen3 datasets should be moved to drp_pipe as well on this ticket - but this should not include any configs that are

      • used in Gen2 (these will be migrated later);
      • used by AP or CPP (these may be migrated later);
      • applicable for any invocation of the task with data taken with the instrument(s) that obs_ package supports (these should never be migrated).

      Faro- and analysis_drp-instrumented versions of these pipelines will be added on another ticket, because this one is big enough as it is.

        Attachments

          Issue Links

            Activity

            Hide
            nlust Nate Lust added a comment -

            Why are you proposing this extra comparison step outside what a developer creates? In this way its really no different between all the other code we write. We don't really have a second step after say modifying a task in pipe_tasks, which has exactly the same potential to disrupt workflows with a bad commit.

            Show
            nlust Nate Lust added a comment - Why are you proposing this extra comparison step outside what a developer creates? In this way its really no different between all the other code we write. We don't really have a second step after say modifying a task in pipe_tasks, which has exactly the same potential to disrupt workflows with a bad commit.
            Hide
            jbosch Jim Bosch added a comment -

            Nate Lust and I discussed this live a bit, and I think we're going to give up having recipes/, and move the (unexpanded) pipeline source directly into pipelines/ - basically, Krzysztof Findeisen's and Meredith Rawls's misgivings about where this was headed were spot on, and there's just no safe way to make this work. Thanks, all, for bearing with us while we worked through that experiment, especially if (as I suspect was the case for Krzysztof Findeisen, at least) you could tell this was a bad idea from the start.

            That conversation between Nate and I did lead to some new ideas for how to achieve the original goals of committing the expanded pipelines, though, and I've written those up as a community post: https://community.lsst.org/t/expanding-and-documenting-pipeline-definitions/6118

            Show
            jbosch Jim Bosch added a comment - Nate Lust and I discussed this live a bit, and I think we're going to give up having recipes/ , and move the (unexpanded) pipeline source directly into pipelines/ - basically, Krzysztof Findeisen 's and Meredith Rawls 's misgivings about where this was headed were spot on, and there's just no safe way to make this work. Thanks, all, for bearing with us while we worked through that experiment, especially if (as I suspect was the case for Krzysztof Findeisen , at least) you could tell this was a bad idea from the start. That conversation between Nate and I did lead to some new ideas for how to achieve the original goals of committing the expanded pipelines, though, and I've written those up as a community post: https://community.lsst.org/t/expanding-and-documenting-pipeline-definitions/6118
            Hide
            jbosch Jim Bosch added a comment -

            I think this is finally ready for review. I don't think that review needs to involve much; it's pretty much just moving pipeline definitions around (I'm going to punt refactoring pipelines to reduce duplication to a new ticket). Most of the work I did was checking that the new forms yield exactly the same definitions (including config overrides) as the originals, using tooling that's in review over on DM-33027, so there's no need for a reviewer to try to do that rigorously, too.

            There are a lot of PRs; here's a quick summary of each one.

            • drp_pipe: new package, with lots of not-actually-new pipelines now organized and named differently. There are a lot of commits, but I recommend reviewing one-by-one, as the commit messages will make it clear which ones are worth more than a superficial look. Maybe the most important thing to look for here are the new names and the overall organization - please speak up if you dislike any of that.
            • pipe_tasks, obs_decam, obs_lsst, obs_subaru: moved pipelines out of these packages, replacing with stubs.
            • lsst_distrib: add drp_pipe dependency.
            • pipelines_check, ci_hsc_gen3, ci_imsim: the pipelines run by these package are now defined in drp_pipe, so scripts were updated accordingly.

            Please punt it back to me if you're not working much right now, and I'll find another victim.

            Show
            jbosch Jim Bosch added a comment - I think this is finally ready for review. I don't think that review needs to involve much; it's pretty much just moving pipeline definitions around (I'm going to punt refactoring pipelines to reduce duplication to a new ticket). Most of the work I did was checking that the new forms yield exactly the same definitions (including config overrides) as the originals, using tooling that's in review over on DM-33027 , so there's no need for a reviewer to try to do that rigorously, too. There are a lot of PRs; here's a quick summary of each one. drp_pipe : new package, with lots of not-actually-new pipelines now organized and named differently. There are a lot of commits, but I recommend reviewing one-by-one, as the commit messages will make it clear which ones are worth more than a superficial look. Maybe the most important thing to look for here are the new names and the overall organization - please speak up if you dislike any of that. pipe_tasks , obs_decam , obs_lsst , obs_subaru : moved pipelines out of these packages, replacing with stubs. lsst_distrib : add drp_pipe dependency. pipelines_check , ci_hsc_gen3 , ci_imsim : the pipelines run by these package are now defined in drp_pipe, so scripts were updated accordingly. Please punt it back to me if you're not working much right now, and I'll find another victim.
            Hide
            jbosch Jim Bosch added a comment -

            Krzysztof Findeisen, would you mind taking over this review? My previous comment about the packages to be reviewed and the summaries of what's changed still holds. There are also a couple of ongoing threads about synchronizing config changes that happened or may shortly happen in the original pipeline locations, but I think you can safely ignore those for the purposes of the review, as other people are paying attention to them already.

            Show
            jbosch Jim Bosch added a comment - Krzysztof Findeisen , would you mind taking over this review? My previous comment about the packages to be reviewed and the summaries of what's changed still holds. There are also a couple of ongoing threads about synchronizing config changes that happened or may shortly happen in the original pipeline locations, but I think you can safely ignore those for the purposes of the review, as other people are paying attention to them already.
            Hide
            jbosch Jim Bosch added a comment -

            I believe I've addressed all review comments (though there are a couple of threads on the drp_pipe PR where discussion sort of trailed off rather than being firmly resolved), rebased all branches, and repeated my local testing for equivalency between the current pipelines and new ones. Jenkins is running, and I plan to merge when that's green.

            Show
            jbosch Jim Bosch added a comment - I believe I've addressed all review comments (though there are a couple of threads on the drp_pipe PR where discussion sort of trailed off rather than being firmly resolved), rebased all branches, and repeated my local testing for equivalency between the current pipelines and new ones. Jenkins is running, and I plan to merge when that's green.

              People

              Assignee:
              jbosch Jim Bosch
              Reporter:
              jbosch Jim Bosch
              Reviewers:
              Krzysztof Findeisen
              Watchers:
              Hsin-Fang Chiang, Jim Bosch, John Parejko, Krzysztof Findeisen, Lee Kelvin, Meredith Rawls, Nate Lust, Yusra AlSayyad
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Jenkins

                  No builds found.