From 89a75e2a85d074eca1cc4367c6f7945392d31543 Mon Sep 17 00:00:00 2001 From: nikhiljindal Date: Thu, 4 Aug 2016 15:26:38 -0700 Subject: [PATCH 1/3] Adding ingress to federation apiserver --- federation/cmd/federation-apiserver/app/extensions.go | 4 ++++ federation/cmd/federation-apiserver/app/server_test.go | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/federation/cmd/federation-apiserver/app/extensions.go b/federation/cmd/federation-apiserver/app/extensions.go index 4c5cd0be421..7b7d463d365 100644 --- a/federation/cmd/federation-apiserver/app/extensions.go +++ b/federation/cmd/federation-apiserver/app/extensions.go @@ -26,15 +26,19 @@ import ( "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" _ "k8s.io/kubernetes/pkg/apis/extensions/install" + ingressetcd "k8s.io/kubernetes/pkg/registry/ingress/etcd" replicasetetcd "k8s.io/kubernetes/pkg/registry/replicaset/etcd" ) func installExtensionsAPIs(s *genericoptions.ServerRunOptions, g *genericapiserver.GenericAPIServer, f genericapiserver.StorageFactory) { replicaSetStorage := replicasetetcd.NewStorage(createRESTOptionsOrDie(s, g, f, extensions.Resource("replicasets"))) + ingressStorage, ingressStatusStorage := ingressetcd.NewREST(createRESTOptionsOrDie(s, g, f, extensions.Resource("ingresses"))) extensionsResources := map[string]rest.Storage{ "replicasets": replicaSetStorage.ReplicaSet, "replicasets/status": replicaSetStorage.Status, "replicasets/scale": replicaSetStorage.Scale, + "ingresses": ingressStorage, + "ingresses/status": ingressStatusStorage, } extensionsGroupMeta := registered.GroupOrDie(extensions.GroupName) apiGroupInfo := genericapiserver.APIGroupInfo{ diff --git a/federation/cmd/federation-apiserver/app/server_test.go b/federation/cmd/federation-apiserver/app/server_test.go index da3dfc0d486..3a5679f2fdc 100644 --- a/federation/cmd/federation-apiserver/app/server_test.go +++ b/federation/cmd/federation-apiserver/app/server_test.go @@ -304,6 +304,7 @@ func testExtensionsResourceList(t *testing.T) { assert.Equal(t, "", apiResourceList.APIVersion) assert.Equal(t, ext_v1b1.SchemeGroupVersion.String(), apiResourceList.GroupVersion) + // Verify replicasets. found := findResource(apiResourceList.APIResources, "replicasets") assert.NotNil(t, found) assert.True(t, found.Namespaced) @@ -313,4 +314,12 @@ func testExtensionsResourceList(t *testing.T) { found = findResource(apiResourceList.APIResources, "replicasets/scale") assert.NotNil(t, found) assert.True(t, found.Namespaced) + + // Verify ingress. + found = findResource(apiResourceList.APIResources, "ingresses") + assert.NotNil(t, found) + assert.True(t, found.Namespaced) + found = findResource(apiResourceList.APIResources, "ingresses/status") + assert.NotNil(t, found) + assert.True(t, found.Namespaced) } From af692e3714ba6302a0e8e8c9d7a52c90537f797c Mon Sep 17 00:00:00 2001 From: nikhiljindal Date: Thu, 4 Aug 2016 15:49:30 -0700 Subject: [PATCH 2/3] Updating the generated client to include ingress --- .../federation_internalclientset/doc.go | 2 +- .../federation_internalclientset/fake/doc.go | 2 +- .../typed/core/unversioned/doc.go | 2 +- .../typed/core/unversioned/fake/doc.go | 2 +- .../typed/extensions/unversioned/doc.go | 2 +- .../unversioned/extensions_client.go | 5 + .../typed/extensions/unversioned/fake/doc.go | 2 +- .../fake/fake_extensions_client.go | 4 + .../unversioned/fake/fake_ingress.go | 127 ++++++++++++++ .../unversioned/generated_expansion.go | 2 + .../typed/extensions/unversioned/ingress.go | 165 ++++++++++++++++++ .../typed/federation/unversioned/doc.go | 2 +- .../typed/federation/unversioned/fake/doc.go | 2 +- .../federation_release_1_4/doc.go | 2 +- .../federation_release_1_4/fake/doc.go | 2 +- .../typed/core/v1/doc.go | 2 +- .../typed/core/v1/fake/doc.go | 2 +- .../typed/extensions/v1beta1/doc.go | 2 +- .../extensions/v1beta1/extensions_client.go | 5 + .../typed/extensions/v1beta1/fake/doc.go | 2 +- .../v1beta1/fake/fake_extensions_client.go | 4 + .../extensions/v1beta1/fake/fake_ingress.go | 127 ++++++++++++++ .../extensions/v1beta1/generated_expansion.go | 2 + .../typed/extensions/v1beta1/ingress.go | 165 ++++++++++++++++++ .../typed/federation/v1beta1/doc.go | 2 +- .../typed/federation/v1beta1/fake/doc.go | 2 +- hack/update-codegen.sh | 4 +- 27 files changed, 624 insertions(+), 18 deletions(-) create mode 100644 federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/fake/fake_ingress.go create mode 100644 federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/ingress.go create mode 100644 federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/fake/fake_ingress.go create mode 100644 federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/ingress.go diff --git a/federation/client/clientset_generated/federation_internalclientset/doc.go b/federation/client/clientset_generated/federation_internalclientset/doc.go index b7da40c9eba..8c908ed4e52 100644 --- a/federation/client/clientset_generated/federation_internalclientset/doc.go +++ b/federation/client/clientset_generated/federation_internalclientset/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret] --input=[../../federation/apis/federation/,api/,extensions/] +// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret,extensions/Ingress] --input=[../../federation/apis/federation/,api/,extensions/] // This package has the automatically generated clientset. package federation_internalclientset diff --git a/federation/client/clientset_generated/federation_internalclientset/fake/doc.go b/federation/client/clientset_generated/federation_internalclientset/fake/doc.go index fe3a247f37d..525bedbec2c 100644 --- a/federation/client/clientset_generated/federation_internalclientset/fake/doc.go +++ b/federation/client/clientset_generated/federation_internalclientset/fake/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret] --input=[../../federation/apis/federation/,api/,extensions/] +// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret,extensions/Ingress] --input=[../../federation/apis/federation/,api/,extensions/] // This package has the automatically generated fake clientset. package fake diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/unversioned/doc.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/unversioned/doc.go index 2b3f9981e40..e383560cd24 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/unversioned/doc.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/unversioned/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret] --input=[../../federation/apis/federation/,api/,extensions/] +// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret,extensions/Ingress] --input=[../../federation/apis/federation/,api/,extensions/] // This package has the automatically generated typed clients. package unversioned diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/unversioned/fake/doc.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/unversioned/fake/doc.go index 9ec4b42ebfa..a021b3e9c40 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/unversioned/fake/doc.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/unversioned/fake/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret] --input=[../../federation/apis/federation/,api/,extensions/] +// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret,extensions/Ingress] --input=[../../federation/apis/federation/,api/,extensions/] // Package fake has the automatically generated clients. package fake diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/doc.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/doc.go index 2b3f9981e40..e383560cd24 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/doc.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret] --input=[../../federation/apis/federation/,api/,extensions/] +// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret,extensions/Ingress] --input=[../../federation/apis/federation/,api/,extensions/] // This package has the automatically generated typed clients. package unversioned diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/extensions_client.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/extensions_client.go index 785306492ac..b55aac1ddce 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/extensions_client.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/extensions_client.go @@ -24,6 +24,7 @@ import ( type ExtensionsInterface interface { GetRESTClient() *restclient.RESTClient + IngressesGetter ReplicaSetsGetter } @@ -32,6 +33,10 @@ type ExtensionsClient struct { *restclient.RESTClient } +func (c *ExtensionsClient) Ingresses(namespace string) IngressInterface { + return newIngresses(c, namespace) +} + func (c *ExtensionsClient) ReplicaSets(namespace string) ReplicaSetInterface { return newReplicaSets(c, namespace) } diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/fake/doc.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/fake/doc.go index 9ec4b42ebfa..a021b3e9c40 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/fake/doc.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/fake/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret] --input=[../../federation/apis/federation/,api/,extensions/] +// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret,extensions/Ingress] --input=[../../federation/apis/federation/,api/,extensions/] // Package fake has the automatically generated clients. package fake diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/fake/fake_extensions_client.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/fake/fake_extensions_client.go index 98bae6efa42..912fc9ac292 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/fake/fake_extensions_client.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/fake/fake_extensions_client.go @@ -26,6 +26,10 @@ type FakeExtensions struct { *core.Fake } +func (c *FakeExtensions) Ingresses(namespace string) unversioned.IngressInterface { + return &FakeIngresses{c, namespace} +} + func (c *FakeExtensions) ReplicaSets(namespace string) unversioned.ReplicaSetInterface { return &FakeReplicaSets{c, namespace} } diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/fake/fake_ingress.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/fake/fake_ingress.go new file mode 100644 index 00000000000..bb636523d3e --- /dev/null +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/fake/fake_ingress.go @@ -0,0 +1,127 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package fake + +import ( + api "k8s.io/kubernetes/pkg/api" + unversioned "k8s.io/kubernetes/pkg/api/unversioned" + extensions "k8s.io/kubernetes/pkg/apis/extensions" + core "k8s.io/kubernetes/pkg/client/testing/core" + labels "k8s.io/kubernetes/pkg/labels" + watch "k8s.io/kubernetes/pkg/watch" +) + +// FakeIngresses implements IngressInterface +type FakeIngresses struct { + Fake *FakeExtensions + ns string +} + +var ingressesResource = unversioned.GroupVersionResource{Group: "extensions", Version: "", Resource: "ingresses"} + +func (c *FakeIngresses) Create(ingress *extensions.Ingress) (result *extensions.Ingress, err error) { + obj, err := c.Fake. + Invokes(core.NewCreateAction(ingressesResource, c.ns, ingress), &extensions.Ingress{}) + + if obj == nil { + return nil, err + } + return obj.(*extensions.Ingress), err +} + +func (c *FakeIngresses) Update(ingress *extensions.Ingress) (result *extensions.Ingress, err error) { + obj, err := c.Fake. + Invokes(core.NewUpdateAction(ingressesResource, c.ns, ingress), &extensions.Ingress{}) + + if obj == nil { + return nil, err + } + return obj.(*extensions.Ingress), err +} + +func (c *FakeIngresses) UpdateStatus(ingress *extensions.Ingress) (*extensions.Ingress, error) { + obj, err := c.Fake. + Invokes(core.NewUpdateSubresourceAction(ingressesResource, "status", c.ns, ingress), &extensions.Ingress{}) + + if obj == nil { + return nil, err + } + return obj.(*extensions.Ingress), err +} + +func (c *FakeIngresses) Delete(name string, options *api.DeleteOptions) error { + _, err := c.Fake. + Invokes(core.NewDeleteAction(ingressesResource, c.ns, name), &extensions.Ingress{}) + + return err +} + +func (c *FakeIngresses) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { + action := core.NewDeleteCollectionAction(ingressesResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &extensions.IngressList{}) + return err +} + +func (c *FakeIngresses) Get(name string) (result *extensions.Ingress, err error) { + obj, err := c.Fake. + Invokes(core.NewGetAction(ingressesResource, c.ns, name), &extensions.Ingress{}) + + if obj == nil { + return nil, err + } + return obj.(*extensions.Ingress), err +} + +func (c *FakeIngresses) List(opts api.ListOptions) (result *extensions.IngressList, err error) { + obj, err := c.Fake. + Invokes(core.NewListAction(ingressesResource, c.ns, opts), &extensions.IngressList{}) + + if obj == nil { + return nil, err + } + + label := opts.LabelSelector + if label == nil { + label = labels.Everything() + } + list := &extensions.IngressList{} + for _, item := range obj.(*extensions.IngressList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested ingresses. +func (c *FakeIngresses) Watch(opts api.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(core.NewWatchAction(ingressesResource, c.ns, opts)) + +} + +// Patch applies the patch and returns the patched ingress. +func (c *FakeIngresses) Patch(name string, pt api.PatchType, data []byte, subresources ...string) (result *extensions.Ingress, err error) { + obj, err := c.Fake. + Invokes(core.NewPatchSubresourceAction(ingressesResource, c.ns, name, data, subresources...), &extensions.Ingress{}) + + if obj == nil { + return nil, err + } + return obj.(*extensions.Ingress), err +} diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/generated_expansion.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/generated_expansion.go index a84dfb27563..6e5e319a809 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/generated_expansion.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/generated_expansion.go @@ -17,3 +17,5 @@ limitations under the License. package unversioned type ReplicaSetExpansion interface{} + +type IngressExpansion interface{} diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/ingress.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/ingress.go new file mode 100644 index 00000000000..7d941ac8702 --- /dev/null +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/ingress.go @@ -0,0 +1,165 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package unversioned + +import ( + api "k8s.io/kubernetes/pkg/api" + extensions "k8s.io/kubernetes/pkg/apis/extensions" + watch "k8s.io/kubernetes/pkg/watch" +) + +// IngressesGetter has a method to return a IngressInterface. +// A group's client should implement this interface. +type IngressesGetter interface { + Ingresses(namespace string) IngressInterface +} + +// IngressInterface has methods to work with Ingress resources. +type IngressInterface interface { + Create(*extensions.Ingress) (*extensions.Ingress, error) + Update(*extensions.Ingress) (*extensions.Ingress, error) + UpdateStatus(*extensions.Ingress) (*extensions.Ingress, error) + Delete(name string, options *api.DeleteOptions) error + DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error + Get(name string) (*extensions.Ingress, error) + List(opts api.ListOptions) (*extensions.IngressList, error) + Watch(opts api.ListOptions) (watch.Interface, error) + Patch(name string, pt api.PatchType, data []byte, subresources ...string) (result *extensions.Ingress, err error) + IngressExpansion +} + +// ingresses implements IngressInterface +type ingresses struct { + client *ExtensionsClient + ns string +} + +// newIngresses returns a Ingresses +func newIngresses(c *ExtensionsClient, namespace string) *ingresses { + return &ingresses{ + client: c, + ns: namespace, + } +} + +// Create takes the representation of a ingress and creates it. Returns the server's representation of the ingress, and an error, if there is any. +func (c *ingresses) Create(ingress *extensions.Ingress) (result *extensions.Ingress, err error) { + result = &extensions.Ingress{} + err = c.client.Post(). + Namespace(c.ns). + Resource("ingresses"). + Body(ingress). + Do(). + Into(result) + return +} + +// Update takes the representation of a ingress and updates it. Returns the server's representation of the ingress, and an error, if there is any. +func (c *ingresses) Update(ingress *extensions.Ingress) (result *extensions.Ingress, err error) { + result = &extensions.Ingress{} + err = c.client.Put(). + Namespace(c.ns). + Resource("ingresses"). + Name(ingress.Name). + Body(ingress). + Do(). + Into(result) + return +} + +func (c *ingresses) UpdateStatus(ingress *extensions.Ingress) (result *extensions.Ingress, err error) { + result = &extensions.Ingress{} + err = c.client.Put(). + Namespace(c.ns). + Resource("ingresses"). + Name(ingress.Name). + SubResource("status"). + Body(ingress). + Do(). + Into(result) + return +} + +// Delete takes name of the ingress and deletes it. Returns an error if one occurs. +func (c *ingresses) Delete(name string, options *api.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("ingresses"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *ingresses) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("ingresses"). + VersionedParams(&listOptions, api.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Get takes name of the ingress, and returns the corresponding ingress object, and an error if there is any. +func (c *ingresses) Get(name string) (result *extensions.Ingress, err error) { + result = &extensions.Ingress{} + err = c.client.Get(). + Namespace(c.ns). + Resource("ingresses"). + Name(name). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Ingresses that match those selectors. +func (c *ingresses) List(opts api.ListOptions) (result *extensions.IngressList, err error) { + result = &extensions.IngressList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("ingresses"). + VersionedParams(&opts, api.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested ingresses. +func (c *ingresses) Watch(opts api.ListOptions) (watch.Interface, error) { + return c.client.Get(). + Prefix("watch"). + Namespace(c.ns). + Resource("ingresses"). + VersionedParams(&opts, api.ParameterCodec). + Watch() +} + +// Patch applies the patch and returns the patched ingress. +func (c *ingresses) Patch(name string, pt api.PatchType, data []byte, subresources ...string) (result *extensions.Ingress, err error) { + result = &extensions.Ingress{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("ingresses"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned/doc.go b/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned/doc.go index 2b3f9981e40..e383560cd24 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned/doc.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret] --input=[../../federation/apis/federation/,api/,extensions/] +// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret,extensions/Ingress] --input=[../../federation/apis/federation/,api/,extensions/] // This package has the automatically generated typed clients. package unversioned diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned/fake/doc.go b/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned/fake/doc.go index 9ec4b42ebfa..a021b3e9c40 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned/fake/doc.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned/fake/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret] --input=[../../federation/apis/federation/,api/,extensions/] +// This package is generated by client-gen with arguments: --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/Service,api/Namespace,extensions/ReplicaSet,api/Secret,extensions/Ingress] --input=[../../federation/apis/federation/,api/,extensions/] // Package fake has the automatically generated clients. package fake diff --git a/federation/client/clientset_generated/federation_release_1_4/doc.go b/federation/client/clientset_generated/federation_release_1_4/doc.go index da6fd6ea623..e73afb39edc 100644 --- a/federation/client/clientset_generated/federation_release_1_4/doc.go +++ b/federation/client/clientset_generated/federation_release_1_4/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] +// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret,extensions/v1beta1/Ingress] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] // This package has the automatically generated clientset. package federation_release_1_4 diff --git a/federation/client/clientset_generated/federation_release_1_4/fake/doc.go b/federation/client/clientset_generated/federation_release_1_4/fake/doc.go index a1ed8045495..a3ac93e1d79 100644 --- a/federation/client/clientset_generated/federation_release_1_4/fake/doc.go +++ b/federation/client/clientset_generated/federation_release_1_4/fake/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] +// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret,extensions/v1beta1/Ingress] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] // This package has the automatically generated fake clientset. package fake diff --git a/federation/client/clientset_generated/federation_release_1_4/typed/core/v1/doc.go b/federation/client/clientset_generated/federation_release_1_4/typed/core/v1/doc.go index 667bfae0913..5281477a78e 100644 --- a/federation/client/clientset_generated/federation_release_1_4/typed/core/v1/doc.go +++ b/federation/client/clientset_generated/federation_release_1_4/typed/core/v1/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] +// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret,extensions/v1beta1/Ingress] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] // This package has the automatically generated typed clients. package v1 diff --git a/federation/client/clientset_generated/federation_release_1_4/typed/core/v1/fake/doc.go b/federation/client/clientset_generated/federation_release_1_4/typed/core/v1/fake/doc.go index 9d4d4ff17f8..5e11ea76355 100644 --- a/federation/client/clientset_generated/federation_release_1_4/typed/core/v1/fake/doc.go +++ b/federation/client/clientset_generated/federation_release_1_4/typed/core/v1/fake/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] +// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret,extensions/v1beta1/Ingress] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] // Package fake has the automatically generated clients. package fake diff --git a/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/doc.go b/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/doc.go index 9e1e390eaad..574eb4029d3 100644 --- a/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/doc.go +++ b/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] +// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret,extensions/v1beta1/Ingress] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] // This package has the automatically generated typed clients. package v1beta1 diff --git a/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/extensions_client.go b/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/extensions_client.go index a97d7158a7a..069d603cf4b 100644 --- a/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/extensions_client.go +++ b/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/extensions_client.go @@ -25,6 +25,7 @@ import ( type ExtensionsInterface interface { GetRESTClient() *restclient.RESTClient + IngressesGetter ReplicaSetsGetter } @@ -33,6 +34,10 @@ type ExtensionsClient struct { *restclient.RESTClient } +func (c *ExtensionsClient) Ingresses(namespace string) IngressInterface { + return newIngresses(c, namespace) +} + func (c *ExtensionsClient) ReplicaSets(namespace string) ReplicaSetInterface { return newReplicaSets(c, namespace) } diff --git a/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/fake/doc.go b/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/fake/doc.go index 9d4d4ff17f8..5e11ea76355 100644 --- a/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/fake/doc.go +++ b/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/fake/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] +// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret,extensions/v1beta1/Ingress] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] // Package fake has the automatically generated clients. package fake diff --git a/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/fake/fake_extensions_client.go b/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/fake/fake_extensions_client.go index 29e729c7900..11fbf8ca0e5 100644 --- a/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/fake/fake_extensions_client.go +++ b/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/fake/fake_extensions_client.go @@ -26,6 +26,10 @@ type FakeExtensions struct { *core.Fake } +func (c *FakeExtensions) Ingresses(namespace string) v1beta1.IngressInterface { + return &FakeIngresses{c, namespace} +} + func (c *FakeExtensions) ReplicaSets(namespace string) v1beta1.ReplicaSetInterface { return &FakeReplicaSets{c, namespace} } diff --git a/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/fake/fake_ingress.go b/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/fake/fake_ingress.go new file mode 100644 index 00000000000..7ab0f332ee8 --- /dev/null +++ b/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/fake/fake_ingress.go @@ -0,0 +1,127 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package fake + +import ( + api "k8s.io/kubernetes/pkg/api" + unversioned "k8s.io/kubernetes/pkg/api/unversioned" + v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" + core "k8s.io/kubernetes/pkg/client/testing/core" + labels "k8s.io/kubernetes/pkg/labels" + watch "k8s.io/kubernetes/pkg/watch" +) + +// FakeIngresses implements IngressInterface +type FakeIngresses struct { + Fake *FakeExtensions + ns string +} + +var ingressesResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "ingresses"} + +func (c *FakeIngresses) Create(ingress *v1beta1.Ingress) (result *v1beta1.Ingress, err error) { + obj, err := c.Fake. + Invokes(core.NewCreateAction(ingressesResource, c.ns, ingress), &v1beta1.Ingress{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.Ingress), err +} + +func (c *FakeIngresses) Update(ingress *v1beta1.Ingress) (result *v1beta1.Ingress, err error) { + obj, err := c.Fake. + Invokes(core.NewUpdateAction(ingressesResource, c.ns, ingress), &v1beta1.Ingress{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.Ingress), err +} + +func (c *FakeIngresses) UpdateStatus(ingress *v1beta1.Ingress) (*v1beta1.Ingress, error) { + obj, err := c.Fake. + Invokes(core.NewUpdateSubresourceAction(ingressesResource, "status", c.ns, ingress), &v1beta1.Ingress{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.Ingress), err +} + +func (c *FakeIngresses) Delete(name string, options *api.DeleteOptions) error { + _, err := c.Fake. + Invokes(core.NewDeleteAction(ingressesResource, c.ns, name), &v1beta1.Ingress{}) + + return err +} + +func (c *FakeIngresses) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { + action := core.NewDeleteCollectionAction(ingressesResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &v1beta1.IngressList{}) + return err +} + +func (c *FakeIngresses) Get(name string) (result *v1beta1.Ingress, err error) { + obj, err := c.Fake. + Invokes(core.NewGetAction(ingressesResource, c.ns, name), &v1beta1.Ingress{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.Ingress), err +} + +func (c *FakeIngresses) List(opts api.ListOptions) (result *v1beta1.IngressList, err error) { + obj, err := c.Fake. + Invokes(core.NewListAction(ingressesResource, c.ns, opts), &v1beta1.IngressList{}) + + if obj == nil { + return nil, err + } + + label := opts.LabelSelector + if label == nil { + label = labels.Everything() + } + list := &v1beta1.IngressList{} + for _, item := range obj.(*v1beta1.IngressList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested ingresses. +func (c *FakeIngresses) Watch(opts api.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(core.NewWatchAction(ingressesResource, c.ns, opts)) + +} + +// Patch applies the patch and returns the patched ingress. +func (c *FakeIngresses) Patch(name string, pt api.PatchType, data []byte, subresources ...string) (result *v1beta1.Ingress, err error) { + obj, err := c.Fake. + Invokes(core.NewPatchSubresourceAction(ingressesResource, c.ns, name, data, subresources...), &v1beta1.Ingress{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.Ingress), err +} diff --git a/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/generated_expansion.go b/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/generated_expansion.go index 5e2da2c1482..4e9cf3bf024 100644 --- a/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/generated_expansion.go +++ b/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/generated_expansion.go @@ -17,3 +17,5 @@ limitations under the License. package v1beta1 type ReplicaSetExpansion interface{} + +type IngressExpansion interface{} diff --git a/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/ingress.go b/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/ingress.go new file mode 100644 index 00000000000..738c1edcd34 --- /dev/null +++ b/federation/client/clientset_generated/federation_release_1_4/typed/extensions/v1beta1/ingress.go @@ -0,0 +1,165 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package v1beta1 + +import ( + api "k8s.io/kubernetes/pkg/api" + v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" + watch "k8s.io/kubernetes/pkg/watch" +) + +// IngressesGetter has a method to return a IngressInterface. +// A group's client should implement this interface. +type IngressesGetter interface { + Ingresses(namespace string) IngressInterface +} + +// IngressInterface has methods to work with Ingress resources. +type IngressInterface interface { + Create(*v1beta1.Ingress) (*v1beta1.Ingress, error) + Update(*v1beta1.Ingress) (*v1beta1.Ingress, error) + UpdateStatus(*v1beta1.Ingress) (*v1beta1.Ingress, error) + Delete(name string, options *api.DeleteOptions) error + DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error + Get(name string) (*v1beta1.Ingress, error) + List(opts api.ListOptions) (*v1beta1.IngressList, error) + Watch(opts api.ListOptions) (watch.Interface, error) + Patch(name string, pt api.PatchType, data []byte, subresources ...string) (result *v1beta1.Ingress, err error) + IngressExpansion +} + +// ingresses implements IngressInterface +type ingresses struct { + client *ExtensionsClient + ns string +} + +// newIngresses returns a Ingresses +func newIngresses(c *ExtensionsClient, namespace string) *ingresses { + return &ingresses{ + client: c, + ns: namespace, + } +} + +// Create takes the representation of a ingress and creates it. Returns the server's representation of the ingress, and an error, if there is any. +func (c *ingresses) Create(ingress *v1beta1.Ingress) (result *v1beta1.Ingress, err error) { + result = &v1beta1.Ingress{} + err = c.client.Post(). + Namespace(c.ns). + Resource("ingresses"). + Body(ingress). + Do(). + Into(result) + return +} + +// Update takes the representation of a ingress and updates it. Returns the server's representation of the ingress, and an error, if there is any. +func (c *ingresses) Update(ingress *v1beta1.Ingress) (result *v1beta1.Ingress, err error) { + result = &v1beta1.Ingress{} + err = c.client.Put(). + Namespace(c.ns). + Resource("ingresses"). + Name(ingress.Name). + Body(ingress). + Do(). + Into(result) + return +} + +func (c *ingresses) UpdateStatus(ingress *v1beta1.Ingress) (result *v1beta1.Ingress, err error) { + result = &v1beta1.Ingress{} + err = c.client.Put(). + Namespace(c.ns). + Resource("ingresses"). + Name(ingress.Name). + SubResource("status"). + Body(ingress). + Do(). + Into(result) + return +} + +// Delete takes name of the ingress and deletes it. Returns an error if one occurs. +func (c *ingresses) Delete(name string, options *api.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("ingresses"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *ingresses) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("ingresses"). + VersionedParams(&listOptions, api.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Get takes name of the ingress, and returns the corresponding ingress object, and an error if there is any. +func (c *ingresses) Get(name string) (result *v1beta1.Ingress, err error) { + result = &v1beta1.Ingress{} + err = c.client.Get(). + Namespace(c.ns). + Resource("ingresses"). + Name(name). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Ingresses that match those selectors. +func (c *ingresses) List(opts api.ListOptions) (result *v1beta1.IngressList, err error) { + result = &v1beta1.IngressList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("ingresses"). + VersionedParams(&opts, api.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested ingresses. +func (c *ingresses) Watch(opts api.ListOptions) (watch.Interface, error) { + return c.client.Get(). + Prefix("watch"). + Namespace(c.ns). + Resource("ingresses"). + VersionedParams(&opts, api.ParameterCodec). + Watch() +} + +// Patch applies the patch and returns the patched ingress. +func (c *ingresses) Patch(name string, pt api.PatchType, data []byte, subresources ...string) (result *v1beta1.Ingress, err error) { + result = &v1beta1.Ingress{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("ingresses"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/federation/client/clientset_generated/federation_release_1_4/typed/federation/v1beta1/doc.go b/federation/client/clientset_generated/federation_release_1_4/typed/federation/v1beta1/doc.go index 9e1e390eaad..574eb4029d3 100644 --- a/federation/client/clientset_generated/federation_release_1_4/typed/federation/v1beta1/doc.go +++ b/federation/client/clientset_generated/federation_release_1_4/typed/federation/v1beta1/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] +// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret,extensions/v1beta1/Ingress] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] // This package has the automatically generated typed clients. package v1beta1 diff --git a/federation/client/clientset_generated/federation_release_1_4/typed/federation/v1beta1/fake/doc.go b/federation/client/clientset_generated/federation_release_1_4/typed/federation/v1beta1/fake/doc.go index 9d4d4ff17f8..5e11ea76355 100644 --- a/federation/client/clientset_generated/federation_release_1_4/typed/federation/v1beta1/fake/doc.go +++ b/federation/client/clientset_generated/federation_release_1_4/typed/federation/v1beta1/fake/doc.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] +// This package is generated by client-gen with arguments: --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --included-types-overrides=[api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret,extensions/v1beta1/Ingress] --input=[../../federation/apis/federation/v1beta1,api/v1,extensions/v1beta1] // Package fake has the automatically generated clients. package fake diff --git a/hack/update-codegen.sh b/hack/update-codegen.sh index 0c8f54d24e2..4335ff6d531 100755 --- a/hack/update-codegen.sh +++ b/hack/update-codegen.sh @@ -41,8 +41,8 @@ ${clientgen} "$@" ${clientgen} -t "$@" ${clientgen} --clientset-name="release_1_4" --input="api/v1,extensions/v1beta1,autoscaling/v1,batch/v1" # Clientgen for federation clientset. -${clientgen} --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --input="../../federation/apis/federation/","api/","extensions/" --included-types-overrides="api/Service,api/Namespace,extensions/ReplicaSet,api/Secret" "$@" -${clientgen} --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --input="../../federation/apis/federation/v1beta1","api/v1","extensions/v1beta1" --included-types-overrides="api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret" "$@" +${clientgen} --clientset-name=federation_internalclientset --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --input="../../federation/apis/federation/","api/","extensions/" --included-types-overrides="api/Service,api/Namespace,extensions/ReplicaSet,api/Secret,extensions/Ingress" "$@" +${clientgen} --clientset-name=federation_release_1_4 --clientset-path=k8s.io/kubernetes/federation/client/clientset_generated --input="../../federation/apis/federation/v1beta1","api/v1","extensions/v1beta1" --included-types-overrides="api/v1/Service,api/v1/Namespace,extensions/v1beta1/ReplicaSet,api/v1/Secret,extensions/v1beta1/Ingress" "$@" ${setgen} "$@" # You may add additional calls of code generators like set-gen above. From d66037b02ff4631728622657b74979838c70e0b1 Mon Sep 17 00:00:00 2001 From: nikhiljindal Date: Thu, 4 Aug 2016 16:42:25 -0700 Subject: [PATCH 3/3] Adding e2e test for creating and deleting ingress from apiserver --- test/e2e/federation-ingress.go | 89 ++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 test/e2e/federation-ingress.go diff --git a/test/e2e/federation-ingress.go b/test/e2e/federation-ingress.go new file mode 100644 index 00000000000..f83cb0a725f --- /dev/null +++ b/test/e2e/federation-ingress.go @@ -0,0 +1,89 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package e2e + +import ( + "fmt" + + . "github.com/onsi/ginkgo" + "k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4" + "k8s.io/kubernetes/pkg/api" + "k8s.io/kubernetes/pkg/api/v1" + "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" + "k8s.io/kubernetes/pkg/util/intstr" + "k8s.io/kubernetes/test/e2e/framework" + + . "github.com/onsi/gomega" +) + +const ( + FederationIngressName = "federation-ingress" +) + +// Create/delete ingress api objects +var _ = framework.KubeDescribe("Federation ingresses [Feature:Federation]", func() { + f := framework.NewDefaultFederatedFramework("federation-ingress") + + Describe("Ingress objects", func() { + AfterEach(func() { + framework.SkipUnlessFederated(f.Client) + + // Delete registered ingresses. + ingressList, err := f.FederationClientset_1_4.Extensions().Ingresses(f.Namespace.Name).List(api.ListOptions{}) + Expect(err).NotTo(HaveOccurred()) + for _, ingress := range ingressList.Items { + err := f.FederationClientset_1_4.Extensions().Ingresses(f.Namespace.Name).Delete(ingress.Name, &api.DeleteOptions{}) + Expect(err).NotTo(HaveOccurred()) + } + }) + + It("should be created and deleted successfully", func() { + framework.SkipUnlessFederated(f.Client) + ingress := createIngressOrFail(f.FederationClientset_1_4, f.Namespace.Name) + By(fmt.Sprintf("Creation of ingress %q in namespace %q succeeded. Deleting ingress.", ingress.Name, f.Namespace.Name)) + // Cleanup + err := f.FederationClientset_1_4.Extensions().Ingresses(f.Namespace.Name).Delete(ingress.Name, &api.DeleteOptions{}) + framework.ExpectNoError(err, "Error deleting ingress %q in namespace %q", ingress.Name, ingress.Namespace) + By(fmt.Sprintf("Deletion of ingress %q in namespace %q succeeded.", ingress.Name, f.Namespace.Name)) + }) + + }) +}) + +func createIngressOrFail(clientset *federation_release_1_4.Clientset, namespace string) *v1beta1.Ingress { + if clientset == nil || len(namespace) == 0 { + Fail(fmt.Sprintf("Internal error: invalid parameters passed to createIngressOrFail: clientset: %v, namespace: %v", clientset, namespace)) + } + By(fmt.Sprintf("Creating federated ingress %q in namespace %q", FederationIngressName, namespace)) + + ingress := &v1beta1.Ingress{ + ObjectMeta: v1.ObjectMeta{ + Name: FederationIngressName, + }, + Spec: v1beta1.IngressSpec{ + Backend: &v1beta1.IngressBackend{ + ServiceName: "testservice", + ServicePort: intstr.FromInt(80), + }, + }, + } + + _, err := clientset.Extensions().Ingresses(namespace).Create(ingress) + framework.ExpectNoError(err, "Creating ingress %q in namespace %q", ingress.Name, namespace) + By(fmt.Sprintf("Successfully created federated ingress %q in namespace %q", FederationIngressName, namespace)) + return ingress +}