diff --git a/pkg/image/controller/imagestream_controller.go b/pkg/image/controller/imagestream_controller.go index f2bd667f588a..524944457f03 100644 --- a/pkg/image/controller/imagestream_controller.go +++ b/pkg/image/controller/imagestream_controller.go @@ -265,7 +265,7 @@ func handleImageStream( ImportPolicy: imageapi.TagImportPolicy{Insecure: insecure}, } } - result, err := client.ImageStreamImports(stream.Namespace).Create(isi) + result, err := client.ImageStreamImports(stream.Namespace).CreateWithoutTimeout(isi) if err != nil { if apierrs.IsNotFound(err) && isStatusErrorKind(err, "imageStream") { return result, ErrNotImportable diff --git a/pkg/image/generated/internalclientset/typed/image/internalversion/fake/fake_imagestreamimport_expansion.go b/pkg/image/generated/internalclientset/typed/image/internalversion/fake/fake_imagestreamimport_expansion.go new file mode 100644 index 000000000000..667f36dcf3b1 --- /dev/null +++ b/pkg/image/generated/internalclientset/typed/image/internalversion/fake/fake_imagestreamimport_expansion.go @@ -0,0 +1,18 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + image "github.com/openshift/origin/pkg/image/apis/image" + testing "k8s.io/client-go/testing" +) + +func (c *FakeImageStreamImports) CreateWithoutTimeout(imageStreamImport *image.ImageStreamImport) (result *image.ImageStreamImport, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(imagestreamimportsResource, c.ns, imageStreamImport), &image.ImageStreamImport{}) + + if obj == nil { + return nil, err + } + return obj.(*image.ImageStreamImport), err +} diff --git a/pkg/image/generated/internalclientset/typed/image/internalversion/generated_expansion.go b/pkg/image/generated/internalclientset/typed/image/internalversion/generated_expansion.go index 1cb2022d5c8e..605eff59da48 100644 --- a/pkg/image/generated/internalclientset/typed/image/internalversion/generated_expansion.go +++ b/pkg/image/generated/internalclientset/typed/image/internalversion/generated_expansion.go @@ -10,8 +10,6 @@ type ImageStreamExpansion interface{} type ImageStreamImageExpansion interface{} -type ImageStreamImportExpansion interface{} - type ImageStreamMappingExpansion interface{} type ImageStreamTagExpansion interface{} diff --git a/pkg/image/generated/internalclientset/typed/image/internalversion/imagestreamimport_expansion.go b/pkg/image/generated/internalclientset/typed/image/internalversion/imagestreamimport_expansion.go new file mode 100644 index 000000000000..2a0034f860b4 --- /dev/null +++ b/pkg/image/generated/internalclientset/typed/image/internalversion/imagestreamimport_expansion.go @@ -0,0 +1,26 @@ +package internalversion + +import ( + "time" + + image "github.com/openshift/origin/pkg/image/apis/image" +) + +type ImageStreamImportExpansion interface { + CreateWithoutTimeout(*image.ImageStreamImport) (*image.ImageStreamImport, error) +} + +// CreateWithoutTimeout imports the provided images and won't time out after 30 seconds. Use this when you must +// import a large number of images. +func (c *imageStreamImports) CreateWithoutTimeout(imageStreamImport *image.ImageStreamImport) (result *image.ImageStreamImport, err error) { + result = &image.ImageStreamImport{} + err = c.client.Post(). + Namespace(c.ns). + Resource("imagestreamimports"). + Body(imageStreamImport). + // this instructs the api server to allow our request to take up to an hour - chosen as a high boundary + Timeout(time.Hour). + Do(). + Into(result) + return +}