Commit 1fd40504 authored by BC Broussard's avatar BC Broussard

Update services for v1beta3 api

parent eab1cecc
...@@ -1700,7 +1700,7 @@ app.controller('ListServicesCtrl', [ ...@@ -1700,7 +1700,7 @@ app.controller('ListServicesCtrl', [
'$scope', '$scope',
'$interval', '$interval',
'$routeParams', '$routeParams',
'k8sApi', 'k8sv1Beta3Api',
'$rootScope', '$rootScope',
'$location', '$location',
function($scope, $interval, $routeParams, k8sApi, $rootScope, $location) { function($scope, $interval, $routeParams, k8sApi, $rootScope, $location) {
...@@ -1712,7 +1712,7 @@ app.controller('ListServicesCtrl', [ ...@@ -1712,7 +1712,7 @@ app.controller('ListServicesCtrl', [
{name: 'Labels', field: 'labels'}, {name: 'Labels', field: 'labels'},
{name: 'Selector', field: 'selector'}, {name: 'Selector', field: 'selector'},
{name: 'IP', field: 'ip'}, {name: 'IP', field: 'ip'},
{name: 'Port', field: 'port'} {name: 'Ports', field: 'port'}
]; ];
$scope.custom = { $scope.custom = {
...@@ -1760,41 +1760,36 @@ app.controller('ListServicesCtrl', [ ...@@ -1760,41 +1760,36 @@ app.controller('ListServicesCtrl', [
if (data.items.constructor === Array) { if (data.items.constructor === Array) {
data.items.forEach(function(service) { data.items.forEach(function(service) {
var _name = '', _uses = '', _component = '', _provider = ''; var _labels = '';
if (service.labels !== null && typeof service.labels === 'object') { if (service.metadata.labels) {
Object.keys(service.labels) _labels = _.map(service.metadata.labels, function(v, k) { return k + '=' + v }).join(', ');
.forEach(function(key) {
if (key == 'name') {
_name += ',' + service.labels[key];
}
if (key == 'component') {
_component += ',' + service.labels[key];
}
if (key == 'provider') {
_provider += ',' + service.labels[key];
}
});
} }
var _selectors = ''; var _selectors = '';
if (service.selector !== null && typeof service.selector === 'object') { if (service.spec.selector) {
Object.keys(service.selector) _selectors = _.map(service.spec.selector, function(v, k) { return k + '=' + v }).join(', ');
.forEach(function(key) { }
if (key == 'name') {
_selectors += ',' + service.selector[key]; var _ports = '';
}
}); if (service.spec.ports) {
_ports = _.map(service.spec.ports, function(p) {
var n = '';
if(p.name)
n = p.name + ': ';
n = n + p.port;
return n;
}).join(', ');
} }
$scope.content.push({ $scope.content.push({
name: service.id, name: service.metadata.name,
ip: service.portalIP, ip: service.spec.portalIP,
port: service.port, port: _ports,
selector: addLabel(_fixComma(_selectors), 'name='), selector: _selectors,
labels: addLabel(_fixComma(_name), 'name=') + ' ' + addLabel(_fixComma(_component), 'component=') + ' ' + labels: _labels
addLabel(_fixComma(_provider), 'provider=')
}); });
}); });
} }
...@@ -1933,7 +1928,7 @@ ServiceController.prototype.handleError = function(data, status, headers, config ...@@ -1933,7 +1928,7 @@ ServiceController.prototype.handleError = function(data, status, headers, config
app.controller('ServiceCtrl', [ app.controller('ServiceCtrl', [
'$scope', '$scope',
'$routeParams', '$routeParams',
'k8sApi', 'k8sv1Beta3Api',
'$location', '$location',
function($scope, $routeParams, k8sApi, $location) { function($scope, $routeParams, k8sApi, $location) {
$scope.controller = new ServiceController(); $scope.controller = new ServiceController();
...@@ -1942,6 +1937,8 @@ app.controller('ServiceCtrl', [ ...@@ -1942,6 +1937,8 @@ app.controller('ServiceCtrl', [
$scope.controller.getData($routeParams.serviceId); $scope.controller.getData($routeParams.serviceId);
$scope.doTheBack = function() { window.history.back(); }; $scope.doTheBack = function() { window.history.back(); };
$scope.go = function(d) { $location.path('/dashboard/services/' + d.metadata.name); }
$scope.getSelectorUrlFragment = function(sel){ return _.map(sel, function(v, k) { return k + '=' + v }).join(','); };
} }
]); ]);
......
...@@ -10,68 +10,81 @@ ...@@ -10,68 +10,81 @@
<div class="heading"> <div class="heading">
<span class="label">Service: </span> <span class="label">Service: </span>
<span>{{service.id}}</span> <span>{{service.metadata.name}}</span>
</div> </div>
<table> <table class="align-top">
<tbody> <tbody>
<tr> <tr>
<td class="name">Created</td> <td class="name">Created</td>
<td class="value"> <td class="value">
{{service.creationTimestamp | date:'medium'}} {{service.metadata.creationTimestamp | date:'medium'}}
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name">Port</td> <td class="name">Ports</td>
<td class="value"> <td class="value">
{{service.port}} <div ng-repeat="port in service.spec.ports">
<span ng-show="port.name">
{{port.name}}:
</span>
{{port.port}}/{{port.protocol}}
</div>
</td> </td>
</tr> </tr>
<tr>
<td class="name">Container Port</td>
<td class="value">
{{service.containerPort}}
</td>
</tr>
<tr> <tr>
<td class="name">Portal IP</td> <td class="name">IP</td>
<td class="value"> <td class="value">
{{service.portalIP}} {{service.spec.portalIP}}
</td> </td>
</tr> </tr>
<tr> <tr ng-show="service.spec.publicIPs">
<td class="name">Protocol</td> <td class="name">Public IPs</td>
<td class="value"> <td class="value">
{{service.protocol}} {{service.spec.publicIPs | join:', '}}
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name">Session Affinity</td> <td class="name">Session Affinity</td>
<td class="value"> <td class="value">
{{service.sessionAffinity}} {{service.spec.sessionAffinity}}
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name">Labels</td> <td class="name">Labels</td>
<td class="value"> <td class="value">
<div ng-repeat="(label, value) in service.labels"> <div ng-repeat="(label, value) in service.metadata.labels">
{{label}}: {{value}} {{label}}: {{value}}
</div> </div>
</td> </td>
</tr> </tr>
<tr ng-show="service.spec.selector">
<td class="name">Selector</td>
<td class="value">
<span ng-repeat="(label, value) in service.spec.selector">
{{label}}={{value}}{{$last ? '' : ', '}}
</span>
</td>
</tr>
<tr> <tr>
<td class="name">Related Pods</td> <td class="name">Related Pods</td>
<td class="value"> <td class="value">
<div ng-repeat="(label, value) in service.selector"> <div ng-show="service.spec.selector && Object.keys(service.spec.selector).length > 1">
<a ng-href="#/dashboard/groups/type/selector/{{label}}={{value}},type=pod">{{label}}: {{value}}</a> <a ng-href="#/dashboard/groups/type/selector/{{getSelectorUrlFragment(service.spec.selector)}},type=pod">{{getSelectorUrlFragment(service.spec.selector)}}</a>
</div>
<div ng-repeat="(label, value) in service.spec.selector">
<a ng-href="#/dashboard/groups/type/selector/{{label}}={{value}},type=pod">{{label}}={{value}}</a>
</div> </div>
</td> </td>
</tr> </tr>
...@@ -79,8 +92,12 @@ ...@@ -79,8 +92,12 @@
<tr> <tr>
<td class="name">Related Replication Controllers</td> <td class="name">Related Replication Controllers</td>
<td class="value"> <td class="value">
<div ng-repeat="(label, value) in service.selector"> <div ng-show="service.spec.selector && Object.keys(service.spec.selector).length > 1">
<a ng-href="#/dashboard/groups/type/selector/{{label}}={{value}},type=replicationController">{{label}}: {{value}}</a> <a ng-href="#/dashboard/groups/type/selector/{{getSelectorUrlFragment(service.spec.selector)}},type=replicationController">{{getSelectorUrlFragment(service.spec.selector)}}</a>
</div>
<div ng-repeat="(label, value) in service.spec.selector">
<a ng-href="#/dashboard/groups/type/selector/{{label}}={{value}},type=replicationController">{{label}}={{value}}</a>
</div> </div>
</td> </td>
</tr> </tr>
......
...@@ -7,7 +7,7 @@ app.controller('ListServicesCtrl', [ ...@@ -7,7 +7,7 @@ app.controller('ListServicesCtrl', [
'$scope', '$scope',
'$interval', '$interval',
'$routeParams', '$routeParams',
'k8sApi', 'k8sv1Beta3Api',
'$rootScope', '$rootScope',
'$location', '$location',
function($scope, $interval, $routeParams, k8sApi, $rootScope, $location) { function($scope, $interval, $routeParams, k8sApi, $rootScope, $location) {
...@@ -19,7 +19,7 @@ app.controller('ListServicesCtrl', [ ...@@ -19,7 +19,7 @@ app.controller('ListServicesCtrl', [
{name: 'Labels', field: 'labels'}, {name: 'Labels', field: 'labels'},
{name: 'Selector', field: 'selector'}, {name: 'Selector', field: 'selector'},
{name: 'IP', field: 'ip'}, {name: 'IP', field: 'ip'},
{name: 'Port', field: 'port'} {name: 'Ports', field: 'port'}
]; ];
$scope.custom = { $scope.custom = {
...@@ -67,41 +67,36 @@ app.controller('ListServicesCtrl', [ ...@@ -67,41 +67,36 @@ app.controller('ListServicesCtrl', [
if (data.items.constructor === Array) { if (data.items.constructor === Array) {
data.items.forEach(function(service) { data.items.forEach(function(service) {
var _name = '', _uses = '', _component = '', _provider = ''; var _labels = '';
if (service.labels !== null && typeof service.labels === 'object') { if (service.metadata.labels) {
Object.keys(service.labels) _labels = _.map(service.metadata.labels, function(v, k) { return k + '=' + v }).join(', ');
.forEach(function(key) {
if (key == 'name') {
_name += ',' + service.labels[key];
}
if (key == 'component') {
_component += ',' + service.labels[key];
}
if (key == 'provider') {
_provider += ',' + service.labels[key];
}
});
} }
var _selectors = ''; var _selectors = '';
if (service.selector !== null && typeof service.selector === 'object') { if (service.spec.selector) {
Object.keys(service.selector) _selectors = _.map(service.spec.selector, function(v, k) { return k + '=' + v }).join(', ');
.forEach(function(key) { }
if (key == 'name') {
_selectors += ',' + service.selector[key]; var _ports = '';
}
}); if (service.spec.ports) {
_ports = _.map(service.spec.ports, function(p) {
var n = '';
if(p.name)
n = p.name + ': ';
n = n + p.port;
return n;
}).join(', ');
} }
$scope.content.push({ $scope.content.push({
name: service.id, name: service.metadata.name,
ip: service.portalIP, ip: service.spec.portalIP,
port: service.port, port: _ports,
selector: addLabel(_fixComma(_selectors), 'name='), selector: _selectors,
labels: addLabel(_fixComma(_name), 'name=') + ' ' + addLabel(_fixComma(_component), 'component=') + ' ' + labels: _labels
addLabel(_fixComma(_provider), 'provider=')
}); });
}); });
} }
......
...@@ -22,7 +22,7 @@ ServiceController.prototype.handleError = function(data, status, headers, config ...@@ -22,7 +22,7 @@ ServiceController.prototype.handleError = function(data, status, headers, config
app.controller('ServiceCtrl', [ app.controller('ServiceCtrl', [
'$scope', '$scope',
'$routeParams', '$routeParams',
'k8sApi', 'k8sv1Beta3Api',
'$location', '$location',
function($scope, $routeParams, k8sApi, $location) { function($scope, $routeParams, k8sApi, $location) {
$scope.controller = new ServiceController(); $scope.controller = new ServiceController();
...@@ -31,6 +31,8 @@ app.controller('ServiceCtrl', [ ...@@ -31,6 +31,8 @@ app.controller('ServiceCtrl', [
$scope.controller.getData($routeParams.serviceId); $scope.controller.getData($routeParams.serviceId);
$scope.doTheBack = function() { window.history.back(); }; $scope.doTheBack = function() { window.history.back(); };
$scope.go = function(d) { $location.path('/dashboard/services/' + d.metadata.name); }
$scope.getSelectorUrlFragment = function(sel){ return _.map(sel, function(v, k) { return k + '=' + v }).join(','); };
} }
]); ]);
...@@ -10,68 +10,81 @@ ...@@ -10,68 +10,81 @@
<div class="heading"> <div class="heading">
<span class="label">Service: </span> <span class="label">Service: </span>
<span>{{service.id}}</span> <span>{{service.metadata.name}}</span>
</div> </div>
<table> <table class="align-top">
<tbody> <tbody>
<tr> <tr>
<td class="name">Created</td> <td class="name">Created</td>
<td class="value"> <td class="value">
{{service.creationTimestamp | date:'medium'}} {{service.metadata.creationTimestamp | date:'medium'}}
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name">Port</td> <td class="name">Ports</td>
<td class="value"> <td class="value">
{{service.port}} <div ng-repeat="port in service.spec.ports">
<span ng-show="port.name">
{{port.name}}:
</span>
{{port.port}}/{{port.protocol}}
</div>
</td> </td>
</tr> </tr>
<tr>
<td class="name">Container Port</td>
<td class="value">
{{service.containerPort}}
</td>
</tr>
<tr> <tr>
<td class="name">Portal IP</td> <td class="name">IP</td>
<td class="value"> <td class="value">
{{service.portalIP}} {{service.spec.portalIP}}
</td> </td>
</tr> </tr>
<tr> <tr ng-show="service.spec.publicIPs">
<td class="name">Protocol</td> <td class="name">Public IPs</td>
<td class="value"> <td class="value">
{{service.protocol}} {{service.spec.publicIPs | join:', '}}
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name">Session Affinity</td> <td class="name">Session Affinity</td>
<td class="value"> <td class="value">
{{service.sessionAffinity}} {{service.spec.sessionAffinity}}
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="name">Labels</td> <td class="name">Labels</td>
<td class="value"> <td class="value">
<div ng-repeat="(label, value) in service.labels"> <div ng-repeat="(label, value) in service.metadata.labels">
{{label}}: {{value}} {{label}}: {{value}}
</div> </div>
</td> </td>
</tr> </tr>
<tr ng-show="service.spec.selector">
<td class="name">Selector</td>
<td class="value">
<span ng-repeat="(label, value) in service.spec.selector">
{{label}}={{value}}{{$last ? '' : ', '}}
</span>
</td>
</tr>
<tr> <tr>
<td class="name">Related Pods</td> <td class="name">Related Pods</td>
<td class="value"> <td class="value">
<div ng-repeat="(label, value) in service.selector"> <div ng-show="service.spec.selector && Object.keys(service.spec.selector).length > 1">
<a ng-href="#/dashboard/groups/type/selector/{{label}}={{value}},type=pod">{{label}}: {{value}}</a> <a ng-href="#/dashboard/groups/type/selector/{{getSelectorUrlFragment(service.spec.selector)}},type=pod">{{getSelectorUrlFragment(service.spec.selector)}}</a>
</div>
<div ng-repeat="(label, value) in service.spec.selector">
<a ng-href="#/dashboard/groups/type/selector/{{label}}={{value}},type=pod">{{label}}={{value}}</a>
</div> </div>
</td> </td>
</tr> </tr>
...@@ -79,8 +92,12 @@ ...@@ -79,8 +92,12 @@
<tr> <tr>
<td class="name">Related Replication Controllers</td> <td class="name">Related Replication Controllers</td>
<td class="value"> <td class="value">
<div ng-repeat="(label, value) in service.selector"> <div ng-show="service.spec.selector && Object.keys(service.spec.selector).length > 1">
<a ng-href="#/dashboard/groups/type/selector/{{label}}={{value}},type=replicationController">{{label}}: {{value}}</a> <a ng-href="#/dashboard/groups/type/selector/{{getSelectorUrlFragment(service.spec.selector)}},type=replicationController">{{getSelectorUrlFragment(service.spec.selector)}}</a>
</div>
<div ng-repeat="(label, value) in service.spec.selector">
<a ng-href="#/dashboard/groups/type/selector/{{label}}={{value}},type=replicationController">{{label}}={{value}}</a>
</div> </div>
</td> </td>
</tr> </tr>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment