in src/webportal/src/app/job-submission/models/data/mount-directories.js [232:306]
generateMountCmds(serverData, mountPoint, relativePath, tmpFolder) {
const serverType = serverData.type;
switch (serverType) {
case 'nfs':
return [
`mount -t nfs4 ${serverData.address}:${this.normalizePath(
serverData.rootPath + '/' + relativePath,
)} ${mountPoint}`,
];
case 'samba':
return [
`mount -t cifs //${serverData.address}${this.normalizePath(
'/' + serverData.rootPath + '/' + relativePath,
)} ${mountPoint} -o vers=3.0,username=${
serverData.userName
},password=${serverData.password}` +
(serverData.domain !== undefined && serverData.domain.length > 0
? `,domain=${serverData.domain}`
: ''),
];
case 'azurefile':
if (serverData.proxy !== undefined) {
return [
`mount -t cifs //localhost/${this.normalizePath(
serverData.fileShare + '/' + relativePath,
)} ${mountPoint} -o vers=3.0,username=${
serverData.accountName
},password=${
serverData.key
},dir_mode=0777,file_mode=0777,serverino`,
];
} else {
return [
`mount -t cifs //${serverData.dataStore}/${this.normalizePath(
serverData.fileShare + '/' + relativePath,
)} ${mountPoint} -o vers=3.0,username=${
serverData.accountName
},password=${
serverData.key
},dir_mode=0777,file_mode=0777,serverino`,
];
}
case 'azureblob':
case 'hdfs':
if (mountPoint === tmpFolder) {
if (serverType === 'azureblob') {
// Mount azureblob endpoint
const tmpPath = `/mnt/resource/blobfusetmp/${serverData.spn}`;
const cfgFile = `/${serverData.spn}.cfg`;
return [
`blobfuse ${tmpFolder} --tmp-path=${tmpPath} --config-file=${cfgFile} -o attr_timeout=240 ` +
`-o entry_timeout=240 -o negative_timeout=120`,
];
} else if (serverType === 'hdfs') {
return [
`(hdfs-mount ${serverData.namenode}:${serverData.port} ${mountPoint} &)`,
// sleep to wait until mount
'sleep 3',
];
}
} else {
// ln azureblob sub folder
return [
// remove mountPoint folder first. Otherwise will create soft link under mountPoint
`rm -r ${mountPoint}`,
`ln -s ${this.normalizePath(
tmpFolder + relativePath,
)} ${mountPoint}`,
];
}
break;
default:
return undefined;
}
}