Skip to content

Commit cedd00c

Browse files
author
Jeff Peeler
committed
Squashed 'cmd/service-catalog/go/src/github.com/kubernetes-incubator/service-catalog/' changes from 3064247d05..d969acde90
d969acde90 Add additional service to ups-broker to fix e2e (openshift#1583) 1bcd53b684 origin build: add origin tooling bb3e4a1 Chart changes for 0.1.3 (openshift#1573) 1d463c3 less etcd logs during integration test (openshift#1572) dcdb82d Fixing coverage tool. It had double 'contrib' on script path. (openshift#1568) b636203 make binding poll function clone binding (openshift#1550) e8e5baa Do not block instance spec changes unless there is an on-going operation (openshift#1536) 4f47ce8 Embed etcd in the integration tests directly. (openshift#1570) d02ac34 Make logging in admission controllers consistent with controller-manager (openshift#1519) 31ae521 Check if file permissions allow go install (openshift#1566) 52e64db Clear out plan ref when plan changed using k8s names (openshift#1553) 4b49594 Allow deprovision after change to non-existent plan (openshift#1557) c6e446e Consolidating logic for creating in-progress properties. (openshift#1511) fd3a6d7 Adding UnbindStatus to ServiceBindings (openshift#1544) b471bd3 Add tracer bullet integration test that shows dynamic response from fake broker. (openshift#1538) c8d5610 update comments on NewStorage (openshift#1548) 35082df Update resources in walkthrough (openshift#1510) f86b8aa Fix manual hack of glide.lock file from openshift#1517. (openshift#1543) 02a5ff6 Add an additional plan to ups-broker (openshift#1537) 4309a0e add alpha asynchronous binding operation support (openshift#1512) 617c823 Grant controller abilit to update service/plan status (openshift#1532) 281ca9c Moving a duplicated block of code to an independent function. (openshift#1509) da5e9fa Use Event Builder to help construct expected error messages for controller_instance_test. (openshift#1507) 48c522d Updating helm install documentation (openshift#1525) b89d59e Adding an independent test for originating_identity (openshift#1498) 6eb8a16 Apply Event Message Builder controller_broker unit tests (openshift#1497) 411831c Fixing missing pretty logging on controller_binding. (openshift#1520) REVERT: 3064247d05 origin build: add origin tooling git-subtree-dir: cmd/service-catalog/go/src/github.com/kubernetes-incubator/service-catalog git-subtree-split: d969acde904f95538892ccd570c8c4ca447280bd
1 parent 23a8ca3 commit cedd00c

File tree

1,317 files changed

+348295
-8046
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,317 files changed

+348295
-8046
lines changed

Diff for: charts/catalog/Chart.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
name: catalog
22
description: service-catalog API server and controller-manager helm chart
3-
version: 0.1.2
3+
version: 0.1.3

Diff for: charts/catalog/README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ chart and their default values.
4040

4141
| Parameter | Description | Default |
4242
|-----------|-------------|---------|
43-
| `image` | apiserver image to use | `quay.io/kubernetes-service-catalog/service-catalog:v0.1.2` |
43+
| `image` | apiserver image to use | `quay.io/kubernetes-service-catalog/service-catalog:v0.1.3` |
4444
| `imagePullPolicy` | `imagePullPolicy` for the service catalog | `Always` |
4545
| `apiserver.tls.requestHeaderCA` | Base64-encoded CA used to validate request-header authentication, when receiving delegated authentication from an aggregator. If not set, the service catalog API server will inherit this CA from the `extension-apiserver-authentication` ConfigMap if available. | `nil` |
4646
| `apiserver.service.type` | Type of service; valid values are `LoadBalancer` and `NodePort` | `NodePort` |
@@ -55,6 +55,7 @@ chart and their default values.
5555
| `controllerManager.brokerRelistInterval` | How often the controller should relist the catalogs of ready brokers; duration format (`20m`, `1h`, etc) | `24h` |
5656
| `useAggregator` | whether or not to set up the controller-manager to go through the main Kubernetes API server's API aggregator | `true` |
5757
| `rbacEnable` | If true, create & use RBAC resources | `true` |
58+
| `asyncBindingOperationsEnabled` | Whether or not alpha support for async binding operations is enabled | `false` |
5859

5960
Specify each parameter using the `--set key=value[,key=value]` argument to
6061
`helm install`.

Diff for: charts/catalog/templates/controller-manager-deployment.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,10 @@ spec:
7171
- --feature-gates
7272
- OriginatingIdentity=true
7373
{{- end }}
74+
{{- if .Values.asyncBindingOperationsEnabled }}
75+
- --feature-gates
76+
- AsyncBindingOperations=true
77+
{{- end }}
7478
ports:
7579
- containerPort: 8080
7680
volumeMounts:

Diff for: charts/catalog/templates/rbac.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ items:
9595
resources: ["clusterservicebrokers","serviceinstances","servicebindings"]
9696
verbs: ["get","list","watch"]
9797
- apiGroups: ["servicecatalog.k8s.io"]
98-
resources: ["clusterservicebrokers/status","serviceinstances/status","serviceinstances/reference","servicebindings/status"]
98+
resources: ["clusterservicebrokers/status","clusterserviceclasses/status","clusterserviceplans/status","serviceinstances/status","serviceinstances/reference","servicebindings/status"]
9999
verbs: ["update"]
100100
# give the controller-manager service account access to whats defined in its role.
101101
- apiVersion: {{template "rbacApiVersion" . }}

Diff for: charts/catalog/values.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Default values for Service Catalog
22
# service-catalog image to use
3-
image: quay.io/kubernetes-service-catalog/service-catalog:v0.1.2
3+
image: quay.io/kubernetes-service-catalog/service-catalog:v0.1.3
44
# imagePullPolicy for the service-catalog; valid values are "IfNotPresent",
55
# "Never", and "Always"
66
imagePullPolicy: Always
@@ -91,3 +91,5 @@ controllerManager:
9191
apiserverSkipVerify: true
9292
# Whether the OriginatingIdentity alpha feature should be enabled
9393
originatingIdentityEnabled: false
94+
# Whether the AsyncBindingOperations alpha feature should be enabled
95+
asyncBindingOperationsEnabled: false

Diff for: charts/ups-broker/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Service Broker
3434

3535
| Parameter | Description | Default |
3636
|-----------|-------------|---------|
37-
| `image` | Image to use | `quay.io/kubernetes-service-catalog/user-broker:v0.1.2` |
37+
| `image` | Image to use | `quay.io/kubernetes-service-catalog/user-broker:v0.1.3` |
3838
| `imagePullPolicy` | `imagePullPolicy` for the ups-broker | `Always` |
3939

4040
Specify each parameter using the `--set key=value[,key=value]` argument to

Diff for: charts/ups-broker/values.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Default values for User-Provided Service Broker
22
# Image to use
3-
image: quay.io/kubernetes-service-catalog/user-broker:v0.1.2
3+
image: quay.io/kubernetes-service-catalog/user-broker:v0.1.3
44
# ImagePullPolicy; valid values are "IfNotPresent", "Never", and "Always"
55
imagePullPolicy: Always
66
# Certificate details to use for TLS. Leave blank to not use TLS

Diff for: contrib/hack/coverage.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
set -o nounset
1818
set -o errexit
1919

20-
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
20+
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
2121
. "${ROOT}/contrib/hack/utilities.sh" || { echo 'Cannot load utilities.'; exit 1; }
2222

2323
function usage() {

Diff for: contrib/pkg/broker/user_provided/controller/controller.go

+22-1
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,30 @@ func (c *userProvidedController) Catalog() (*brokerapi.Catalog, error) {
6666
ID: "86064792-7ea2-467b-af93-ac9694d96d52",
6767
Description: "Sample plan description",
6868
Free: true,
69+
}, {
70+
Name: "premium",
71+
ID: "cc0d7529-18e8-416d-8946-6f7456acd589",
72+
Description: "Premium plan",
73+
Free: false,
6974
},
7075
},
71-
Bindable: true,
76+
Bindable: true,
77+
PlanUpdateable: true,
78+
},
79+
{
80+
Name: "user-provided-service-single-plan",
81+
ID: "5f6e6cf6-ffdd-425f-a2c7-3c9258ad2468",
82+
Description: "A user provided service",
83+
Plans: []brokerapi.ServicePlan{
84+
{
85+
Name: "default",
86+
ID: "96064792-7ea2-467b-af93-ac9694d96d52",
87+
Description: "Sample plan description",
88+
Free: true,
89+
},
90+
},
91+
Bindable: true,
92+
PlanUpdateable: true,
7293
},
7394
},
7495
}, nil

Diff for: docs/install.md

+20-5
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,25 @@ If you don't already have an appropriate Helm version, see the
4646

4747
### Helm Charts
4848

49-
You need to download the
50-
[charts/catalog](https://github.com/kubernetes-incubator/service-catalog/tree/master/charts/catalog)
51-
directory to your local machine. Please refer to
52-
[this guide](https://github.com/kubernetes-incubator/service-catalog/blob/master/docs/devguide.md#2-clone-fork-to-local-storage).
49+
You need to add the service-catalog Helm repository to your local machine.
50+
Execute the following to do so:
51+
52+
```console
53+
helm repo add svc-cat https://svc-catalog-charts.storage.googleapis.com
54+
```
55+
56+
To ensure that it worked, execute the following:
57+
58+
```console
59+
helm search service-catalog
60+
```
61+
62+
You should see the following output:
63+
64+
```console
65+
NAME VERSION DESCRIPTION
66+
svc-cat/catalog 0.0.1 service-catalog API server and controller-manag...
67+
```
5368

5469
## RBAC
5570

@@ -114,6 +129,6 @@ executable.
114129
Use Helm to install the Service Catalog. From the root of this repository:
115130

116131
```console
117-
helm install charts/catalog \
132+
helm install svc-cat/catalog \
118133
--name catalog --namespace catalog
119134
```

Diff for: docs/walkthrough.md

+92-27
Original file line numberDiff line numberDiff line change
@@ -67,28 +67,34 @@ We should see something like:
6767
apiVersion: servicecatalog.k8s.io/v1beta1
6868
kind: ClusterServiceBroker
6969
metadata:
70-
creationTimestamp: 2017-03-03T04:11:17Z
70+
creationTimestamp: 2017-11-01T14:11:29Z
7171
finalizers:
7272
- kubernetes-incubator/service-catalog
73+
generation: 1
7374
name: ups-broker
7475
resourceVersion: "6"
7576
selfLink: /apis/servicecatalog.k8s.io/v1beta1/clusterservicebrokers/ups-broker
76-
uid: 72fa629b-ffc7-11e6-b111-0242ac110005
77+
uid: 8df4e501-bf0e-11e7-9e29-0242ac110004
7778
spec:
79+
relistBehavior: Duration
80+
relistDuration: 15m0s
81+
relistRequests: 0
7882
url: http://ups-broker-ups-broker.ups-broker.svc.cluster.local
7983
status:
8084
conditions:
81-
- message: Successfully fetched catalog entries from broker.
85+
- lastTransitionTime: 2017-11-01T14:12:30Z
86+
message: Successfully fetched catalog entries from broker.
8287
reason: FetchedCatalog
8388
status: "True"
8489
type: Ready
90+
reconciledGeneration: 1
8591
```
8692
8793
Notice that the `status` field has been set to reflect that the broker server's
8894
catalog of service offerings has been successfully added to our cluster's
8995
service catalog.
9096

91-
# Step 3 - Viewing `ClusterServiceClass`es
97+
# Step 3 - Viewing `ClusterServiceClass`es and `ClusterServicePlan`s
9298

9399
The controller created a `ClusterServiceClass` for each service that the UPS broker
94100
provides. We can view the `ClusterServiceClass` resources available in the cluster by
@@ -106,7 +112,7 @@ NAME EXTERNAL NAME
106112
```
107113

108114
**NOTE:** The above command uses a custom set of columns. The `NAME` field is
109-
the Kubernetes name of the ClusterServiceClass and the `EXTERNAL NAME` field is the
115+
the Kubernetes name of the `ClusterServiceClass` and the `EXTERNAL NAME` field is the
110116
human-readable name for the service that the broker returns.
111117

112118
The UPS broker provides a service with the external name
@@ -123,19 +129,69 @@ We should see something like:
123129
apiVersion: servicecatalog.k8s.io/v1beta1
124130
kind: ClusterServiceClass
125131
metadata:
126-
creationTimestamp: 2017-03-03T04:11:17Z
127-
name: user-provided-service
128-
resourceVersion: "7"
129-
selfLink: /apis/servicecatalog.k8s.io/v1beta1/clusterserviceclasses/user-provided-service
130-
uid: 72fef5ce-ffc7-11e6-b111-0242ac110005
131-
brokerName: ups-broker
132-
externalID: 4F6E6CF6-FFDD-425F-A2C7-3C9258AD2468
133-
bindable: false
134-
planUpdatable: false
135-
plans:
136-
- name: default
137-
free: true
132+
creationTimestamp: 2017-11-01T14:12:29Z
133+
name: 4f6e6cf6-ffdd-425f-a2c7-3c9258ad2468
134+
resourceVersion: "4"
135+
selfLink: /apis/servicecatalog.k8s.io/v1beta1/clusterserviceclasses/4f6e6cf6-ffdd-425f-a2c7-3c9258ad2468
136+
uid: b1e764ba-bf0e-11e7-9e29-0242ac110004
137+
spec:
138+
bindable: true
139+
clusterServiceBrokerName: ups-broker
140+
description: A user provided service
141+
externalID: 4f6e6cf6-ffdd-425f-a2c7-3c9258ad2468
142+
externalName: user-provided-service
143+
planUpdatable: false
144+
status:
145+
removedFromBrokerCatalog: false
146+
```
147+
148+
Additionally, the controller created a `ClusterServicePlan` for each of the
149+
plans for the broker's services. We can view the `ClusterServicePlan`
150+
resources available in the cluster by executing:
151+
152+
```console
153+
$ kubectl get clusterserviceplans -o=custom-columns=NAME:.metadata.name,EXTERNAL\ NAME:.spec.externalName
154+
```
155+
156+
We should see something like:
157+
158+
```console
159+
NAME EXTERNAL NAME
160+
86064792-7ea2-467b-af93-ac9694d96d52 default
161+
```
162+
163+
**NOTE:** Just like in the command above, we used a custom set of columns.
164+
The `NAME` field is the Kubernetes name of the `ClusterServicePlan` and the
165+
`EXTERNAL NAME` field is the human-readable name for the service that the
166+
broker returns.
167+
168+
You can view the details of this `ClusterServicePlan` with this command:
169+
170+
```console
171+
kubectl get clusterserviceplans 86064792-7ea2-467b-af93-ac9694d96d52 -o yaml
172+
```
173+
174+
We should see something like:
175+
176+
```yaml
177+
apiVersion: servicecatalog.k8s.io/v1beta1
178+
kind: ClusterServicePlan
179+
metadata:
180+
creationTimestamp: 2017-11-01T14:12:29Z
181+
name: 86064792-7ea2-467b-af93-ac9694d96d52
182+
resourceVersion: "5"
183+
selfLink: /apis/servicecatalog.k8s.io/v1beta1/clusterserviceplans/86064792-7ea2-467b-af93-ac9694d96d52
184+
uid: b1e7f049-bf0e-11e7-9e29-0242ac110004
185+
spec:
186+
clusterServiceBrokerName: ups-broker
187+
clusterServiceClassRef:
188+
name: 4f6e6cf6-ffdd-425f-a2c7-3c9258ad2468
189+
description: Sample plan description
138190
externalID: 86064792-7ea2-467b-af93-ac9694d96d52
191+
externalName: default
192+
free: true
193+
status:
194+
removedFromBrokerCatalog: false
139195
```
140196

141197
# Step 4 - Creating a New `ServiceInstance`
@@ -178,31 +234,37 @@ We should see something like:
178234
apiVersion: servicecatalog.k8s.io/v1beta1
179235
kind: ServiceInstance
180236
metadata:
181-
creationTimestamp: 2017-10-02T14:50:28Z
237+
creationTimestamp: 2017-11-01T14:21:46Z
182238
finalizers:
183239
- kubernetes-incubator/service-catalog
184240
generation: 1
185241
name: ups-instance
186242
namespace: test-ns
187243
resourceVersion: "12"
188244
selfLink: /apis/servicecatalog.k8s.io/v1beta1/namespaces/test-ns/serviceinstances/ups-instance
189-
uid: 07ecf19d-a781-11e7-8b18-0242ac110005
245+
uid: fe143fee-bf0f-11e7-9e29-0242ac110004
190246
spec:
191-
externalID: 7f2c176a-ae67-4b5e-a826-58591d85a1d7
192247
clusterServiceClassExternalName: user-provided-service
248+
clusterServiceClassRef:
249+
name: 4f6e6cf6-ffdd-425f-a2c7-3c9258ad2468
193250
clusterServicePlanExternalName: default
251+
clusterServicePlanRef:
252+
name: 86064792-7ea2-467b-af93-ac9694d96d52
253+
externalID: 10ca3610-8200-4b5d-b788-897365f191fa
194254
parameters:
195255
credentials:
196256
param-1: value-1
197257
param-2: value-2
258+
updateRequests: 0
198259
status:
199260
asyncOpInProgress: false
200261
conditions:
201-
- lastTransitionTime: 2017-10-02T14:50:28Z
262+
- lastTransitionTime: 2017-11-01T14:21:46Z
202263
message: The instance was provisioned successfully
203264
reason: ProvisionedSuccessfully
204265
status: "True"
205266
type: Ready
267+
deprovisionStatus: Required
206268
externalProperties:
207269
clusterServicePlanExternalName: default
208270
parameterChecksum: e65c764db8429f9afef45f1e8f71bcbf9fdbe9a13306b86fd5dcc3c5d11e5dd3
@@ -212,7 +274,6 @@ status:
212274
param-2: value-2
213275
orphanMitigationInProgress: false
214276
reconciledGeneration: 1
215-
216277
```
217278

218279
# Step 5 - Requesting a `ServiceBinding` to use the `ServiceInstance`
@@ -247,26 +308,30 @@ We should see something like:
247308
apiVersion: servicecatalog.k8s.io/v1beta1
248309
kind: ServiceBinding
249310
metadata:
250-
creationTimestamp: 2017-03-07T01:44:36Z
311+
creationTimestamp: 2017-11-01T14:26:29Z
251312
finalizers:
252313
- kubernetes-incubator/service-catalog
314+
generation: 1
253315
name: ups-binding
254316
namespace: test-ns
255-
resourceVersion: "29"
317+
resourceVersion: "16"
256318
selfLink: /apis/servicecatalog.k8s.io/v1beta1/namespaces/test-ns/servicebindings/ups-binding
257-
uid: 9eb2cdce-02d7-11e7-8edb-0242ac110005
319+
uid: a6823f15-bf10-11e7-9e29-0242ac110004
258320
spec:
321+
externalID: a8bb795a-711d-4854-adbb-5654428274f9
259322
instanceRef:
260323
name: ups-instance
261-
externalID: b041db94-a5a0-41a2-87ae-1025ba760918
262324
secretName: ups-binding
263325
status:
264326
conditions:
265-
- lastTransitionTime: 2017-03-03T01:44:37Z
327+
- lastTransitionTime: 2017-11-01T14:26:29Z
266328
message: Injected bind result
267329
reason: InjectedBindResult
268330
status: "True"
269331
type: Ready
332+
externalProperties: {}
333+
orphanMitigationInProgress: false
334+
reconciledGeneration: 1
270335
```
271336

272337
Notice that the status has a `Ready` condition set. This means our binding is

0 commit comments

Comments
 (0)