Skip to content

Commit

Permalink
feat(console): create vm support set accessModes by sc Provisioner (#…
Browse files Browse the repository at this point in the history
…2239)

* feat(console): create vm support set accessModes by sc Provisioner

* feat(console): add case

* fix(console): change createVM volumeMode
  • Loading branch information
jo-hnny committed Mar 1, 2023
1 parent 44b0053 commit e0699b4
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ export interface DiskInterface {
type: DiskTypeEnum;
volumeMode: VolumeModeEnum;
storageClass: string;
scProvisioner: string;
size: number;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export const DiskPanel = () => {
type: DiskTypeEnum.Data,
volumeMode: VolumeModeEnum.Filesystem,
storageClass: null,
scProvisioner: null,
size: 50
}
];
Expand Down Expand Up @@ -97,6 +98,9 @@ export const DiskPanel = () => {
onChange={storageClass =>
modifyDiskItem({
storageClass,
scProvisioner:
storageClassListLoadable?.contents?.find(({ value }) => value === storageClass)?.provisioner ??
null,
id
})
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,9 @@ export const VMCreatePanel = () => {
});

history.back();
} catch (error) {}
} catch (error) {
console.log('createVm error --->', error);
}
}

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ export const diskListState = atom<DiskInterface[]>({
type: DiskTypeEnum.System,
volumeMode: VolumeModeEnum.Filesystem,
storageClass: null,
scProvisioner: null,
size: 50
},

Expand All @@ -42,6 +43,7 @@ export const diskListState = atom<DiskInterface[]>({
type: DiskTypeEnum.Data,
volumeMode: VolumeModeEnum.Filesystem,
storageClass: null,
scProvisioner: null,
size: 50
}
]
Expand All @@ -56,7 +58,7 @@ export const storageClassListState = selector({

const { items } = await storageClassAPI.fetchStorageClassList(clusterId);

return items?.map(({ metadata }) => ({ value: metadata?.name })) ?? [];
return items?.map(({ metadata, provisioner }) => ({ value: metadata?.name, provisioner })) ?? [];
}
});

Expand Down
7 changes: 5 additions & 2 deletions web/console/src/webApi/virtual-machine.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { VolumeModeEnum } from '@src/modules/cluster/components/resource/virtual-machine/constants';
import { Request, generateQueryString } from './request';

const IMAGE_NAMESPACE = 'kube-public';
Expand Down Expand Up @@ -214,14 +215,16 @@ export function createVM({

spec: {
pvc: {
accessModes: ['ReadWriteOnce'],
accessModes: ['ReadWriteMany'],
resources: {
requests: {
storage: `${item.size}Gi`
}
},

volumeMode: item.volumeMode,
volumeMode: ['loopdevice.csi.infra.tce.io', 'rbd.csi.ceph.com'].includes(item?.scProvisioner)
? VolumeModeEnum.Block
: VolumeModeEnum.Filesystem,
storageClassName: item.storageClass
},

Expand Down

0 comments on commit e0699b4

Please sign in to comment.