diff --git a/src/rest-server/src/models/v2/storage.js b/src/rest-server/src/models/v2/storage.js index 8002e37a..8bf884d5 100644 --- a/src/rest-server/src/models/v2/storage.js +++ b/src/rest-server/src/models/v2/storage.js @@ -18,7 +18,6 @@ // module dependencies const status = require('statuses'); const createError = require('@pai/utils/error'); -const user = require('@pai/models/v2/user'); const secret = require('@pai/models/kubernetes/k8s-secret'); const kubernetes = require('@pai/models/kubernetes/kubernetes'); const logger = require('@pai/config/logger'); @@ -178,6 +177,9 @@ const convertVolumeDetail = async (pvc) => { }; const list = async (userName, filterDefault = false) => { + // Lazy require to avoid circular dependency + const user = require('@pai/models/v2/user'); + let response; if (pvcCache.has('storageList')) { logger.info('Read persistant volume claim list from cache'); @@ -247,6 +249,9 @@ const list = async (userName, filterDefault = false) => { }; const get = async (storageName, userName) => { + // Lazy require to avoid circular dependency + const user = require('@pai/models/v2/user'); + let response; if (pvcCache.has(storageName)) { logger.info(`Read persistant volume claim from cache: ${storageName}`); diff --git a/src/rest-server/src/utils/manager/user/crudK8sSecret.js b/src/rest-server/src/utils/manager/user/crudK8sSecret.js index 07ed4532..83933cc1 100644 --- a/src/rest-server/src/utils/manager/user/crudK8sSecret.js +++ b/src/rest-server/src/utils/manager/user/crudK8sSecret.js @@ -20,7 +20,6 @@ const logger = require('@pai/config/logger'); const groupModel = require('@pai/models/v2/group'); const k8sModel = require('@pai/models/kubernetes/kubernetes'); const { Mutex } = require('async-mutex'); -const { job } = require('@pai/models/v2/job'); const USER_NAMESPACE = process.env.PAI_USER_NAMESPACE || 'pai-user-v2'; @@ -44,6 +43,9 @@ const cache = new Map(); const readMutex = new Mutex(); async function getHistoryVCs(name, grouplist, retrieveFromHistory=true) { + // Lazy require to avoid circular dependency + const { job } = require('@pai/models/v2/job'); + // Retrieve VC list from the user's job history let vcsFromJob = []; if (retrieveFromHistory) {