Skip to content

Commit d290840

Browse files
committed
mgr/dashboard: Set max subsystem count to 512 rather than 4096
Fixes https://tracker.ceph.com/issues/73867 - regression from https://github.com/ceph/ceph/pull/64477/files - removing frontend valdations as this values are volatiel and require changes every release. Nvmeof is seeting these and validating as well. Signed-off-by: Afreen Misbah <[email protected]>
1 parent c8ec14a commit d290840

File tree

5 files changed

+23
-17
lines changed

5 files changed

+23
-17
lines changed

src/pybind/mgr/dashboard/frontend/src/app/ceph/block/nvmeof-subsystems-details/nvmeof-subsystems-details.component.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { NgbNavModule } from '@ng-bootstrap/ng-bootstrap';
66
import { Permissions } from '~/app/shared/models/permissions';
77
import { SharedModule } from '~/app/shared/shared.module';
88
import { NvmeofSubsystemsDetailsComponent } from './nvmeof-subsystems-details.component';
9+
import { DEFAULT_MAX_NAMESPACE_PER_SUBSYSTEM } from '~/app/shared/api/nvmeof.service';
910

1011
describe('NvmeofSubsystemsDetailsComponent', () => {
1112
let component: NvmeofSubsystemsDetailsComponent;
@@ -27,7 +28,7 @@ describe('NvmeofSubsystemsDetailsComponent', () => {
2728
subtype: 'NVMe',
2829
nqn: 'nqn.2001-07.com.ceph:1720603703820',
2930
namespace_count: 1,
30-
max_namespaces: 4096
31+
max_namespaces: DEFAULT_MAX_NAMESPACE_PER_SUBSYSTEM
3132
};
3233
component.permissions = new Permissions({
3334
grafana: ['read']

src/pybind/mgr/dashboard/frontend/src/app/ceph/block/nvmeof-subsystems-form/nvmeof-subsystems-form.component.html

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,6 @@
5353
<span class="invalid-feedback"
5454
*ngIf="subsystemForm.showError('max_namespaces', formDir, 'min')"
5555
i18n>The value must be at least 1.</span>
56-
<span class="invalid-feedback"
57-
*ngIf="subsystemForm.showError('max_namespaces', formDir, 'max')"
58-
i18n>The value cannot be greater than {{defaultMaxNamespace}}.</span>
5956
<span class="invalid-feedback"
6057
*ngIf="subsystemForm.showError('max_namespaces', formDir, 'pattern')"
6158
i18n>The value must be a positive integer.</span>

src/pybind/mgr/dashboard/frontend/src/app/ceph/block/nvmeof-subsystems-form/nvmeof-subsystems-form.component.spec.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ import { CdFormGroup } from '~/app/shared/forms/cd-form-group';
1111
import { SharedModule } from '~/app/shared/shared.module';
1212
import { NvmeofSubsystemsFormComponent } from './nvmeof-subsystems-form.component';
1313
import { FormHelper } from '~/testing/unit-test-helper';
14-
import { MAX_NAMESPACE, NvmeofService } from '~/app/shared/api/nvmeof.service';
14+
import {
15+
DEFAULT_MAX_NAMESPACE_PER_SUBSYSTEM,
16+
NvmeofService
17+
} from '~/app/shared/api/nvmeof.service';
1518

1619
describe('NvmeofSubsystemsFormComponent', () => {
1720
let component: NvmeofSubsystemsFormComponent;
@@ -61,7 +64,7 @@ describe('NvmeofSubsystemsFormComponent', () => {
6164
component.onSubmit();
6265
expect(nvmeofService.createSubsystem).toHaveBeenCalledWith({
6366
nqn: expectedNqn,
64-
max_namespaces: MAX_NAMESPACE,
67+
max_namespaces: DEFAULT_MAX_NAMESPACE_PER_SUBSYSTEM,
6568
enable_ha: true,
6669
gw_group: mockGroupName
6770
});
@@ -79,10 +82,16 @@ describe('NvmeofSubsystemsFormComponent', () => {
7982
formHelper.expectError('max_namespaces', 'pattern');
8083
});
8184

82-
it(`should give error on max_namespaces greater than ${MAX_NAMESPACE}`, () => {
83-
formHelper.setValue('max_namespaces', 6000);
85+
it(`should not give error on max_namespaces greater than ${DEFAULT_MAX_NAMESPACE_PER_SUBSYSTEM}`, () => {
86+
const expectedNqn = 'nqn.2001-07.com.ceph:' + mockTimestamp;
87+
formHelper.setValue('max_namespaces', 600);
8488
component.onSubmit();
85-
formHelper.expectError('max_namespaces', 'max');
89+
expect(nvmeofService.createSubsystem).toHaveBeenCalledWith({
90+
nqn: expectedNqn,
91+
max_namespaces: DEFAULT_MAX_NAMESPACE_PER_SUBSYSTEM,
92+
enable_ha: true,
93+
gw_group: mockGroupName
94+
});
8695
});
8796

8897
it('should give error on max_namespaces lesser than 1', () => {

src/pybind/mgr/dashboard/frontend/src/app/ceph/block/nvmeof-subsystems-form/nvmeof-subsystems-form.component.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ import { AuthStorageService } from '~/app/shared/services/auth-storage.service';
1010
import { TaskWrapperService } from '~/app/shared/services/task-wrapper.service';
1111
import { FinishedTask } from '~/app/shared/models/finished-task';
1212
import { ActivatedRoute, Router } from '@angular/router';
13-
import { MAX_NAMESPACE, NvmeofService } from '~/app/shared/api/nvmeof.service';
13+
import {
14+
DEFAULT_MAX_NAMESPACE_PER_SUBSYSTEM,
15+
NvmeofService
16+
} from '~/app/shared/api/nvmeof.service';
1417

1518
@Component({
1619
selector: 'cd-nvmeof-subsystems-form',
@@ -23,7 +26,7 @@ export class NvmeofSubsystemsFormComponent implements OnInit {
2326
action: string;
2427
resource: string;
2528
pageURL: string;
26-
defaultMaxNamespace: number = MAX_NAMESPACE;
29+
defaultMaxNamespace: number = DEFAULT_MAX_NAMESPACE_PER_SUBSYSTEM;
2730
group: string;
2831

2932
constructor(
@@ -81,11 +84,7 @@ export class NvmeofSubsystemsFormComponent implements OnInit {
8184
]
8285
}),
8386
max_namespaces: new UntypedFormControl(this.defaultMaxNamespace, {
84-
validators: [
85-
CdValidators.number(false),
86-
Validators.max(this.defaultMaxNamespace),
87-
Validators.min(1)
88-
]
87+
validators: [CdValidators.number(false), Validators.min(1)]
8988
})
9089
});
9190
}

src/pybind/mgr/dashboard/frontend/src/app/shared/api/nvmeof.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { Observable, of as observableOf } from 'rxjs';
66
import { catchError, mapTo } from 'rxjs/operators';
77
import { CephServiceSpec } from '../models/service.interface';
88

9-
export const MAX_NAMESPACE = 4096;
9+
export const DEFAULT_MAX_NAMESPACE_PER_SUBSYSTEM = 512;
1010

1111
export type GatewayGroup = CephServiceSpec;
1212

0 commit comments

Comments
 (0)