From d75e0b7a18d50d5cb4a190c0dca806332ab3efe1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Stephan=20M=C3=BCller?= Date: Mon, 2 Mar 2020 12:16:32 +0100 Subject: [PATCH] mgr/dashboard: Explicit returns in pool form MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixes: https://tracker.ceph.com/issues/44371 Signed-off-by: Stephan Müller --- .../pool/pool-form/pool-form.component.spec.ts | 12 ++++++------ .../ceph/pool/pool-form/pool-form.component.ts | 16 ++++------------ 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/pool-form/pool-form.component.spec.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/pool-form/pool-form.component.spec.ts index 30dbcb7db0692..5ff1418c94cbe 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/pool-form/pool-form.component.spec.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/pool-form/pool-form.component.spec.ts @@ -534,16 +534,16 @@ describe('PoolFormComponent', () => { }); }; - it('returns nothing if osd count is 0', () => { + it('returns 0 if osd count is 0', () => { component.info.osd_count = 0; - expect(component.getMinSize()).toBe(undefined); - expect(component.getMaxSize()).toBe(undefined); + expect(component.getMinSize()).toBe(0); + expect(component.getMaxSize()).toBe(0); }); - it('returns nothing if info is not there', () => { + it('returns 0 if info is not there', () => { delete component.info; - expect(component.getMinSize()).toBe(undefined); - expect(component.getMaxSize()).toBe(undefined); + expect(component.getMinSize()).toBe(0); + expect(component.getMaxSize()).toBe(0); }); it('returns minimum and maximum of rule', () => { diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/pool-form/pool-form.component.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/pool-form/pool-form.component.ts index cfc81ba829f0c..f67adba02b8fe 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/pool-form/pool-form.component.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/pool-form/pool-form.component.ts @@ -382,7 +382,7 @@ export class PoolFormComponent implements OnInit { getMinSize(): number { if (!this.info || this.info.osd_count < 1) { - return undefined; + return 0; } const rule = this.form.getValue('crushRule'); if (rule) { @@ -393,7 +393,7 @@ export class PoolFormComponent implements OnInit { getMaxSize(): number { if (!this.info || this.info.osd_count < 1) { - return undefined; + return 0; } const osds: number = this.info.osd_count; if (this.form.getValue('crushRule')) { @@ -426,21 +426,13 @@ export class PoolFormComponent implements OnInit { private replicatedPgCalc(pgs: number): number { const sizeControl = this.form.get('size'); const size = sizeControl.value; - if (sizeControl.valid && size > 0) { - return pgs / size; - } - - return undefined; + return sizeControl.valid && size > 0 ? pgs / size : 0; } private erasurePgCalc(pgs: number): number { const ecpControl = this.form.get('erasureProfile'); const ecp = ecpControl.value; - if ((ecpControl.valid || ecpControl.disabled) && ecp) { - return pgs / (ecp.k + ecp.m); - } - - return undefined; + return (ecpControl.valid || ecpControl.disabled) && ecp ? pgs / (ecp.k + ecp.m) : 0; } private alignPgs(pgs = this.form.getValue('pgNum')) { -- 2.39.5