Skip to content

Commit f5cf00b

Browse files
committed
Adopt more service catalog API changes
* Update to v1beta1 instead of v1alpha1 * Cluster prefix for service classes and plans * ServiceInstanceCredential -> ServiceBinding * Check removedFromBrokerCatalog Bump origin-web-common to 0.0.66 and origin-web-catalog to 0.0.54
1 parent bcb969b commit f5cf00b

File tree

18 files changed

+200
-231
lines changed

18 files changed

+200
-231
lines changed

app/scripts/controllers/overview.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ function OverviewController($scope,
325325
};
326326

327327
// Updated on viewBy changes to include the app label when appropriate.
328-
var filterFields = ['metadata.name', 'spec.externalServiceClassName'];
328+
var filterFields = ['metadata.name', 'spec.externalClusterServiceClassName'];
329329
var filterByName = function(items) {
330330
return KeywordService.filterForKeywords(items, filterFields, state.filterKeywords);
331331
};

app/scripts/controllers/serviceInstance.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ angular.module('openshiftConsole')
2929
var serviceInstanceDisplayName = $filter('serviceInstanceDisplayName');
3030

3131
// API Versions
32-
var serviceInstancesVersion = APIService.getPreferredVersion('serviceinstances');
32+
$scope.serviceInstancesVersion = APIService.getPreferredVersion('serviceinstances');
3333

3434
var updateBreadcrumbs = function() {
3535
$scope.breadcrumbs.push({
@@ -81,10 +81,10 @@ angular.module('openshiftConsole')
8181
$scope.projectContext = context;
8282

8383
DataService
84-
.get(serviceInstancesVersion, $routeParams.instance, context, { errorNotification: false })
84+
.get($scope.serviceInstancesVersion, $routeParams.instance, context, { errorNotification: false })
8585
.then(function(serviceInstance) {
8686
serviceResolved(serviceInstance);
87-
watches.push(DataService.watchObject(serviceInstancesVersion, $routeParams.instance, context, serviceResolved));
87+
watches.push(DataService.watchObject($scope.serviceInstancesVersion, $routeParams.instance, context, serviceResolved));
8888
}, function(error) {
8989
$scope.loaded = true;
9090
$scope.alerts["load"] = {

app/scripts/directives/overview/listRow.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@
4444
var isBinaryBuild = $filter('isBinaryBuild');
4545
var enableTechPreviewFeature = $filter('enableTechPreviewFeature');
4646

47+
row.serviceBindingsVersion = APIService.getPreferredVersion('servicebindings');
48+
4749
var updateTriggers = function(apiObject) {
4850
var triggers = _.get(apiObject, 'spec.triggers');
4951
if (_.isEmpty(triggers)) {
@@ -174,13 +176,13 @@
174176
// Create Binding is displayed.
175177
if (enableTechPreviewFeature('pod_presets') &&
176178
!_.isEmpty(row.state.bindableServiceInstances) &&
177-
canI({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'}, 'create')) {
179+
canI(row.serviceBindingsVersion, 'create')) {
178180
return true;
179181
}
180182
// Delete Binding is displayed.
181183
if (enableTechPreviewFeature('pod_presets') &&
182184
!_.isEmpty(deleteableBindings) &&
183-
canI({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'}, 'delete')) {
185+
canI(row.serviceBindingsVersion, 'delete')) {
184186
return true;
185187
}
186188
// Check if one of the start build actions is displayed
@@ -210,13 +212,13 @@
210212
// Create Binding is displayed.
211213
if (enableTechPreviewFeature('pod_presets') &&
212214
!_.isEmpty(row.state.bindableServiceInstances) &&
213-
canI({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'}, 'create')) {
215+
canI(row.serviceBindingsVersion, 'create')) {
214216
return true;
215217
}
216218
// Delete Binding is displayed.
217219
if (enableTechPreviewFeature('pod_presets') &&
218220
!_.isEmpty(deleteableBindings) &&
219-
canI({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'}, 'delete')) {
221+
canI(row.serviceBindingsVersion, 'delete')) {
220222
return true;
221223
}
222224
return false;

app/scripts/directives/overview/serviceInstanceRow.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
angular.module('openshiftConsole').component('serviceInstanceRow', {
55
controller: [
66
'$filter',
7+
'APIService',
78
'AuthorizationService',
89
'BindingService',
910
'ListRowUtils',
@@ -20,6 +21,7 @@
2021
});
2122

2223
function ServiceInstanceRow($filter,
24+
APIService,
2325
AuthorizationService,
2426
BindingService,
2527
ListRowUtils,
@@ -32,6 +34,9 @@
3234

3335
var serviceInstanceDisplayName = $filter('serviceInstanceDisplayName');
3436

37+
row.serviceBindingsVersion = APIService.getPreferredVersion('servicebindings');
38+
row.serviceInstancesVersion = APIService.getPreferredVersion('serviceinstances');
39+
3540
var getServiceClass = function() {
3641
var serviceClassName = ServiceInstancesService.getServiceClassNameForInstance(row.apiObject);
3742
return _.get(row, ['state','serviceClasses', serviceClassName]);
@@ -81,15 +86,15 @@
8186
}
8287

8388
// We can create bindings
84-
if (row.isBindable && AuthorizationService.canI({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'}, 'create')) {
89+
if (row.isBindable && AuthorizationService.canI(row.serviceBindingsVersion, 'create')) {
8590
return true;
8691
}
8792
// We can delete bindings
88-
if (!_.isEmpty(row.deleteableBindings) && AuthorizationService.canI({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'}, 'delete')) {
93+
if (!_.isEmpty(row.deleteableBindings) && AuthorizationService.canI(row.serviceBindingsVersion, 'delete')) {
8994
return true;
9095
}
9196
// We can delete instances
92-
if (AuthorizationService.canI({resource: 'serviceinstances', group: 'servicecatalog.k8s.io'}, 'delete')) {
97+
if (AuthorizationService.canI(row.serviceInstancesVersion, 'delete')) {
9398
return true;
9499
}
95100

app/scripts/directives/serviceBinding.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
(function() {
44
angular.module('openshiftConsole').component('serviceBinding', {
55
controller: [
6+
"APIService",
7+
"ServiceInstancesService",
68
ServiceBinding
79
],
810
controllerAs: '$ctrl',
@@ -17,14 +19,16 @@
1719
templateUrl: 'views/directives/_service-binding.html'
1820
});
1921

20-
function ServiceBinding() {
22+
function ServiceBinding(APIService,
23+
ServiceInstancesService) {
2124
var ctrl = this;
25+
ctrl.serviceBindingsVersion = APIService.getPreferredVersion('servicebindings');
2226

2327
var updateServiceClass = function() {
2428
if (_.get(ctrl.refApiObject, 'kind') !== 'ServiceInstance') {
2529
var instanceName = _.get(ctrl.binding, 'spec.instanceRef.name');
2630
var instance = _.get(ctrl.serviceInstances, [instanceName]);
27-
var serviceClassName = _.get(instance, 'spec.serviceClassRef.name');
31+
var serviceClassName = ServiceInstancesService.getServiceClassNameForInstance(instance);
2832
ctrl.serviceClass = _.get(ctrl.serviceClasses, [serviceClassName]);
2933
}
3034
};

app/scripts/filters/canI.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ angular
3434
_.assign({}, APIService.getPreferredVersion('imagestreams'), {verbs: ['update', 'delete']})
3535
],
3636
'serviceInstances': [
37-
{group: 'servicecatalog.k8s.io', resource: 'serviceinstances', verbs: ['update', 'delete']}
37+
_.assign({}, APIService.getPreferredVersion('serviceinstances'), {verbs: ['update', 'delete']})
3838
],
3939
'persistentVolumeClaims': [
4040
{group: '', resource: 'persistentvolumeclaims', verbs: ['update', 'delete']}

app/scripts/filters/resources.js

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1316,45 +1316,6 @@ angular.module('openshiftConsole')
13161316
return !_.isEmpty(alternateBackends);
13171317
};
13181318
})
1319-
.filter('serviceClassDisplayName', function() {
1320-
return function(serviceClass) {
1321-
var serviceClassDisplayName = _.get(serviceClass, 'spec.externalMetadata.displayName');
1322-
if (serviceClassDisplayName) {
1323-
return serviceClassDisplayName;
1324-
}
1325-
1326-
var serviceClassExternalName = _.get(serviceClass, 'spec.externalName');
1327-
if (serviceClassExternalName) {
1328-
return serviceClassExternalName;
1329-
}
1330-
1331-
return _.get(serviceClass, 'metadata.name');
1332-
};
1333-
})
1334-
.filter('serviceInstanceDisplayName', function(serviceClassDisplayNameFilter) {
1335-
return function(instance, serviceClass) {
1336-
if (serviceClass) {
1337-
return serviceClassDisplayNameFilter(serviceClass);
1338-
}
1339-
1340-
return _.get(instance, 'metadata.name');
1341-
};
1342-
})
1343-
.filter('serviceInstanceStatus', function(isServiceInstanceReadyFilter) {
1344-
return function(instance) {
1345-
var status = 'Pending';
1346-
var conditions = _.get(instance, 'status.conditions');
1347-
var instanceError = _.find(conditions, {type: 'Failed', status: 'True'});
1348-
1349-
if (instanceError) {
1350-
status = 'Failed';
1351-
} else if (isServiceInstanceReadyFilter(instance)) {
1352-
status = 'Ready';
1353-
}
1354-
1355-
return status;
1356-
};
1357-
})
13581319
.filter('readyConditionMessage', function(statusConditionFilter) {
13591320
return function(instance) {
13601321
return _.get(statusConditionFilter(instance, 'Ready'), 'message');

app/scripts/services/serviceInstances.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ angular.module("openshiftConsole")
1414
var servicePlansVersion = APIService.getPreferredVersion('clusterserviceplans');
1515

1616
var getServiceClassNameForInstance = function(serviceInstance) {
17-
return _.get(serviceInstance, 'spec.serviceClassRef.name');
17+
return _.get(serviceInstance, 'spec.clusterServiceClassRef.name');
1818
};
1919

2020
var fetchServiceClassForInstance = function(serviceInstance) {
@@ -23,7 +23,7 @@ angular.module("openshiftConsole")
2323
};
2424

2525
var getServicePlanNameForInstance = function(serviceInstance) {
26-
return _.get(serviceInstance, 'spec.servicePlanRef.name');
26+
return _.get(serviceInstance, 'spec.clusterServicePlanRef.name');
2727
};
2828

2929
var fetchServicePlanForInstance = function(serviceInstance) {

app/views/browse/service-instance.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ <h1 class="contains-actions">
2020
class="dropdown-toggle actions-dropdown-kebab visible-xs-inline"
2121
data-toggle="dropdown"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sr-only">Actions</span></a>
2222
<ul class="dropdown-menu dropdown-menu-right actions action-button">
23-
<li ng-if="{resource: 'serviceinstances', group: 'servicecatalog.k8s.io'} | canI : 'update'">
23+
<li ng-if="serviceInstancesVersion | canI : 'update'">
2424
<a ng-href="{{serviceInstance | editYamlURL}}" role="button">Edit YAML</a>
2525
</li>
26-
<li ng-if="{resource: 'serviceinstances', group: 'servicecatalog.k8s.io'} | canI : 'delete'">
26+
<li ng-if="serviceInstancesVersion | canI : 'delete'">
2727
<a href="" ng-click="deprovision()" role="button">Delete</a>
2828
</li>
2929
</ul>

app/views/directives/_service-binding.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ <h3>
3535
</div>
3636
<div class="service-binding-actions" ng-if="!$ctrl.binding.metadata.deletionTimestamp">
3737
<delete-link
38-
ng-if="({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'} | canI : 'delete')"
39-
kind="ServiceInstanceCredential"
38+
ng-if="$ctrl.serviceBindingsVersion | canI : 'delete'"
39+
kind="ServiceBinding"
4040
group="servicecatalog.k8s.io"
4141
type-display-name="binding"
4242
resource-name="{{$ctrl.binding.metadata.name}}"

app/views/overview/_list-row-actions.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@
2525
</li>
2626
<li ng-if="('pod_presets' | enableTechPreviewFeature)
2727
&& row.state.bindableServiceInstances.length
28-
&& ({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'} | canI : 'create')" role="menuitem">
28+
&& (row.serviceBindingsVersion | canI : 'create')" role="menuitem">
2929
<a href="" ng-click="row.showOverlayPanel('bindService', {target: row.apiObject})">Create Binding</a>
3030
</li>
3131
<li ng-if="('pod_presets' | enableTechPreviewFeature)
3232
&& row.state.deleteableBindingsByApplicationUID[row.apiObject.metadata.uid].length
33-
&& ({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'} | canI : 'delete')" role="menuitem">
33+
&& (row.serviceBindingsVersion | canI : 'delete')" role="menuitem">
3434
<a href="" ng-click="row.showOverlayPanel('unbindService', {target: row.apiObject})">Delete Binding</a>
3535
</li>
3636
<li ng-if="row.current && ('deploymentconfigs/log' | canI : 'get')" role="menuitem">
@@ -65,12 +65,12 @@
6565
</li>
6666
<li ng-if="('pod_presets' | enableTechPreviewFeature)
6767
&& row.state.bindableServiceInstances.length
68-
&& ({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'} | canI : 'create')" role="menuitem">
68+
&& (row.serviceBindingsVersion | canI : 'create')" role="menuitem">
6969
<a href="" ng-click="row.showOverlayPanel('bindService', {target: row.apiObject})">Create Binding</a>
7070
</li>
7171
<li ng-if="('pod_presets' | enableTechPreviewFeature)
7272
&& row.state.deleteableBindingsByApplicationUID[row.apiObject.metadata.uid].length
73-
&& ({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'} | canI : 'delete')" role="menuitem">
73+
&& (row.serviceBindingsVersion | canI : 'delete')" role="menuitem">
7474
<a href="" ng-click="row.showOverlayPanel('unbindService', {target: row.apiObject})">Delete Binding</a>
7575
</li>
7676
<li ng-if="(pod = row.firstPod(row.current)) && ('pods/log' | canI : 'get')" role="menuitem">

app/views/overview/_service-bindings.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
service-instances="$ctrl.serviceInstances"
1111
secrets="$ctrl.secrets">
1212
</service-binding>
13-
<div ng-if="!$ctrl.refApiObject.metadata.deletionTimestamp && (($ctrl.refApiObject.kind === 'ServiceInstance') || ($ctrl.bindableServiceInstances | size)) && ({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'} | canI : 'create')">
13+
<div ng-if="!$ctrl.refApiObject.metadata.deletionTimestamp && (($ctrl.refApiObject.kind === 'ServiceInstance') || ($ctrl.bindableServiceInstances | size)) && ({resource: 'servicebindings', group: 'servicecatalog.k8s.io'} | canI : 'create')">
1414
<a href="" ng-click="$ctrl.createBinding()" role="button">
1515
<span class="pficon pficon-add-circle-o" aria-hidden="true"></span>
1616
Create Binding

app/views/overview/_service-instance-row.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ <h3>
3434
<div class="list-pf-details" ng-if="!row.expanded">
3535
<span ng-if="!row.bindings.length
3636
&& row.isBindable
37-
&& ({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'} | canI : 'create')"
37+
&& (row.serviceBindingsVersion | canI : 'create')"
3838
class="hidden-xs hidden-sm">
3939
<a href="" ng-click="row.showOverlayPanel('bindService', {target: row.apiObject})">
4040
<span class="pficon pficon-add-circle-o" aria-hidden="true"></span>
@@ -74,16 +74,16 @@ <h3>
7474
uib-dropdown-toggle
7575
class="actions-dropdown-kebab"><i class="fa fa-ellipsis-v"></i><span class="sr-only">Actions</span></a>
7676
<ul class="dropdown-menu dropdown-menu-right" uib-dropdown-menu role="menu">
77-
<li role="menuitem" ng-if="row.isBindable && ({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'} | canI : 'create')">
77+
<li role="menuitem" ng-if="row.isBindable && (row.serviceBindingsVersion | canI : 'create')">
7878
<a href="" ng-click="row.showOverlayPanel('bindService', {target: row.apiObject})">
7979
Create Binding
8080
</a>
8181
</li>
82-
<li role="menuitem" ng-if="row.deleteableBindings.length && ({resource: 'serviceinstancecredentials', group: 'servicecatalog.k8s.io'} | canI : 'delete')">
82+
<li role="menuitem" ng-if="row.deleteableBindings.length && (row.serviceBindingsVersion | canI : 'delete')">
8383
<a href="" ng-click="row.showOverlayPanel('unbindService', {target: row.apiObject})">Delete Binding</a>
8484
</li>
8585
<li role="menuitem">
86-
<a href="" ng-click="row.deprovision()" role="button" ng-if="{resource: 'serviceinstances', group: 'servicecatalog.k8s.io'} | canI : 'delete'">Delete</a>
86+
<a href="" ng-click="row.deprovision()" role="button" ng-if="row.serviceInstancesVersion | canI : 'delete'">Delete</a>
8787
</li>
8888
</ul>
8989
</div>
@@ -116,7 +116,7 @@ <h3>
116116
<span class="mar-right-md">
117117
<truncate-long-text content="row.apiObject | serviceInstanceFailedMessage" limit="265"></truncate-long-text>
118118
</span>
119-
<span ng-if="{resource: 'serviceinstances', group: 'servicecatalog.k8s.io'} | canI : 'delete'" class="nowrap">
119+
<span ng-if="row.serviceInstancesVersion | canI : 'delete'" class="nowrap">
120120
<a href="" ng-click="row.deprovision()">Delete This Service</a>
121121
</span>
122122
</div>

bower.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@
4646
"angular-moment": "1.0.0",
4747
"angular-utf8-base64": "0.0.5",
4848
"file-saver": "1.3.3",
49-
"origin-web-common": "0.0.65",
50-
"origin-web-catalog": "0.0.53"
49+
"origin-web-common": "0.0.66",
50+
"origin-web-catalog": "0.0.54"
5151
},
5252
"devDependencies": {
5353
"angular-mocks": "1.5.11",

0 commit comments

Comments
 (0)