Skip to content

Commit 89cfda3

Browse files
committed
mgr/dashboard: Fix delete listener
- pass gw_group to delete API in frontend - when more than one gw groups present delete listener failing with error message: Multiple NVMe-oF gateway groups are configured. Please specify the 'gw_group' parameter in the request. - added missing types, i18n Fixes https://tracker.ceph.com/issues/71236 Signed-off-by: Afreen Misbah <[email protected]> (cherry picked from commit 87ff771)
1 parent b74b612 commit 89cfda3

File tree

4 files changed

+16
-5
lines changed

4 files changed

+16
-5
lines changed

src/pybind/mgr/dashboard/frontend/src/app/ceph/block/nvmeof-listeners-list/nvmeof-listeners-list.component.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,11 @@ export class NvmeofListenersListComponent implements OnInit {
100100
deleteListenerModal() {
101101
const listener = this.selection.first();
102102
this.modalService.show(DeleteConfirmationModalComponent, {
103-
itemDescription: 'Listener',
103+
itemDescription: $localize`Listener`,
104104
actionDescription: 'delete',
105-
itemNames: [`listener ${listener.host_name} (${listener.traddr}:${listener.trsvcid})`],
105+
itemNames: [
106+
$localize`listener` + ' ' + `${listener.host_name} (${listener.traddr}:${listener.trsvcid})`
107+
],
106108
submitActionObservable: () =>
107109
this.taskWrapper.wrapTaskAroundCall({
108110
task: new FinishedTask('nvmeof/listener/delete', {
@@ -111,6 +113,7 @@ export class NvmeofListenersListComponent implements OnInit {
111113
}),
112114
call: this.nvmeofService.deleteListener(
113115
this.subsystemNQN,
116+
this.group,
114117
listener.host_name,
115118
listener.traddr,
116119
listener.trsvcid

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,10 @@ describe('NvmeofService', () => {
130130
it('should call deleteListener', () => {
131131
const request = { host_name: 'ceph-node-02', traddr: '192.168.100.102', trsvcid: '4421' };
132132
service
133-
.deleteListener(mockNQN, request.host_name, request.traddr, request.trsvcid)
133+
.deleteListener(mockNQN, mockGroupName, request.host_name, request.traddr, request.trsvcid)
134134
.subscribe();
135135
const req = httpTesting.expectOne(
136-
`${API_PATH}/subsystem/${mockNQN}/listener/${request.host_name}/${request.traddr}?trsvcid=${request.trsvcid}`
136+
`${API_PATH}/subsystem/${mockNQN}/listener/${request.host_name}/${request.traddr}?gw_group=${mockGroupName}&trsvcid=${request.trsvcid}`
137137
);
138138
expect(req.request.method).toBe('DELETE');
139139
});

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,19 @@ export class NvmeofService {
115115
});
116116
}
117117

118-
deleteListener(subsystemNQN: string, hostName: string, traddr: string, trsvcid: string) {
118+
deleteListener(
119+
subsystemNQN: string,
120+
group: string,
121+
hostName: string,
122+
traddr: string,
123+
trsvcid: string
124+
) {
119125
return this.http.delete(
120126
`${API_PATH}/subsystem/${subsystemNQN}/listener/${hostName}/${traddr}`,
121127
{
122128
observe: 'response',
123129
params: {
130+
gw_group: group,
124131
trsvcid
125132
}
126133
}

src/pybind/mgr/dashboard/frontend/src/app/shared/models/nvmeof.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export interface NvmeofListener {
3131
adrfam: number; // 0: IPv4, 1: IPv6
3232
trsvcid: number; // 4420
3333
id?: number; // for table
34+
full_addr?: string; // for table
3435
}
3536

3637
export interface NvmeofSubsystemNamespace {

0 commit comments

Comments
 (0)