-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Allow PipelineRuns to provide extra parameters #2513
Comments
/kind feature |
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we discovered that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters. In this validation, we allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. Consequently, users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we discovered that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters. In this validation, we allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. Consequently, users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we discovered that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters. In this validation, we allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. Consequently, users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed.That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the expected parameters to ensure they are in the list of provided parameters. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed.That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the expected parameters to ensure they are in the list of provided parameters. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the expected parameters to ensure they are in the list of provided parameters. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the expected parameters to ensure they are in the list of provided parameters. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the expected parameters to ensure they are in the list of provided parameters. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the expected parameters to ensure they are in the list of provided parameters. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the expected parameters to ensure they are in the list of provided parameters. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the expected parameters to ensure they are in the list of provided parameters. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the required parameters to ensure they are in the list of provided parameters. Note that parameters which have default values specified in Pipeline are not required. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the required parameters to ensure they are in the list of provided parameters. Note that parameters which have default values specified in Pipeline are not required. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the required parameters to ensure they are in the list of provided parameters. Note that parameters which have default values specified in Pipeline are not required. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the required parameters to ensure they are in the list of provided parameters. Note that parameters which have default values specified in Pipeline are not required. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the required parameters to ensure they are in the list of provided parameters. Note that parameters which have default values specified in Pipeline are not required. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the required parameters to ensure they are in the list of provided parameters. Note that parameters which have default values specified in Pipeline are not required. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the required parameters to ensure they are in the list of provided parameters. Note that parameters which have default values specified in Pipeline are not required. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the required parameters to ensure they are in the list of provided parameters. Note that parameters which have default values specified in Pipeline are not required. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the required parameters to ensure they are in the list of provided parameters. Note that parameters which have default values specified in Pipeline are not required. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the required parameters to ensure they are in the list of provided parameters. Note that parameters which have default values specified in Pipeline are not required. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the required parameters to ensure they are in the list of provided parameters. Note that parameters which have default values specified in Pipeline are not required. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (tektoncd#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the required parameters to ensure they are in the list of provided parameters. Note that parameters which have default values specified in Pipeline are not required. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (tektoncd#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes tektoncd#2708.
While working on allowing PipelineRuns to provide extra parameters (#2513), we found that providing extra parameters was unintentionally allowed. That's because, currently, there's no validation that all parameters expected by the Pipeline is provided by the PipelineRun. In this PR, we add validation for PipelineRun parameters by generating a list of provided parameters then iterating through the required parameters to ensure they are in the list of provided parameters. Note that parameters which have default values specified in Pipeline are not required. In the validation, we still allow PipelineRuns to provide extra parameters. If we disallow PipelineRuns from provides extra parameters, the Pipelines would fail. As a result, systems that autogenerate PipelineRuns need to lookat each pipeline to see what parameters they need so it can provide only the required parameters. That means users would have to resort to more complex designs to solve this issue, as further described in (#2513). By allowing PipelineRuns to provide extra parameters, we make the process of autogenerating of PipelineRuns simpler. Fixes #2708.
Rotten issues close after 30d of inactivity. /close Send feedback to tektoncd/plumbing. |
@tekton-robot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/remove-lifecycle rotten |
@vdemeester: Reopened this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Similarly, @bobcatfish does it make sense to allow TaskRuns to provide extra parameters? |
my personal feeling is to avoid adding that until someone has a compelling use case for it - maybe im wrong to draw a distinction between pipelineruns and taskruns but i feel like the use case we have, where a system is generating pipelineruns, is more likely than taskruns |
sounds good 👍 |
Expected Behavior
Imagine you have a system creating PipelineRuns automatically, and each PipelineRun uses a different Pipeline which has a different set of parameters. The system has a number of parameters it knows how to provide, e.g. the service account and url of a bucket the Pipelines can push to (but not all Pipelines need to push to a bucket).
It would be very convenient if the system creating the PipelineRuns could provide all the parameters it has available to all PipelineRuns, and the Pipelines could use the ones they need and ignore the rest.
Actual Behavior
If a PipelineRun provides extra params to a Pipeline, it will fail (99% sure!). This means that the system creating the PipelineRuns described above will need to look at each Pipeline, see what params it needs, and only provide the correct params. This feels like a level of complication that doesn't add much.
Additional Info
The text was updated successfully, but these errors were encountered: