@@ -28,6 +28,7 @@ import (
28
28
"github.com/kubeflow/pipelines/backend/src/apiserver/list"
29
29
"github.com/kubeflow/pipelines/backend/src/apiserver/model"
30
30
"github.com/kubeflow/pipelines/backend/src/apiserver/resource"
31
+ "github.com/kubeflow/pipelines/backend/src/apiserver/validation"
31
32
"github.com/kubeflow/pipelines/backend/src/common/util"
32
33
"github.com/prometheus/client_golang/prometheus"
33
34
"github.com/prometheus/client_golang/prometheus/promauto"
@@ -121,6 +122,10 @@ type PipelineServerV1 struct {
121
122
// Applies common logic on v1beta1 and v2beta1 API.
122
123
func (s * BasePipelineServer ) createPipeline (ctx context.Context , pipeline * model.Pipeline ) (* model.Pipeline , error ) {
123
124
pipeline .Namespace = s .resourceManager .ReplaceNamespace (pipeline .Namespace )
125
+ err := validation .ValidateNamespaceRequired (pipeline .Namespace )
126
+ if err != nil {
127
+ return nil , err
128
+ }
124
129
125
130
if pipeline .Name == "" {
126
131
return nil , util .NewInvalidInputError ("name is required" )
@@ -151,6 +156,10 @@ func (s *BasePipelineServer) createPipelineAndPipelineVersion(ctx context.Contex
151
156
}
152
157
153
158
pipeline .Namespace = s .resourceManager .ReplaceNamespace (pipeline .Namespace )
159
+ err := validation .ValidateNamespaceRequired (pipeline .Namespace )
160
+ if err != nil {
161
+ return nil , nil , err
162
+ }
154
163
155
164
// Check authorization
156
165
resourceAttributes := & authorizationv1.ResourceAttributes {
@@ -328,6 +337,9 @@ func (s *PipelineServer) GetPipeline(ctx context.Context, request *apiv2beta1.Ge
328
337
// Applies common logic on v1beta1 and v2beta1 API.
329
338
func (s * BasePipelineServer ) getPipelineByName (ctx context.Context , name string , namespace string , apiRequestVersion string ) (* model.Pipeline , * model.PipelineVersion , error ) {
330
339
namespace = s .resourceManager .ReplaceNamespace (namespace )
340
+ if err := validation .ValidateNamespaceRequired (namespace ); err != nil {
341
+ return nil , nil , err
342
+ }
331
343
resourceAttributes := & authorizationv1.ResourceAttributes {
332
344
Namespace : namespace ,
333
345
Name : name ,
@@ -389,6 +401,9 @@ func (s *PipelineServer) GetPipelineByName(ctx context.Context, request *apiv2be
389
401
func (s * BasePipelineServer ) listPipelines (ctx context.Context , namespace string , pageToken string , pageSize int32 , sortBy string , opts * list.Options , apiRequestVersion string ) ([]* model.Pipeline , []* model.PipelineVersion , int , string , error ) {
390
402
// Fill in the default namespace
391
403
namespace = s .resourceManager .ReplaceNamespace (namespace )
404
+ if err := validation .ValidateNamespaceRequired (namespace ); err != nil {
405
+ return nil , nil , 0 , "" , err
406
+ }
392
407
resourceAttributes := & authorizationv1.ResourceAttributes {
393
408
Namespace : namespace ,
394
409
Verb : common .RbacResourceVerbList ,
0 commit comments