Code Monkey home page Code Monkey logo

Comments (5)

fische avatar fische commented on July 24, 2024 1

@fische thanks for the issue. I think this is more of a feature request than a bug (as, it is not listed anywhere that it is possible to use variable interpolation in the resolver "spec", see here). That said, I agree 100% that it should be possible.

The reason I raised this as a bug is because variable substitution is possible in resolver parameters with the pipeline parameters (ie $(params.target)). This is not documented anywhere either, so I just assumed the documentation was out of date and the fact task results are not supported was a bug. But I get your point, I can turn this into a kind/feature if needed?

from pipeline.

vdemeester avatar vdemeester commented on July 24, 2024

@fische thanks for the issue. I think this is more of a feature request than a bug (as, it is not listed anywhere that it is possible to use variable interpolation in the resolver "spec", see here). That said, I agree 100% that it should be possible.

I have also just realised that the ResolutionRequests for pipeline's tasks get created right when the PipelineRun is created (which is most likely related to this issue) and are owned by that PipelineRun.

I don't think it is the case, but if it is, it is probably an issue we need to fix. In your example, it might happen because the dependency between task-a and task-b is implicit (aka not using runAfter), but I am not 100% sure. But if it happens that way, it is a bug in my opinion (so the issue is both a feature request and an issue 😅 ).

I don't understand this approach as it would have been so much simpler (and worked so much nicer with the rest), if the PipelineRun instead created the TaskRuns, and then those would create the ResolutionRequests. This would've meant that you would not need the additional logic when reconciling pipelines to check if there's any task to resolve and start their resolution, and instead you would be able to start the pipeline ASAP. I guess the only "tradeoff" with this is that you won't see a resolution failure immediately.

So we would create the TaskRun with the resolver and let the TaskRun reconciler do its job. I am not sure why it's not working like this, @abayer @afrittoli do you know anything about it ?

from pipeline.

vdemeester avatar vdemeester commented on July 24, 2024

@fische we can mark it as both maybe 🙃
/kind feature

from pipeline.

vdemeester avatar vdemeester commented on July 24, 2024

cc @chitrangpatel

from pipeline.

chitrangpatel avatar chitrangpatel commented on July 24, 2024

Hi,

Thanks for the issue.
If I'm not wrong, param substitution of pipelinerun params into resolution request for a pipelineref does not work either.So it is a bit broken in that sense.

I think marking it as a feature for allowing variable replacements in remote resolution request makes sense to me. We should investigate it fully and add this capability. My worry is that if we ever want to change the behavior of remote resolution to an upfront remote resolution approach then the param substitutions can only happen as the dag expands and so upfront remote resolution will not be possible in that scenario. But those details can be questioned and hashed out when we discuss this feature in more detail.

from pipeline.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.