Skip to content

Commit 8808d73

Browse files
committed
Merge pull request #300 from floreks/pod-status
Changed condition when to show full pod status (desired, running, created, etc.)
2 parents bc11432 + edda600 commit 8808d73

File tree

7 files changed

+92
-23
lines changed

7 files changed

+92
-23
lines changed

src/app/frontend/chrome/chrome.scss

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,11 @@ a {
7171
}
7272

7373
.kd-comma-separated-item {
74-
&:after {
75-
content: ',';
76-
}
77-
78-
&:last-child {
74+
&:not(:last-child) {
7975
&:after {
80-
content: '';
76+
content: ',';
8177
}
78+
8279
}
8380
}
8481

src/app/frontend/replicasetdetail/replicasetdetail.html

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,14 @@ <h1 flex class="md-title kd-replicasetdetail-app-name">
5252
<div layout="row" layout-align="start end">
5353
<div flex="nogrow">
5454
<span class="kd-replicasetdetail-sidebar-line">Pods</span>
55-
<span class="kd-replicasetdetail-sidebar-subline">
55+
<span class="kd-replicasetdetail-sidebar-subline" ng-if="!ctrl.areDesiredPodsRunning()">
5656
{{::ctrl.replicaSetDetail.podInfo.current}} created,
5757
{{::ctrl.replicaSetDetail.podInfo.desired}} desired
5858
</span>
59-
</div>
59+
<span class="kd-replicasetdetail-sidebar-subline" ng-if="ctrl.areDesiredPodsRunning()">
60+
{{::ctrl.replicaSetDetail.podInfo.running}} running
61+
</span>
62+
</div>
6063
<div flex="nogrow">
6164
<md-button class="md-icon-button md-primary">
6265
<md-icon class="material-icons"
@@ -66,18 +69,20 @@ <h1 flex class="md-title kd-replicasetdetail-app-name">
6669
</md-button>
6770
</div>
6871
</div>
69-
<span class="kd-replicasetdetail-sidebar-line">Pods status</span>
70-
<span class="kd-replicasetdetail-sidebar-subline">
71-
<span ng-if="::ctrl.replicaSetDetail.podInfo.pending" class="kd-comma-separated-item">
72-
{{::ctrl.replicaSetDetail.podInfo.pending}} pending<!-- Collapse whitespace
73-
--></span>
74-
<span ng-if="::ctrl.replicaSetDetail.podInfo.failed" class="kd-comma-separated-item">
75-
{{::ctrl.replicaSetDetail.podInfo.failed}} failed<!-- Collapse whitespace
76-
--></span>
77-
<span ng-if="::ctrl.replicaSetDetail.podInfo.running" class="kd-comma-separated-item">
78-
{{::ctrl.replicaSetDetail.podInfo.running}} running
72+
<div ng-if="!ctrl.areDesiredPodsRunning()">
73+
<span class="kd-replicasetdetail-sidebar-line">Pods status</span>
74+
<span class="kd-replicasetdetail-sidebar-subline">
75+
<span ng-if="::ctrl.replicaSetDetail.podInfo.pending" class="kd-comma-separated-item">
76+
{{::ctrl.replicaSetDetail.podInfo.pending}} pending<!-- Collapse whitespace
77+
--></span>
78+
<span ng-if="::ctrl.replicaSetDetail.podInfo.failed" class="kd-comma-separated-item">
79+
{{::ctrl.replicaSetDetail.podInfo.failed}} failed<!-- Collapse whitespace
80+
--></span>
81+
<span ng-if="::ctrl.replicaSetDetail.podInfo.running" class="kd-comma-separated-item">
82+
{{::ctrl.replicaSetDetail.podInfo.running}} running
83+
</span>
7984
</span>
80-
</span>
85+
</div>
8186
<span class="kd-replicasetdetail-sidebar-line">Label selector</span>
8287
<span class="kd-replicasetdetail-sidebar-subline kd-has-labels">
8388
<kd-labels labels="::ctrl.replicaSetDetail.labelSelector"></kd-labels>

src/app/frontend/replicasetdetail/replicasetdetail_controller.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,14 @@ export default class ReplicaSetDetailController {
177177
}
178178
}
179179

180+
/**
181+
* @return {boolean}
182+
* @export
183+
*/
184+
areDesiredPodsRunning() {
185+
return this.replicaSetDetail.podInfo.running === this.replicaSetDetail.podInfo.desired;
186+
}
187+
180188
/**
181189
* Handles update of replicas count in replica set dialog.
182190
* @export

src/app/frontend/replicasetlist/replicasetcard.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ <h3 class="md-title kd-replicaset-card-title">
3333
<div class="md-caption">
3434
<div layout="row" layout-align="center end">
3535
<span flex="60">
36-
<ng-pluralize class="kd-replicase-card-pods-stat" count="::ctrl.replicaSet.pods.running"
37-
when="{'one': '1 pod running,',
38-
'other': '{} pods running,'}">
36+
<ng-pluralize class="kd-replicase-card-pods-stat kd-comma-separated-item"
37+
count="::ctrl.replicaSet.pods.running"
38+
when="{'one': '1 pod running', 'other': '{} pods running'}">
3939
</ng-pluralize>
4040
<span ng-if="::ctrl.replicaSet.pods.pending"
4141
class="kd-replicase-card-pods-stat kd-comma-separated-item">
@@ -45,7 +45,8 @@ <h3 class="md-title kd-replicaset-card-title">
4545
class="kd-replicase-card-pods-stat kd-comma-separated-item">
4646
{{::ctrl.replicaSet.pods.failed}} failed<!-- Collapse whitespace
4747
--></span>
48-
<span class="kd-replicase-card-pods-stat kd-comma-separated-item">
48+
<span ng-if="!ctrl.areDesiredPodsRunning()"
49+
class="kd-replicase-card-pods-stat kd-comma-separated-item">
4950
{{::ctrl.replicaSet.pods.desired}} desired
5051
</span>
5152
</span>

src/app/frontend/replicasetlist/replicasetcard_controller.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,10 @@ export default class ReplicaSetCardController {
5858
return this.state_.href(
5959
stateName, new StateParams(this.replicaSet.namespace, this.replicaSet.name));
6060
}
61+
62+
/**
63+
* @return {boolean}
64+
* @export
65+
*/
66+
areDesiredPodsRunning() { return this.replicaSet.pods.running === this.replicaSet.pods.desired; }
6167
}

src/test/frontend/replicasetdetail/replicasetdetail_controller_test.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,4 +143,30 @@ describe('Replica Set Detail controller', () => {
143143
// then
144144
expect(result).toBeFalsy();
145145
});
146+
147+
it('should return true when all desired pods are running', () => {
148+
// given
149+
ctrl.replicaSetDetail = {
150+
podInfo: {
151+
running: 0,
152+
desired: 0,
153+
},
154+
};
155+
156+
// then
157+
expect(ctrl.areDesiredPodsRunning()).toBeTruthy();
158+
});
159+
160+
it('should return false when not all desired pods are running', () => {
161+
// given
162+
ctrl.replicaSetDetail = {
163+
podInfo: {
164+
running: 0,
165+
desired: 1,
166+
},
167+
};
168+
169+
// then
170+
expect(ctrl.areDesiredPodsRunning()).toBeFalsy();
171+
});
146172
});

src/test/frontend/replicasetlist/replicasetcard_controller_test.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,30 @@ describe('Logs menu controller', () => {
4444
expect(ctrl.shouldTruncate('x'.repeat(33))).toBe(true);
4545
expect(ctrl.shouldTruncate('x'.repeat(100))).toBe(true);
4646
});
47+
48+
it('should return true when all desired pods are running', () => {
49+
// given
50+
ctrl.replicaSet = {
51+
pods: {
52+
running: 0,
53+
desired: 0,
54+
},
55+
};
56+
57+
// then
58+
expect(ctrl.areDesiredPodsRunning()).toBeTruthy();
59+
});
60+
61+
it('should return false when not all desired pods are running', () => {
62+
// given
63+
ctrl.replicaSet = {
64+
pods: {
65+
running: 0,
66+
desired: 1,
67+
},
68+
};
69+
70+
// then
71+
expect(ctrl.areDesiredPodsRunning()).toBeFalsy();
72+
});
4773
});

0 commit comments

Comments
 (0)