Skip to content

Commit 94489ce

Browse files
Merge pull request #17092 from jim-minter/trello140-tsb-templatev1
Automatic merge from submit-queue. tsb: use external clients https://trello.com/c/LclZtOcc/1382-5-switch-template-service-broker-to-use-external-clients
2 parents a4d5be4 + f3e91c7 commit 94489ce

File tree

12 files changed

+134
-81
lines changed

12 files changed

+134
-81
lines changed

Diff for: hack/import-restrictions.json

+4-3
Original file line numberDiff line numberDiff line change
@@ -272,17 +272,18 @@
272272
"allowedImportPackages": [
273273
"vendor/github.com/golang/glog",
274274
"vendor/k8s.io/kubernetes/pkg/api",
275+
"vendor/k8s.io/kubernetes/pkg/api/v1",
275276
"vendor/k8s.io/kubernetes/pkg/api/install",
276-
"vendor/k8s.io/kubernetes/pkg/apis/authorization",
277-
"vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset",
277+
"vendor/k8s.io/kubernetes/pkg/apis/authorization/v1",
278+
"vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset",
279+
"vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1",
278280
"vendor/github.com/emicklei/go-restful",
279281
"vendor/github.com/lestrrat/go-jsschema",
280282
"vendor/k8s.io/kubernetes/pkg/controller",
281283
"vendor/k8s.io/kubernetes/pkg/kubectl/cmd/util",
282284
"github.com/openshift/origin/pkg/api",
283285
"github.com/openshift/origin/pkg/template/apis/template",
284286
"github.com/openshift/origin/pkg/template/apis/template/v1",
285-
"github.com/openshift/origin/pkg/authorization/util",
286287
"github.com/openshift/origin/pkg/template/apis/template/validation",
287288
"github.com/openshift/origin/pkg/route/apis/route"
288289
]

Diff for: pkg/template/generated/listers/template/v1/template_expansion.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,27 @@ package v1
22

33
import (
44
templateapi "github.com/openshift/origin/pkg/template/apis/template"
5+
templateapiv1 "github.com/openshift/origin/pkg/template/apis/template/v1"
56
"k8s.io/apimachinery/pkg/api/errors"
67
)
78

89
// TemplateListerExpansion allows custom methods to be added to
910
// TemplateLister.
1011
type TemplateListerExpansion interface {
11-
GetByUID(uid string) (*templateapi.Template, error)
12+
GetByUID(uid string) (*templateapiv1.Template, error)
1213
}
1314

1415
// TemplateNamespaceListerExpansion allows custom methods to be added to
1516
// TemplateNamespaceLister.
1617
type TemplateNamespaceListerExpansion interface{}
1718

18-
func (s templateLister) GetByUID(uid string) (*templateapi.Template, error) {
19+
func (s templateLister) GetByUID(uid string) (*templateapiv1.Template, error) {
1920
templates, err := s.indexer.ByIndex(templateapi.TemplateUIDIndex, uid)
2021
if err != nil {
2122
return nil, err
2223
}
2324
if len(templates) == 0 {
2425
return nil, errors.NewNotFound(templateapi.Resource("template"), uid)
2526
}
26-
return templates[0].(*templateapi.Template), nil
27+
return templates[0].(*templateapiv1.Template), nil
2728
}

Diff for: pkg/templateservicebroker/openservicebroker/server/apiserver.go

+8-7
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ import (
1717
"k8s.io/kubernetes/pkg/controller"
1818

1919
templateapi "github.com/openshift/origin/pkg/template/apis/template"
20-
templateinformer "github.com/openshift/origin/pkg/template/generated/informers/internalversion"
21-
templateinternalclientset "github.com/openshift/origin/pkg/template/generated/internalclientset"
20+
templateapiv1 "github.com/openshift/origin/pkg/template/apis/template/v1"
21+
templateclientset "github.com/openshift/origin/pkg/template/generated/clientset"
22+
templateinformer "github.com/openshift/origin/pkg/template/generated/informers/externalversions"
2223
templateservicebroker "github.com/openshift/origin/pkg/templateservicebroker/servicebroker"
2324
)
2425

@@ -93,20 +94,20 @@ func (c completedTemplateServiceBrokerConfig) New(delegationTarget genericapiser
9394
if err != nil {
9495
return nil, err
9596
}
96-
templateClient, err := templateinternalclientset.NewForConfig(clientConfig)
97+
templateClient, err := templateclientset.NewForConfig(clientConfig)
9798
if err != nil {
9899
return nil, err
99100
}
100101
templateInformers := templateinformer.NewSharedInformerFactory(templateClient, 5*time.Minute)
101-
templateInformers.Template().InternalVersion().Templates().Informer().AddIndexers(cache.Indexers{
102+
templateInformers.Template().V1().Templates().Informer().AddIndexers(cache.Indexers{
102103
templateapi.TemplateUIDIndex: func(obj interface{}) ([]string, error) {
103-
return []string{string(obj.(*templateapi.Template).UID)}, nil
104+
return []string{string(obj.(*templateapiv1.Template).UID)}, nil
104105
},
105106
})
106107

107108
broker, err := templateservicebroker.NewBroker(
108109
clientConfig,
109-
templateInformers.Template().InternalVersion().Templates(),
110+
templateInformers.Template().V1().Templates(),
110111
c.TemplateNamespaces,
111112
)
112113
if err != nil {
@@ -115,7 +116,7 @@ func (c completedTemplateServiceBrokerConfig) New(delegationTarget genericapiser
115116

116117
if err := s.GenericAPIServer.AddPostStartHook("template-service-broker-synctemplates", func(context genericapiserver.PostStartHookContext) error {
117118
templateInformers.Start(context.StopCh)
118-
if !controller.WaitForCacheSync("tsb", context.StopCh, templateInformers.Template().InternalVersion().Templates().Informer().HasSynced) {
119+
if !controller.WaitForCacheSync("tsb", context.StopCh, templateInformers.Template().V1().Templates().Informer().HasSynced) {
119120
return fmt.Errorf("unable to sync caches")
120121
}
121122
return nil

Diff for: pkg/templateservicebroker/servicebroker/bind.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ import (
1919
"k8s.io/apiserver/pkg/authentication/user"
2020
"k8s.io/client-go/util/jsonpath"
2121
kapi "k8s.io/kubernetes/pkg/api"
22-
"k8s.io/kubernetes/pkg/apis/authorization"
22+
authorizationv1 "k8s.io/kubernetes/pkg/apis/authorization/v1"
2323

24-
"github.com/openshift/origin/pkg/authorization/util"
2524
"github.com/openshift/origin/pkg/config/cmd"
2625
routeapi "github.com/openshift/origin/pkg/route/apis/route"
2726
templateapi "github.com/openshift/origin/pkg/template/apis/template"
2827
"github.com/openshift/origin/pkg/templateservicebroker/openservicebroker/api"
28+
"github.com/openshift/origin/pkg/templateservicebroker/util"
2929
)
3030

3131
func evaluateJSONPathExpression(obj interface{}, annotation, expression string, base64encode bool) (string, error) {
@@ -158,7 +158,7 @@ func (b *Broker) Bind(u user.Info, instanceID, bindingID string, breq *api.BindR
158158

159159
// end users are not expected to have access to BrokerTemplateInstance
160160
// objects; SAR on the TemplateInstance instead.
161-
if err := util.Authorize(b.kc.Authorization().SubjectAccessReviews(), u, &authorization.ResourceAttributes{
161+
if err := util.Authorize(b.kc.Authorization().SubjectAccessReviews(), u, &authorizationv1.ResourceAttributes{
162162
Namespace: namespace,
163163
Verb: "get",
164164
Group: templateapi.GroupName,
@@ -200,7 +200,7 @@ func (b *Broker) Bind(u user.Info, instanceID, bindingID string, breq *api.BindR
200200
return api.InternalServerError(err)
201201
}
202202

203-
if err := util.Authorize(b.kc.Authorization().SubjectAccessReviews(), u, &authorization.ResourceAttributes{
203+
if err := util.Authorize(b.kc.Authorization().SubjectAccessReviews(), u, &authorizationv1.ResourceAttributes{
204204
Namespace: object.Ref.Namespace,
205205
Verb: "get",
206206
Group: object.Ref.GroupVersionKind().Group,
@@ -249,7 +249,7 @@ func (b *Broker) Bind(u user.Info, instanceID, bindingID string, breq *api.BindR
249249
if status == http.StatusCreated { // binding not found; create it
250250
// end users are not expected to have access to BrokerTemplateInstance
251251
// objects; SAR on the TemplateInstance instead.
252-
if err := util.Authorize(b.kc.Authorization().SubjectAccessReviews(), u, &authorization.ResourceAttributes{
252+
if err := util.Authorize(b.kc.Authorization().SubjectAccessReviews(), u, &authorizationv1.ResourceAttributes{
253253
Namespace: namespace,
254254
Verb: "update",
255255
Group: templateapi.GroupName,

Diff for: pkg/templateservicebroker/servicebroker/catalog.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111

1212
oapi "github.com/openshift/origin/pkg/api"
1313
templateapi "github.com/openshift/origin/pkg/template/apis/template"
14+
templateapiv1 "github.com/openshift/origin/pkg/template/apis/template/v1"
1415
"github.com/openshift/origin/pkg/templateservicebroker/openservicebroker/api"
1516
)
1617

@@ -31,7 +32,7 @@ var annotationMap = map[string]string{
3132

3233
// serviceFromTemplate populates an open service broker service response from
3334
// an OpenShift template.
34-
func serviceFromTemplate(template *templateapi.Template) *api.Service {
35+
func serviceFromTemplate(template *templateapiv1.Template) *api.Service {
3536
metadata := make(map[string]interface{})
3637
for srcname, dstname := range annotationMap {
3738
if value, ok := template.Annotations[srcname]; ok {

Diff for: pkg/templateservicebroker/servicebroker/catalog_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@ import (
99
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1010

1111
templateapi "github.com/openshift/origin/pkg/template/apis/template"
12+
templateapiv1 "github.com/openshift/origin/pkg/template/apis/template/v1"
1213
"github.com/openshift/origin/pkg/templateservicebroker/openservicebroker/api"
1314
)
1415

1516
func TestServiceFromTemplate(t *testing.T) {
16-
template := &templateapi.Template{
17+
template := &templateapiv1.Template{
1718
ObjectMeta: metav1.ObjectMeta{
1819
Name: "name",
1920
UID: "ee33151d-a34d-442d-a0ca-6353b73a58fd",
@@ -28,7 +29,7 @@ func TestServiceFromTemplate(t *testing.T) {
2829
"openshift.io/support-url": "supportURL",
2930
},
3031
},
31-
Parameters: []templateapi.Parameter{
32+
Parameters: []templateapiv1.Parameter{
3233
{
3334
Name: "param1",
3435
Required: true,

Diff for: pkg/templateservicebroker/servicebroker/deprovision.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ import (
88
kerrors "k8s.io/apimachinery/pkg/api/errors"
99
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1010
"k8s.io/apiserver/pkg/authentication/user"
11-
"k8s.io/kubernetes/pkg/apis/authorization"
11+
authorizationv1 "k8s.io/kubernetes/pkg/apis/authorization/v1"
1212

13-
"github.com/openshift/origin/pkg/authorization/util"
1413
templateapi "github.com/openshift/origin/pkg/template/apis/template"
1514
"github.com/openshift/origin/pkg/templateservicebroker/openservicebroker/api"
15+
"github.com/openshift/origin/pkg/templateservicebroker/util"
1616
)
1717

1818
// Deprovision is the reverse of Provision. We clean up the TemplateInstance,
@@ -35,7 +35,7 @@ func (b *Broker) Deprovision(u user.Info, instanceID string) *api.Response {
3535
// end users are not expected to have access to BrokerTemplateInstance
3636
// objects; SAR on the TemplateInstance instead.
3737

38-
if err := util.Authorize(b.kc.Authorization().SubjectAccessReviews(), u, &authorization.ResourceAttributes{
38+
if err := util.Authorize(b.kc.Authorization().SubjectAccessReviews(), u, &authorizationv1.ResourceAttributes{
3939
Namespace: namespace,
4040
Verb: "get",
4141
Group: templateapi.GroupName,
@@ -45,7 +45,7 @@ func (b *Broker) Deprovision(u user.Info, instanceID string) *api.Response {
4545
return api.Forbidden(err)
4646
}
4747

48-
if err := util.Authorize(b.kc.Authorization().SubjectAccessReviews(), u, &authorization.ResourceAttributes{
48+
if err := util.Authorize(b.kc.Authorization().SubjectAccessReviews(), u, &authorizationv1.ResourceAttributes{
4949
Namespace: namespace,
5050
Verb: "delete",
5151
Group: templateapi.GroupName,

Diff for: pkg/templateservicebroker/servicebroker/lastoperation.go

+8-7
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@ import (
99
kerrors "k8s.io/apimachinery/pkg/api/errors"
1010
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1111
"k8s.io/apiserver/pkg/authentication/user"
12-
kapi "k8s.io/kubernetes/pkg/api"
13-
"k8s.io/kubernetes/pkg/apis/authorization"
12+
kapiv1 "k8s.io/kubernetes/pkg/api/v1"
13+
authorizationv1 "k8s.io/kubernetes/pkg/apis/authorization/v1"
1414

15-
"github.com/openshift/origin/pkg/authorization/util"
1615
templateapi "github.com/openshift/origin/pkg/template/apis/template"
16+
templateapiv1 "github.com/openshift/origin/pkg/template/apis/template/v1"
1717
"github.com/openshift/origin/pkg/templateservicebroker/openservicebroker/api"
18+
"github.com/openshift/origin/pkg/templateservicebroker/util"
1819
)
1920

2021
// LastOperation returns the status of an asynchronous operation. Currently
@@ -45,7 +46,7 @@ func (b *Broker) lastOperationProvisioning(u user.Info, instanceID string) *api.
4546

4647
namespace := brokerTemplateInstance.Spec.TemplateInstance.Namespace
4748

48-
if err := util.Authorize(b.kc.Authorization().SubjectAccessReviews(), u, &authorization.ResourceAttributes{
49+
if err := util.Authorize(b.kc.Authorization().SubjectAccessReviews(), u, &authorizationv1.ResourceAttributes{
4950
Namespace: namespace,
5051
Verb: "get",
5152
Group: templateapi.GroupName,
@@ -63,11 +64,11 @@ func (b *Broker) lastOperationProvisioning(u user.Info, instanceID string) *api.
6364
state := api.LastOperationStateInProgress
6465
var description string
6566
for _, condition := range templateInstance.Status.Conditions {
66-
if condition.Type == templateapi.TemplateInstanceReady && condition.Status == kapi.ConditionTrue {
67+
if condition.Type == templateapiv1.TemplateInstanceReady && condition.Status == kapiv1.ConditionTrue {
6768
state = api.LastOperationStateSucceeded
6869
break
6970
}
70-
if condition.Type == templateapi.TemplateInstanceInstantiateFailure && condition.Status == kapi.ConditionTrue {
71+
if condition.Type == templateapiv1.TemplateInstanceInstantiateFailure && condition.Status == kapiv1.ConditionTrue {
7172
state = api.LastOperationStateFailed
7273
description = condition.Message
7374
break
@@ -90,7 +91,7 @@ func (b *Broker) lastOperationDeprovisioning(u user.Info, instanceID string) *ap
9091

9192
namespace := brokerTemplateInstance.Spec.TemplateInstance.Namespace
9293

93-
if err := util.Authorize(b.kc.Authorization().SubjectAccessReviews(), u, &authorization.ResourceAttributes{
94+
if err := util.Authorize(b.kc.Authorization().SubjectAccessReviews(), u, &authorizationv1.ResourceAttributes{
9495
Namespace: namespace,
9596
Verb: "get",
9697
Group: templateapi.GroupName,

0 commit comments

Comments
 (0)