From 50ef955207e7095578dc09820885a3dd0d6b3d52 Mon Sep 17 00:00:00 2001 From: Dnyaneshwari Date: Fri, 19 Sep 2025 16:31:43 +0530 Subject: [PATCH] mgr/dashboard: FS - Attach Command showing undefined for MountData Fixes: https://tracker.ceph.com/issues/73137 Signed-off-by: Dnyaneshwari Talwekar --- .../cephfs/cephfs-list/cephfs-list.component.ts | 4 ++-- .../cephfs-mount-details.component.ts | 13 ++++++++----- .../cephfs-subvolume-list.component.ts | 4 ++-- .../frontend/src/app/shared/models/cephfs.model.ts | 5 +++++ 4 files changed, 17 insertions(+), 9 deletions(-) create mode 100644 src/pybind/mgr/dashboard/frontend/src/app/shared/models/cephfs.model.ts diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-list/cephfs-list.component.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-list/cephfs-list.component.ts index 005071b1f906a..33721407cad7b 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-list/cephfs-list.component.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-list/cephfs-list.component.ts @@ -165,9 +165,9 @@ export class CephfsListComponent extends ListWithDetails implements OnInit { this.modalRef = this.modalService.show(CephfsMountDetailsComponent, { onSubmit: () => this.modalRef.close(), mountData: { - fsId: val.clusterId, + clusterFSID: val.clusterId, fsName: selectedFileSystem?.mdsmap?.fs_name, - rootPath: val.fs['path'] + path: val.fs['path'] } }); } diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-mount-details/cephfs-mount-details.component.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-mount-details/cephfs-mount-details.component.ts index 94c263de10d8d..6bfbfc47ec460 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-mount-details/cephfs-mount-details.component.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-mount-details/cephfs-mount-details.component.ts @@ -1,6 +1,7 @@ -import { Component, OnInit, ViewChild } from '@angular/core'; +import { Component, Inject, OnInit, Optional, ViewChild } from '@angular/core'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { BaseModal } from 'carbon-components-angular'; +import { MountData } from '~/app/shared/models/cephfs.model'; @Component({ selector: 'cd-cephfs-mount-details', @@ -12,8 +13,10 @@ export class CephfsMountDetailsComponent extends BaseModal implements OnInit { mountDetailsTpl: any; onCancel?: Function; private MOUNT_DIRECTORY = ''; - mountData!: Record; - constructor(public activeModal: NgbActiveModal) { + constructor( + public activeModal: NgbActiveModal, + @Optional() @Inject('mountData') public mountData: MountData + ) { super(); } mount!: string; @@ -21,8 +24,8 @@ export class CephfsMountDetailsComponent extends BaseModal implements OnInit { nfs!: string; ngOnInit(): void { - this.mount = `sudo mount -t ceph @${this.mountData?.fsId}.${this.mountData?.fsName}=${this.mountData?.rootPath} ${this.MOUNT_DIRECTORY}`; - this.fuse = `sudo ceph-fuse ${this.MOUNT_DIRECTORY} -r ${this.mountData?.rootPath} --client_mds_namespace=${this.mountData?.fsName}`; + this.mount = `sudo mount -t ceph @${this.mountData?.clusterFSID}.${this.mountData?.fsName}=${this.mountData?.path} ${this.MOUNT_DIRECTORY}`; + this.fuse = `sudo ceph-fuse ${this.MOUNT_DIRECTORY} -r ${this.mountData?.path} --client_mds_namespace=${this.mountData?.fsName}`; this.nfs = `sudo mount -t nfs -o port= : ${this.MOUNT_DIRECTORY}`; } diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-subvolume-list/cephfs-subvolume-list.component.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-subvolume-list/cephfs-subvolume-list.component.ts index eb048cb5b236b..ef929610b4daa 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-subvolume-list/cephfs-subvolume-list.component.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-subvolume-list/cephfs-subvolume-list.component.ts @@ -221,9 +221,9 @@ export class CephfsSubvolumeListComponent extends CdForm implements OnInit, OnCh this.modalRef = this.modalService.show(CephfsMountDetailsComponent, { onSubmit: () => this.modalRef.close(), mountData: { - fsId: clusterId, + clusterFSID: clusterId, fsName: this.fsName, - rootPath: selectedSubVolume.info.path + path: selectedSubVolume.info.path } }); } diff --git a/src/pybind/mgr/dashboard/frontend/src/app/shared/models/cephfs.model.ts b/src/pybind/mgr/dashboard/frontend/src/app/shared/models/cephfs.model.ts new file mode 100644 index 0000000000000..0e137ae752012 --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/src/app/shared/models/cephfs.model.ts @@ -0,0 +1,5 @@ +export interface MountData { + clusterFSID: string; + fsName: string; + path: string; +} -- 2.39.5