@ytsaurus/ui 1.15.2 → 1.15.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/ui/store/actions/operations/detail.js +1 -1
- package/build/cjs/ui/store/actions/operations/detail.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/create-pool-dialog.js +1 -1
- package/build/cjs/ui/store/actions/scheduling/create-pool-dialog.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +2 -2
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js +1 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
- package/build/cjs/ui/utils/operations/tabs/details/resources/resourcesTablesProps.d.ts +18 -4
- package/build/cjs/ui/utils/operations/tabs/details/resources/resourcesTablesProps.js +4 -2
- package/build/cjs/ui/utils/operations/tabs/details/resources/resourcesTablesProps.js.map +1 -1
- package/build/esm/ui/store/actions/operations/detail.js +1 -1
- package/build/esm/ui/store/actions/operations/detail.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/create-pool-dialog.js +1 -1
- package/build/esm/ui/store/actions/scheduling/create-pool-dialog.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/expanded-pools.js +2 -2
- package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/scheduling-ts.js +1 -1
- package/build/esm/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
- package/build/esm/ui/utils/operations/tabs/details/resources/resourcesTablesProps.d.ts +18 -4
- package/build/esm/ui/utils/operations/tabs/details/resources/resourcesTablesProps.js +4 -2
- package/build/esm/ui/utils/operations/tabs/details/resources/resourcesTablesProps.js.map +1 -1
- package/dist/public/build/assets-manifest.json +4 -4
- package/dist/public/build/js/main.fe2fcf60.js +3 -0
- package/dist/public/build/js/{main.52d41878.js.map → main.fe2fcf60.js.map} +1 -1
- package/dist/public/build/manifest.json +2 -2
- package/package.json +2 -2
- package/dist/public/build/js/main.52d41878.js +0 -3
- /package/dist/public/build/js/{main.52d41878.js.LICENSE.txt → main.fe2fcf60.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_yt","_interopRequireDefault","require","_ypath","_detail","_selectors","_detail2","_utils","_utils2","_list","_index","_uikit","_cancelHelper","_rumWrapApi","_jobsMonitor","obj","__esModule","default","toaster","Toaster","operationDetailsRequests","CancelHelper","getIsEphemeral","_ref","_ref2","_slicedToArray","operationAttributes","userTransactionAlive","treesInfo","ypath","get","trees","_keys","poolPaths","_values","_mapValues","infoPerTree","tree","concat","getValue","requests","_map","path","command","parameters","orchidAttributes","ytApiV3Id","executeBatch","YTApiId","operationIsEphemeral","then","data","_ref3","error","output","getNumberDeprecated","code","yt","codes","NODE_DOES_NOT_EXIST","res","_reduce","poolInfo","index","pool","isEphemeral","getBoolean","_defineProperty","Promise","all","loadIntermediateResourceUsage","operation","callback","dispatch","outputTransaction","type","LOAD_RESOURCE_USAGE","REQUEST","operationIntermediateResourceUsage","resources","SUCCESS","FAILURE","CANCELLED","getOperation","id","getState","isAlias","isOperationId","params","Object","assign","include_scheduler","output_format","TYPED_OUTPUT_FORMAT","operation_alias","operation_id","GET_OPERATION","ytApiV3","checkUserTransaction","_ref4","_ref5","preparedAttributes","prepareAttributes","DetailedOperationSelector","dispatchOperationSuccess","inIntermediateState","getJobsMonitoringDescriptors","_getState","operations","isFirstLoading","detail","loaded","add","name","autoHiding","title","content","message","actions","label","onClick","showErrorPopup","details"],"sources":["detail.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport _ from 'lodash';\nimport ypath from '../../../common/thor/ypath';\n\nimport {GET_OPERATION, LOAD_RESOURCE_USAGE} from '../../../constants/operations/detail';\nimport {DetailedOperationSelector} from '../../../pages/operations/selectors';\nimport {checkUserTransaction} from '../../../utils/operations/detail';\nimport {prepareAttributes} from '../../../utils';\nimport {showErrorPopup} from '../../../utils/utils';\nimport {isOperationId} from '../../../utils/operations/list';\nimport {TYPED_OUTPUT_FORMAT} from '../../../constants/index';\nimport {Toaster} from '@gravity-ui/uikit';\nimport CancelHelper from '../../../utils/cancel-helper';\nimport {YTApiId, ytApiV3, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {getJobsMonitoringDescriptors} from '../../../store/actions/operations/jobs-monitor';\n\nconst toaster = new Toaster();\nconst operationDetailsRequests = new CancelHelper();\n\nfunction getIsEphemeral([operationAttributes, userTransactionAlive]) {\n const treesInfo = ypath.get(\n operationAttributes,\n '/runtime_parameters/scheduling_options_per_pool_tree',\n );\n const trees = _.keys(treesInfo);\n const poolPaths = _.values(\n _.mapValues(\n treesInfo,\n (infoPerTree, tree) =>\n `${tree}/fair_share_info/pools/${ypath.getValue(\n infoPerTree,\n '/pool',\n )}/is_ephemeral`,\n ),\n );\n const requests = _.map(poolPaths, (path) => {\n return {\n command: 'get',\n parameters: {\n path: '//sys/scheduler/orchid/scheduler/pool_trees/' + path,\n },\n };\n });\n const orchidAttributes = ytApiV3Id\n .executeBatch(YTApiId.operationIsEphemeral, {requests})\n .then((data) => {\n return _.map(data, ({error, output}) => {\n if (error) {\n if (ypath.getNumberDeprecated(error.code) === yt.codes.NODE_DOES_NOT_EXIST) {\n return true;\n }\n return false;\n }\n return output;\n });\n })\n .then((res) => {\n return _.reduce(\n res,\n (res, poolInfo, index) => {\n const tree = trees[index];\n const pool = ypath.getValue(treesInfo[tree], '/pool');\n const isEphemeral = ypath.getBoolean(poolInfo);\n\n res[tree] = {\n [pool]: {isEphemeral},\n };\n\n return res;\n },\n {},\n );\n });\n\n return Promise.all([operationAttributes, userTransactionAlive, orchidAttributes]);\n}\n\nfunction loadIntermediateResourceUsage(operation, callback) {\n return (dispatch) => {\n const outputTransaction = ypath.get(operation, '/@output_transaction_id');\n\n if (outputTransaction && outputTransaction !== '0-0-0-0') {\n dispatch({type: LOAD_RESOURCE_USAGE.REQUEST});\n\n return ytApiV3Id\n .get(YTApiId.operationIntermediateResourceUsage, {\n path: '#' + outputTransaction + '/@resource_usage',\n })\n .then((resources) => {\n callback();\n dispatch({\n type: LOAD_RESOURCE_USAGE.SUCCESS,\n data: {resources},\n });\n })\n .catch(() => {\n callback();\n dispatch({type: LOAD_RESOURCE_USAGE.FAILURE});\n });\n } else {\n callback();\n dispatch({type: LOAD_RESOURCE_USAGE.CANCELLED});\n }\n };\n}\n\nexport function getOperation(id) {\n return (dispatch, getState) => {\n const isAlias = !isOperationId(id);\n\n const params = Object.assign(\n {\n include_scheduler: true,\n output_format: TYPED_OUTPUT_FORMAT,\n },\n isAlias ? {operation_alias: id} : {operation_id: id},\n );\n\n dispatch({type: GET_OPERATION.REQUEST, data: {isAlias, id}});\n\n return ytApiV3\n .getOperation(params, operationDetailsRequests)\n .then(checkUserTransaction)\n .then(getIsEphemeral)\n .then(([operationAttributes, userTransactionAlive, orchidAttributes]) => {\n const preparedAttributes = prepareAttributes(operationAttributes);\n const operation = new DetailedOperationSelector(\n preparedAttributes,\n operationAttributes,\n orchidAttributes,\n );\n\n const dispatchOperationSuccess = () => {\n dispatch({\n type: GET_OPERATION.SUCCESS,\n data: {operation, userTransactionAlive},\n });\n };\n\n if (operation.inIntermediateState()) {\n dispatch(loadIntermediateResourceUsage(operation, dispatchOperationSuccess));\n } else {\n dispatchOperationSuccess();\n }\n\n dispatch(getJobsMonitoringDescriptors(id));\n })\n .catch((error) => {\n const {operations} = getState();\n const isFirstLoading = !operations.detail.loaded;\n\n if (error.code !== yt.codes.CANCELLED) {\n if (!isFirstLoading) {\n toaster.add({\n name: 'get operation',\n autoHiding: false,\n type: 'error',\n title: 'Failed to load operation',\n content: error.message,\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n }\n\n dispatch({\n type: GET_OPERATION.FAILURE,\n data: {\n message: `Error occured when loading operation \"${id}\"`,\n details: error,\n },\n });\n }\n });\n };\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,aAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,YAAA,GAAAZ,OAAA;AAA2F,SAAAD,uBAAAc,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE3F,IAAMG,OAAO,GAAG,IAAIC,cAAO,CAAC,CAAC;AAC7B,IAAMC,wBAAwB,GAAG,IAAIC,qBAAY,CAAC,CAAC;AAEnD,SAASC,cAAcA,CAAAC,IAAA,EAA8C;EAAA,IAAAC,KAAA,OAAAC,uBAAA,EAAAF,IAAA;IAA5CG,mBAAmB,GAAAF,KAAA;IAAEG,oBAAoB,GAAAH,KAAA;EAC9D,IAAMI,SAAS,GAAGC,cAAK,CAACC,GAAG,CACvBJ,mBAAmB,EACnB,sDACJ,CAAC;EACD,IAAMK,KAAK,GAAG,IAAAC,cAAA,EAAOJ,SAAS,CAAC;EAC/B,IAAMK,SAAS,GAAG,IAAAC,gBAAA,EACd,IAAAC,mBAAA,EACIP,SAAS,EACT,UAACQ,WAAW,EAAEC,IAAI;IAAA,UAAAC,MAAA,CACXD,IAAI,6BAAAC,MAAA,CAA0BT,cAAK,CAACU,QAAQ,CAC3CH,WAAW,EACX,OACJ,CAAC;EAAA,CACT,CACJ,CAAC;EACD,IAAMI,QAAQ,GAAG,IAAAC,aAAA,EAAMR,SAAS,EAAE,UAACS,IAAI,EAAK;IACxC,OAAO;MACHC,OAAO,EAAE,KAAK;MACdC,UAAU,EAAE;QACRF,IAAI,EAAE,8CAA8C,GAAGA;MAC3D;IACJ,CAAC;EACL,CAAC,CAAC;EACF,IAAMG,gBAAgB,GAAGC,qBAAS,CAC7BC,YAAY,CAACC,mBAAO,CAACC,oBAAoB,EAAE;IAACT,QAAQ,EAARA;EAAQ,CAAC,CAAC,CACtDU,IAAI,CAAC,UAACC,IAAI,EAAK;IACZ,OAAO,IAAAV,aAAA,EAAMU,IAAI,EAAE,UAAAC,KAAA,EAAqB;MAAA,IAAnBC,KAAK,GAAAD,KAAA,CAALC,KAAK;QAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM;MAC9B,IAAID,KAAK,EAAE;QACP,IAAIxB,cAAK,CAAC0B,mBAAmB,CAACF,KAAK,CAACG,IAAI,CAAC,KAAKC,WAAE,CAACC,KAAK,CAACC,mBAAmB,EAAE;UACxE,OAAO,IAAI;QACf;QACA,OAAO,KAAK;MAChB;MACA,OAAOL,MAAM;IACjB,CAAC,CAAC;EACN,CAAC,CAAC,CACDJ,IAAI,CAAC,UAACU,GAAG,EAAK;IACX,OAAO,IAAAC,gBAAA,EACHD,GAAG,EACH,UAACA,GAAG,EAAEE,QAAQ,EAAEC,KAAK,EAAK;MACtB,IAAM1B,IAAI,GAAGN,KAAK,CAACgC,KAAK,CAAC;MACzB,IAAMC,IAAI,GAAGnC,cAAK,CAACU,QAAQ,CAACX,SAAS,CAACS,IAAI,CAAC,EAAE,OAAO,CAAC;MACrD,IAAM4B,WAAW,GAAGpC,cAAK,CAACqC,UAAU,CAACJ,QAAQ,CAAC;MAE9CF,GAAG,CAACvB,IAAI,CAAC,OAAA8B,wBAAA,MACJH,IAAI,EAAG;QAACC,WAAW,EAAXA;MAAW,CAAC,CACxB;MAED,OAAOL,GAAG;IACd,CAAC,EACD,CAAC,CACL,CAAC;EACL,CAAC,CAAC;EAEN,OAAOQ,OAAO,CAACC,GAAG,CAAC,CAAC3C,mBAAmB,EAAEC,oBAAoB,EAAEkB,gBAAgB,CAAC,CAAC;AACrF;AAEA,SAASyB,6BAA6BA,CAACC,SAAS,EAAEC,QAAQ,EAAE;EACxD,OAAO,UAACC,QAAQ,EAAK;IACjB,IAAMC,iBAAiB,GAAG7C,cAAK,CAACC,GAAG,CAACyC,SAAS,EAAE,yBAAyB,CAAC;IAEzE,IAAIG,iBAAiB,IAAIA,iBAAiB,KAAK,SAAS,EAAE;MACtDD,QAAQ,CAAC;QAACE,IAAI,EAAEC,2BAAmB,CAACC;MAAO,CAAC,CAAC;MAE7C,OAAO/B,qBAAS,CACXhB,GAAG,CAACkB,mBAAO,CAAC8B,kCAAkC,EAAE;QAC7CpC,IAAI,EAAE,GAAG,GAAGgC,iBAAiB,GAAG;MACpC,CAAC,CAAC,CACDxB,IAAI,CAAC,UAAC6B,SAAS,EAAK;QACjBP,QAAQ,CAAC,CAAC;QACVC,QAAQ,CAAC;UACLE,IAAI,EAAEC,2BAAmB,CAACI,OAAO;UACjC7B,IAAI,EAAE;YAAC4B,SAAS,EAATA;UAAS;QACpB,CAAC,CAAC;MACN,CAAC,CAAC,SACI,CAAC,YAAM;QACTP,QAAQ,CAAC,CAAC;QACVC,QAAQ,CAAC;UAACE,IAAI,EAAEC,2BAAmB,CAACK;QAAO,CAAC,CAAC;MACjD,CAAC,CAAC;IACV,CAAC,MAAM;MACHT,QAAQ,CAAC,CAAC;MACVC,QAAQ,CAAC;QAACE,IAAI,EAAEC,2BAAmB,CAACM;MAAS,CAAC,CAAC;IACnD;EACJ,CAAC;AACL;AAEO,SAASC,YAAYA,CAACC,EAAE,EAAE;EAC7B,OAAO,UAACX,QAAQ,EAAEY,QAAQ,EAAK;IAC3B,IAAMC,OAAO,GAAG,CAAC,IAAAC,mBAAa,EAACH,EAAE,CAAC;IAElC,IAAMI,MAAM,GAAGC,MAAM,CAACC,MAAM,CACxB;MACIC,iBAAiB,EAAE,IAAI;MACvBC,aAAa,EAAEC;IACnB,CAAC,EACDP,OAAO,GAAG;MAACQ,eAAe,EAAEV;IAAE,CAAC,GAAG;MAACW,YAAY,EAAEX;IAAE,CACvD,CAAC;IAEDX,QAAQ,CAAC;MAACE,IAAI,EAAEqB,qBAAa,CAACnB,OAAO;MAAE1B,IAAI,EAAE;QAACmC,OAAO,EAAPA,OAAO;QAAEF,EAAE,EAAFA;MAAE;IAAC,CAAC,CAAC;IAE5D,OAAOa,mBAAO,CACTd,YAAY,CAACK,MAAM,EAAEpE,wBAAwB,CAAC,CAC9C8B,IAAI,CAACgD,6BAAoB,CAAC,CAC1BhD,IAAI,CAAC5B,cAAc,CAAC,CACpB4B,IAAI,CAAC,UAAAiD,KAAA,EAAmE;MAAA,IAAAC,KAAA,OAAA3E,uBAAA,EAAA0E,KAAA;QAAjEzE,mBAAmB,GAAA0E,KAAA;QAAEzE,oBAAoB,GAAAyE,KAAA;QAAEvD,gBAAgB,GAAAuD,KAAA;MAC/D,IAAMC,kBAAkB,GAAG,IAAAC,wBAAiB,EAAC5E,mBAAmB,CAAC;MACjE,IAAM6C,SAAS,GAAG,IAAIgC,oCAAyB,CAC3CF,kBAAkB,EAClB3E,mBAAmB,EACnBmB,gBACJ,CAAC;MAED,IAAM2D,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAA,EAAS;QACnC/B,QAAQ,CAAC;UACLE,IAAI,EAAEqB,qBAAa,CAAChB,OAAO;UAC3B7B,IAAI,EAAE;YAACoB,SAAS,EAATA,SAAS;YAAE5C,oBAAoB,EAApBA;UAAoB;QAC1C,CAAC,CAAC;MACN,CAAC;MAED,IAAI4C,SAAS,CAACkC,mBAAmB,CAAC,CAAC,EAAE;QACjChC,QAAQ,CAACH,6BAA6B,CAACC,SAAS,EAAEiC,wBAAwB,CAAC,CAAC;MAChF,CAAC,MAAM;QACHA,wBAAwB,CAAC,CAAC;MAC9B;MAEA/B,QAAQ,CAAC,IAAAiC,yCAA4B,EAACtB,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,SACI,CAAC,UAAC/B,KAAK,EAAK;MACd,IAAAsD,SAAA,GAAqBtB,QAAQ,CAAC,CAAC;QAAxBuB,UAAU,GAAAD,SAAA,CAAVC,UAAU;MACjB,IAAMC,cAAc,GAAG,CAACD,UAAU,CAACE,MAAM,CAACC,MAAM;MAEhD,IAAI1D,KAAK,CAACG,IAAI,KAAKC,WAAE,CAACC,KAAK,CAACwB,SAAS,EAAE;QACnC,IAAI,CAAC2B,cAAc,EAAE;UACjB3F,OAAO,CAAC8F,GAAG,CAAC;YACRC,IAAI,EAAE,eAAe;YACrBC,UAAU,EAAE,KAAK;YACjBvC,IAAI,EAAE,OAAO;YACbwC,KAAK,EAAE,0BAA0B;YACjCC,OAAO,EAAE/D,KAAK,CAACgE,OAAO;YACtBC,OAAO,EAAE,CACL;cACIC,KAAK,EAAE,OAAO;cACdC,OAAO,EAAE,SAAAA,QAAA;gBAAA,OAAM,IAAAC,sBAAc,EAACpE,KAAK,CAAC;cAAA;YACxC,CAAC;UAET,CAAC,CAAC;QACN;QAEAoB,QAAQ,CAAC;UACLE,IAAI,EAAEqB,qBAAa,CAACf,OAAO;UAC3B9B,IAAI,EAAE;YACFkE,OAAO,4CAAA/E,MAAA,CAA2C8C,EAAE,OAAG;YACvDsC,OAAO,EAAErE;UACb;QACJ,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACV,CAAC;AACL"}
|
1
|
+
{"version":3,"names":["_yt","_interopRequireDefault","require","_ypath","_detail","_selectors","_detail2","_utils","_utils2","_list","_index","_uikit","_cancelHelper","_rumWrapApi","_jobsMonitor","obj","__esModule","default","toaster","Toaster","operationDetailsRequests","CancelHelper","getIsEphemeral","_ref","_ref2","_slicedToArray","operationAttributes","userTransactionAlive","treesInfo","ypath","get","trees","_keys","poolPaths","_values","_mapValues","infoPerTree","tree","concat","getValue","requests","_map","path","command","parameters","orchidAttributes","ytApiV3Id","executeBatch","YTApiId","operationIsEphemeral","then","data","_ref3","error","output","getNumberDeprecated","code","yt","codes","NODE_DOES_NOT_EXIST","res","_reduce","poolInfo","index","pool","isEphemeral","getBoolean","_defineProperty","Promise","all","loadIntermediateResourceUsage","operation","callback","dispatch","outputTransaction","type","LOAD_RESOURCE_USAGE","REQUEST","operationIntermediateResourceUsage","resources","SUCCESS","FAILURE","CANCELLED","getOperation","id","getState","isAlias","isOperationId","params","Object","assign","include_scheduler","output_format","TYPED_OUTPUT_FORMAT","operation_alias","operation_id","GET_OPERATION","ytApiV3","checkUserTransaction","_ref4","_ref5","preparedAttributes","prepareAttributes","DetailedOperationSelector","dispatchOperationSuccess","inIntermediateState","getJobsMonitoringDescriptors","_getState","operations","isFirstLoading","detail","loaded","add","name","autoHiding","title","content","message","actions","label","onClick","showErrorPopup","details"],"sources":["detail.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport _ from 'lodash';\nimport ypath from '../../../common/thor/ypath';\n\nimport {GET_OPERATION, LOAD_RESOURCE_USAGE} from '../../../constants/operations/detail';\nimport {DetailedOperationSelector} from '../../../pages/operations/selectors';\nimport {checkUserTransaction} from '../../../utils/operations/detail';\nimport {prepareAttributes} from '../../../utils';\nimport {showErrorPopup} from '../../../utils/utils';\nimport {isOperationId} from '../../../utils/operations/list';\nimport {TYPED_OUTPUT_FORMAT} from '../../../constants/index';\nimport {Toaster} from '@gravity-ui/uikit';\nimport CancelHelper from '../../../utils/cancel-helper';\nimport {YTApiId, ytApiV3, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {getJobsMonitoringDescriptors} from '../../../store/actions/operations/jobs-monitor';\n\nconst toaster = new Toaster();\nconst operationDetailsRequests = new CancelHelper();\n\nfunction getIsEphemeral([operationAttributes, userTransactionAlive]) {\n const treesInfo = ypath.get(\n operationAttributes,\n '/runtime_parameters/scheduling_options_per_pool_tree',\n );\n const trees = _.keys(treesInfo);\n const poolPaths = _.values(\n _.mapValues(\n treesInfo,\n (infoPerTree, tree) =>\n `${tree}/fair_share_info/pools/${ypath.getValue(\n infoPerTree,\n '/pool',\n )}/is_ephemeral`,\n ),\n );\n const requests = _.map(poolPaths, (path) => {\n return {\n command: 'get',\n parameters: {\n path: '//sys/scheduler/orchid/scheduler/scheduling_info_per_pool_tree/' + path,\n },\n };\n });\n const orchidAttributes = ytApiV3Id\n .executeBatch(YTApiId.operationIsEphemeral, {requests})\n .then((data) => {\n return _.map(data, ({error, output}) => {\n if (error) {\n if (ypath.getNumberDeprecated(error.code) === yt.codes.NODE_DOES_NOT_EXIST) {\n return true;\n }\n return false;\n }\n return output;\n });\n })\n .then((res) => {\n return _.reduce(\n res,\n (res, poolInfo, index) => {\n const tree = trees[index];\n const pool = ypath.getValue(treesInfo[tree], '/pool');\n const isEphemeral = ypath.getBoolean(poolInfo);\n\n res[tree] = {\n [pool]: {isEphemeral},\n };\n\n return res;\n },\n {},\n );\n });\n\n return Promise.all([operationAttributes, userTransactionAlive, orchidAttributes]);\n}\n\nfunction loadIntermediateResourceUsage(operation, callback) {\n return (dispatch) => {\n const outputTransaction = ypath.get(operation, '/@output_transaction_id');\n\n if (outputTransaction && outputTransaction !== '0-0-0-0') {\n dispatch({type: LOAD_RESOURCE_USAGE.REQUEST});\n\n return ytApiV3Id\n .get(YTApiId.operationIntermediateResourceUsage, {\n path: '#' + outputTransaction + '/@resource_usage',\n })\n .then((resources) => {\n callback();\n dispatch({\n type: LOAD_RESOURCE_USAGE.SUCCESS,\n data: {resources},\n });\n })\n .catch(() => {\n callback();\n dispatch({type: LOAD_RESOURCE_USAGE.FAILURE});\n });\n } else {\n callback();\n dispatch({type: LOAD_RESOURCE_USAGE.CANCELLED});\n }\n };\n}\n\nexport function getOperation(id) {\n return (dispatch, getState) => {\n const isAlias = !isOperationId(id);\n\n const params = Object.assign(\n {\n include_scheduler: true,\n output_format: TYPED_OUTPUT_FORMAT,\n },\n isAlias ? {operation_alias: id} : {operation_id: id},\n );\n\n dispatch({type: GET_OPERATION.REQUEST, data: {isAlias, id}});\n\n return ytApiV3\n .getOperation(params, operationDetailsRequests)\n .then(checkUserTransaction)\n .then(getIsEphemeral)\n .then(([operationAttributes, userTransactionAlive, orchidAttributes]) => {\n const preparedAttributes = prepareAttributes(operationAttributes);\n const operation = new DetailedOperationSelector(\n preparedAttributes,\n operationAttributes,\n orchidAttributes,\n );\n\n const dispatchOperationSuccess = () => {\n dispatch({\n type: GET_OPERATION.SUCCESS,\n data: {operation, userTransactionAlive},\n });\n };\n\n if (operation.inIntermediateState()) {\n dispatch(loadIntermediateResourceUsage(operation, dispatchOperationSuccess));\n } else {\n dispatchOperationSuccess();\n }\n\n dispatch(getJobsMonitoringDescriptors(id));\n })\n .catch((error) => {\n const {operations} = getState();\n const isFirstLoading = !operations.detail.loaded;\n\n if (error.code !== yt.codes.CANCELLED) {\n if (!isFirstLoading) {\n toaster.add({\n name: 'get operation',\n autoHiding: false,\n type: 'error',\n title: 'Failed to load operation',\n content: error.message,\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n }\n\n dispatch({\n type: GET_OPERATION.FAILURE,\n data: {\n message: `Error occured when loading operation \"${id}\"`,\n details: error,\n },\n });\n }\n });\n };\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,aAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,YAAA,GAAAZ,OAAA;AAA2F,SAAAD,uBAAAc,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE3F,IAAMG,OAAO,GAAG,IAAIC,cAAO,CAAC,CAAC;AAC7B,IAAMC,wBAAwB,GAAG,IAAIC,qBAAY,CAAC,CAAC;AAEnD,SAASC,cAAcA,CAAAC,IAAA,EAA8C;EAAA,IAAAC,KAAA,OAAAC,uBAAA,EAAAF,IAAA;IAA5CG,mBAAmB,GAAAF,KAAA;IAAEG,oBAAoB,GAAAH,KAAA;EAC9D,IAAMI,SAAS,GAAGC,cAAK,CAACC,GAAG,CACvBJ,mBAAmB,EACnB,sDACJ,CAAC;EACD,IAAMK,KAAK,GAAG,IAAAC,cAAA,EAAOJ,SAAS,CAAC;EAC/B,IAAMK,SAAS,GAAG,IAAAC,gBAAA,EACd,IAAAC,mBAAA,EACIP,SAAS,EACT,UAACQ,WAAW,EAAEC,IAAI;IAAA,UAAAC,MAAA,CACXD,IAAI,6BAAAC,MAAA,CAA0BT,cAAK,CAACU,QAAQ,CAC3CH,WAAW,EACX,OACJ,CAAC;EAAA,CACT,CACJ,CAAC;EACD,IAAMI,QAAQ,GAAG,IAAAC,aAAA,EAAMR,SAAS,EAAE,UAACS,IAAI,EAAK;IACxC,OAAO;MACHC,OAAO,EAAE,KAAK;MACdC,UAAU,EAAE;QACRF,IAAI,EAAE,iEAAiE,GAAGA;MAC9E;IACJ,CAAC;EACL,CAAC,CAAC;EACF,IAAMG,gBAAgB,GAAGC,qBAAS,CAC7BC,YAAY,CAACC,mBAAO,CAACC,oBAAoB,EAAE;IAACT,QAAQ,EAARA;EAAQ,CAAC,CAAC,CACtDU,IAAI,CAAC,UAACC,IAAI,EAAK;IACZ,OAAO,IAAAV,aAAA,EAAMU,IAAI,EAAE,UAAAC,KAAA,EAAqB;MAAA,IAAnBC,KAAK,GAAAD,KAAA,CAALC,KAAK;QAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM;MAC9B,IAAID,KAAK,EAAE;QACP,IAAIxB,cAAK,CAAC0B,mBAAmB,CAACF,KAAK,CAACG,IAAI,CAAC,KAAKC,WAAE,CAACC,KAAK,CAACC,mBAAmB,EAAE;UACxE,OAAO,IAAI;QACf;QACA,OAAO,KAAK;MAChB;MACA,OAAOL,MAAM;IACjB,CAAC,CAAC;EACN,CAAC,CAAC,CACDJ,IAAI,CAAC,UAACU,GAAG,EAAK;IACX,OAAO,IAAAC,gBAAA,EACHD,GAAG,EACH,UAACA,GAAG,EAAEE,QAAQ,EAAEC,KAAK,EAAK;MACtB,IAAM1B,IAAI,GAAGN,KAAK,CAACgC,KAAK,CAAC;MACzB,IAAMC,IAAI,GAAGnC,cAAK,CAACU,QAAQ,CAACX,SAAS,CAACS,IAAI,CAAC,EAAE,OAAO,CAAC;MACrD,IAAM4B,WAAW,GAAGpC,cAAK,CAACqC,UAAU,CAACJ,QAAQ,CAAC;MAE9CF,GAAG,CAACvB,IAAI,CAAC,OAAA8B,wBAAA,MACJH,IAAI,EAAG;QAACC,WAAW,EAAXA;MAAW,CAAC,CACxB;MAED,OAAOL,GAAG;IACd,CAAC,EACD,CAAC,CACL,CAAC;EACL,CAAC,CAAC;EAEN,OAAOQ,OAAO,CAACC,GAAG,CAAC,CAAC3C,mBAAmB,EAAEC,oBAAoB,EAAEkB,gBAAgB,CAAC,CAAC;AACrF;AAEA,SAASyB,6BAA6BA,CAACC,SAAS,EAAEC,QAAQ,EAAE;EACxD,OAAO,UAACC,QAAQ,EAAK;IACjB,IAAMC,iBAAiB,GAAG7C,cAAK,CAACC,GAAG,CAACyC,SAAS,EAAE,yBAAyB,CAAC;IAEzE,IAAIG,iBAAiB,IAAIA,iBAAiB,KAAK,SAAS,EAAE;MACtDD,QAAQ,CAAC;QAACE,IAAI,EAAEC,2BAAmB,CAACC;MAAO,CAAC,CAAC;MAE7C,OAAO/B,qBAAS,CACXhB,GAAG,CAACkB,mBAAO,CAAC8B,kCAAkC,EAAE;QAC7CpC,IAAI,EAAE,GAAG,GAAGgC,iBAAiB,GAAG;MACpC,CAAC,CAAC,CACDxB,IAAI,CAAC,UAAC6B,SAAS,EAAK;QACjBP,QAAQ,CAAC,CAAC;QACVC,QAAQ,CAAC;UACLE,IAAI,EAAEC,2BAAmB,CAACI,OAAO;UACjC7B,IAAI,EAAE;YAAC4B,SAAS,EAATA;UAAS;QACpB,CAAC,CAAC;MACN,CAAC,CAAC,SACI,CAAC,YAAM;QACTP,QAAQ,CAAC,CAAC;QACVC,QAAQ,CAAC;UAACE,IAAI,EAAEC,2BAAmB,CAACK;QAAO,CAAC,CAAC;MACjD,CAAC,CAAC;IACV,CAAC,MAAM;MACHT,QAAQ,CAAC,CAAC;MACVC,QAAQ,CAAC;QAACE,IAAI,EAAEC,2BAAmB,CAACM;MAAS,CAAC,CAAC;IACnD;EACJ,CAAC;AACL;AAEO,SAASC,YAAYA,CAACC,EAAE,EAAE;EAC7B,OAAO,UAACX,QAAQ,EAAEY,QAAQ,EAAK;IAC3B,IAAMC,OAAO,GAAG,CAAC,IAAAC,mBAAa,EAACH,EAAE,CAAC;IAElC,IAAMI,MAAM,GAAGC,MAAM,CAACC,MAAM,CACxB;MACIC,iBAAiB,EAAE,IAAI;MACvBC,aAAa,EAAEC;IACnB,CAAC,EACDP,OAAO,GAAG;MAACQ,eAAe,EAAEV;IAAE,CAAC,GAAG;MAACW,YAAY,EAAEX;IAAE,CACvD,CAAC;IAEDX,QAAQ,CAAC;MAACE,IAAI,EAAEqB,qBAAa,CAACnB,OAAO;MAAE1B,IAAI,EAAE;QAACmC,OAAO,EAAPA,OAAO;QAAEF,EAAE,EAAFA;MAAE;IAAC,CAAC,CAAC;IAE5D,OAAOa,mBAAO,CACTd,YAAY,CAACK,MAAM,EAAEpE,wBAAwB,CAAC,CAC9C8B,IAAI,CAACgD,6BAAoB,CAAC,CAC1BhD,IAAI,CAAC5B,cAAc,CAAC,CACpB4B,IAAI,CAAC,UAAAiD,KAAA,EAAmE;MAAA,IAAAC,KAAA,OAAA3E,uBAAA,EAAA0E,KAAA;QAAjEzE,mBAAmB,GAAA0E,KAAA;QAAEzE,oBAAoB,GAAAyE,KAAA;QAAEvD,gBAAgB,GAAAuD,KAAA;MAC/D,IAAMC,kBAAkB,GAAG,IAAAC,wBAAiB,EAAC5E,mBAAmB,CAAC;MACjE,IAAM6C,SAAS,GAAG,IAAIgC,oCAAyB,CAC3CF,kBAAkB,EAClB3E,mBAAmB,EACnBmB,gBACJ,CAAC;MAED,IAAM2D,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAA,EAAS;QACnC/B,QAAQ,CAAC;UACLE,IAAI,EAAEqB,qBAAa,CAAChB,OAAO;UAC3B7B,IAAI,EAAE;YAACoB,SAAS,EAATA,SAAS;YAAE5C,oBAAoB,EAApBA;UAAoB;QAC1C,CAAC,CAAC;MACN,CAAC;MAED,IAAI4C,SAAS,CAACkC,mBAAmB,CAAC,CAAC,EAAE;QACjChC,QAAQ,CAACH,6BAA6B,CAACC,SAAS,EAAEiC,wBAAwB,CAAC,CAAC;MAChF,CAAC,MAAM;QACHA,wBAAwB,CAAC,CAAC;MAC9B;MAEA/B,QAAQ,CAAC,IAAAiC,yCAA4B,EAACtB,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,SACI,CAAC,UAAC/B,KAAK,EAAK;MACd,IAAAsD,SAAA,GAAqBtB,QAAQ,CAAC,CAAC;QAAxBuB,UAAU,GAAAD,SAAA,CAAVC,UAAU;MACjB,IAAMC,cAAc,GAAG,CAACD,UAAU,CAACE,MAAM,CAACC,MAAM;MAEhD,IAAI1D,KAAK,CAACG,IAAI,KAAKC,WAAE,CAACC,KAAK,CAACwB,SAAS,EAAE;QACnC,IAAI,CAAC2B,cAAc,EAAE;UACjB3F,OAAO,CAAC8F,GAAG,CAAC;YACRC,IAAI,EAAE,eAAe;YACrBC,UAAU,EAAE,KAAK;YACjBvC,IAAI,EAAE,OAAO;YACbwC,KAAK,EAAE,0BAA0B;YACjCC,OAAO,EAAE/D,KAAK,CAACgE,OAAO;YACtBC,OAAO,EAAE,CACL;cACIC,KAAK,EAAE,OAAO;cACdC,OAAO,EAAE,SAAAA,QAAA;gBAAA,OAAM,IAAAC,sBAAc,EAACpE,KAAK,CAAC;cAAA;YACxC,CAAC;UAET,CAAC,CAAC;QACN;QAEAoB,QAAQ,CAAC;UACLE,IAAI,EAAEqB,qBAAa,CAACf,OAAO;UAC3B9B,IAAI,EAAE;YACFkE,OAAO,4CAAA/E,MAAA,CAA2C8C,EAAE,OAAG;YACvDsC,OAAO,EAAErE;UACb;QACJ,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACV,CAAC;AACL"}
|
@@ -102,7 +102,7 @@ function waitWhilePoolIsReady(_ref) {
|
|
102
102
|
return new Promise(function (resolve, reject) {
|
103
103
|
setTimeout(function () {
|
104
104
|
_yt.default.v3.exists({
|
105
|
-
path: "//sys/scheduler/orchid/scheduler/
|
105
|
+
path: "//sys/scheduler/orchid/scheduler/scheduling_info_per_pool_tree/".concat(tree, "/fair_share_info/pools/").concat(name)
|
106
106
|
}).then(function (res) {
|
107
107
|
if (res) {
|
108
108
|
return resolve(true);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_scheduling","_yt","_scheduling2","_utils","_schedulingTs","_global","_aclApi","_acl","_Link","_rumWrapApi","_config","_jsxRuntime","obj","__esModule","default","fetchCreatePoolDialogTreeItems","currentTree","dispatch","ytApiV3Id","get","YTApiId","getPoolTrees","path","concat","then","treeItems","type","CREATE_POOL_DIALOG_TREE_ITEMS_SUCCESS","data","createPool","values","getState","abcService","cluster","getCluster","wrapApiPromiseByToaster","yt","v3","create","attributes","Object","assign","name","parent_name","parent","undefined","pool_tree","tree","value","abc","prepareAbcService","toasterName","successContent","errorContent","timeout","updateAcl","idmKind","IdmObjectType","POOL","poolTree","responsible","waitWhilePoolIsReady","loadSchedulingData","error","code","codes","CANCELLED","CREATE_POOL_DIALOG_TREE_CREATE_FAILURE","Promise","reject","_createAdminReqTicket","createAdminReqTicketUrl","createUrl","url","queue","CHECK_REDINESS_TIMEOUT","MAX_POOL_REDINESS_TIMEOUT","TIMEOUT_ERROR","message","_jsxs","children","_Fragment","_jsx","Link","_ref","startedAt","arguments","length","startedTime","Date","now","diff","resolve","setTimeout","exists","res"],"sources":["create-pool-dialog.tsx"],"sourcesContent":["import React from 'react';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../reducers';\nimport {\n CreatePoolDialogAction,\n CreatePoolDialogState,\n} from '../../reducers/scheduling/create-pool-dialog';\nimport {\n CREATE_POOL_DIALOG_TREE_CREATE_FAILURE,\n CREATE_POOL_DIALOG_TREE_ITEMS_SUCCESS,\n} from '../../../constants/scheduling';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {prepareAbcService} from '../../../utils/scheduling';\nimport {wrapApiPromiseByToaster} from '../../../utils/utils';\nimport {loadSchedulingData} from './scheduling-ts';\nimport {FIX_MY_TYPE} from '../../../types';\nimport {getCluster} from '../../selectors/global';\nimport {updateAcl} from '../../../utils/acl/acl-api';\nimport {IdmObjectType} from '../../../constants/acl';\nimport Link from '../../../components/Link/Link';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {createAdminReqTicketUrl} from '../../../config';\n\ntype CreatePoolDialogThunkAction<R = any> = ThunkAction<\n R,\n RootState,\n unknown,\n CreatePoolDialogAction\n>;\n\nexport function fetchCreatePoolDialogTreeItems(currentTree: string): CreatePoolDialogThunkAction {\n return (dispatch) => {\n return ytApiV3Id\n .get(YTApiId.getPoolTrees, {path: `//sys/pool_trees/${currentTree}`})\n .then((treeItems: CreatePoolDialogState['treeItems']) => {\n dispatch({\n type: CREATE_POOL_DIALOG_TREE_ITEMS_SUCCESS,\n data: {currentTree, treeItems},\n });\n });\n };\n}\n\nexport function createPool(values: FIX_MY_TYPE): CreatePoolDialogThunkAction {\n return (dispatch, getState) => {\n const {abcService} = values;\n const cluster = getCluster(getState()) as string;\n\n return wrapApiPromiseByToaster(\n yt.v3.create({\n type: 'scheduler_pool',\n attributes: Object.assign(\n {\n name: values.name,\n parent_name: values.parent || undefined,\n pool_tree: values.tree,\n },\n !abcService || !abcService.value\n ? {}\n : {\n abc: prepareAbcService(abcService),\n },\n ),\n }),\n {\n toasterName: `create_${values.name}`,\n successContent: `Successfully created ${values.name}. Please wait.`,\n errorContent: `'${values.name}' pool creation failed`,\n timeout: 10000,\n },\n )\n .then(() => {\n updateAcl(cluster, values.name, {\n idmKind: IdmObjectType.POOL,\n poolTree: values.tree,\n responsible: values.responsible,\n });\n\n return waitWhilePoolIsReady(values).then(() => {\n dispatch(loadSchedulingData());\n });\n })\n .catch((error) => {\n if (error?.code === yt.codes.CANCELLED) {\n return;\n }\n\n dispatch({\n type: CREATE_POOL_DIALOG_TREE_CREATE_FAILURE,\n data: error,\n });\n\n return Promise.reject(error);\n });\n };\n}\n\nconst {url: createUrl, queue} = createAdminReqTicketUrl();\n\nconst CHECK_REDINESS_TIMEOUT = 1500;\nconst MAX_POOL_REDINESS_TIMEOUT = 10 * 1000; // the value is provided by @renadeen\nconst TIMEOUT_ERROR = {\n message: (\n <div>\n The pool was not appeared in orchidea in 10 seconds.\n {createUrl ? (\n <>\n Please fill a ticket for <Link url={createUrl}>{queue}</Link>\n </>\n ) : (\n \"Please report it to the cluster's support team.\"\n )}\n .\n </div>\n ),\n};\n\nfunction waitWhilePoolIsReady({name, tree}: {name: string; tree: string}, startedAt = 0) {\n const startedTime = startedAt || Date.now();\n const diff = Date.now() - startedTime;\n if (diff > MAX_POOL_REDINESS_TIMEOUT) {\n return Promise.resolve();\n }\n\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n yt.v3\n .exists({\n path: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/pools/${name}`,\n })\n .then((res: boolean) => {\n if (res) {\n return resolve(true);\n } else {\n return resolve(waitWhilePoolIsReady({name, tree}, startedTime));\n }\n })\n .catch((error: unknown) => {\n if (error !== TIMEOUT_ERROR) {\n return resolve(waitWhilePoolIsReady({name, tree}, startedTime));\n }\n\n return reject(error);\n });\n }, CHECK_REDINESS_TIMEOUT);\n });\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_scheduling","_yt","_scheduling2","_utils","_schedulingTs","_global","_aclApi","_acl","_Link","_rumWrapApi","_config","_jsxRuntime","obj","__esModule","default","fetchCreatePoolDialogTreeItems","currentTree","dispatch","ytApiV3Id","get","YTApiId","getPoolTrees","path","concat","then","treeItems","type","CREATE_POOL_DIALOG_TREE_ITEMS_SUCCESS","data","createPool","values","getState","abcService","cluster","getCluster","wrapApiPromiseByToaster","yt","v3","create","attributes","Object","assign","name","parent_name","parent","undefined","pool_tree","tree","value","abc","prepareAbcService","toasterName","successContent","errorContent","timeout","updateAcl","idmKind","IdmObjectType","POOL","poolTree","responsible","waitWhilePoolIsReady","loadSchedulingData","error","code","codes","CANCELLED","CREATE_POOL_DIALOG_TREE_CREATE_FAILURE","Promise","reject","_createAdminReqTicket","createAdminReqTicketUrl","createUrl","url","queue","CHECK_REDINESS_TIMEOUT","MAX_POOL_REDINESS_TIMEOUT","TIMEOUT_ERROR","message","_jsxs","children","_Fragment","_jsx","Link","_ref","startedAt","arguments","length","startedTime","Date","now","diff","resolve","setTimeout","exists","res"],"sources":["create-pool-dialog.tsx"],"sourcesContent":["import React from 'react';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../reducers';\nimport {\n CreatePoolDialogAction,\n CreatePoolDialogState,\n} from '../../reducers/scheduling/create-pool-dialog';\nimport {\n CREATE_POOL_DIALOG_TREE_CREATE_FAILURE,\n CREATE_POOL_DIALOG_TREE_ITEMS_SUCCESS,\n} from '../../../constants/scheduling';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {prepareAbcService} from '../../../utils/scheduling';\nimport {wrapApiPromiseByToaster} from '../../../utils/utils';\nimport {loadSchedulingData} from './scheduling-ts';\nimport {FIX_MY_TYPE} from '../../../types';\nimport {getCluster} from '../../selectors/global';\nimport {updateAcl} from '../../../utils/acl/acl-api';\nimport {IdmObjectType} from '../../../constants/acl';\nimport Link from '../../../components/Link/Link';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {createAdminReqTicketUrl} from '../../../config';\n\ntype CreatePoolDialogThunkAction<R = any> = ThunkAction<\n R,\n RootState,\n unknown,\n CreatePoolDialogAction\n>;\n\nexport function fetchCreatePoolDialogTreeItems(currentTree: string): CreatePoolDialogThunkAction {\n return (dispatch) => {\n return ytApiV3Id\n .get(YTApiId.getPoolTrees, {path: `//sys/pool_trees/${currentTree}`})\n .then((treeItems: CreatePoolDialogState['treeItems']) => {\n dispatch({\n type: CREATE_POOL_DIALOG_TREE_ITEMS_SUCCESS,\n data: {currentTree, treeItems},\n });\n });\n };\n}\n\nexport function createPool(values: FIX_MY_TYPE): CreatePoolDialogThunkAction {\n return (dispatch, getState) => {\n const {abcService} = values;\n const cluster = getCluster(getState()) as string;\n\n return wrapApiPromiseByToaster(\n yt.v3.create({\n type: 'scheduler_pool',\n attributes: Object.assign(\n {\n name: values.name,\n parent_name: values.parent || undefined,\n pool_tree: values.tree,\n },\n !abcService || !abcService.value\n ? {}\n : {\n abc: prepareAbcService(abcService),\n },\n ),\n }),\n {\n toasterName: `create_${values.name}`,\n successContent: `Successfully created ${values.name}. Please wait.`,\n errorContent: `'${values.name}' pool creation failed`,\n timeout: 10000,\n },\n )\n .then(() => {\n updateAcl(cluster, values.name, {\n idmKind: IdmObjectType.POOL,\n poolTree: values.tree,\n responsible: values.responsible,\n });\n\n return waitWhilePoolIsReady(values).then(() => {\n dispatch(loadSchedulingData());\n });\n })\n .catch((error) => {\n if (error?.code === yt.codes.CANCELLED) {\n return;\n }\n\n dispatch({\n type: CREATE_POOL_DIALOG_TREE_CREATE_FAILURE,\n data: error,\n });\n\n return Promise.reject(error);\n });\n };\n}\n\nconst {url: createUrl, queue} = createAdminReqTicketUrl();\n\nconst CHECK_REDINESS_TIMEOUT = 1500;\nconst MAX_POOL_REDINESS_TIMEOUT = 10 * 1000; // the value is provided by @renadeen\nconst TIMEOUT_ERROR = {\n message: (\n <div>\n The pool was not appeared in orchidea in 10 seconds.\n {createUrl ? (\n <>\n Please fill a ticket for <Link url={createUrl}>{queue}</Link>\n </>\n ) : (\n \"Please report it to the cluster's support team.\"\n )}\n .\n </div>\n ),\n};\n\nfunction waitWhilePoolIsReady({name, tree}: {name: string; tree: string}, startedAt = 0) {\n const startedTime = startedAt || Date.now();\n const diff = Date.now() - startedTime;\n if (diff > MAX_POOL_REDINESS_TIMEOUT) {\n return Promise.resolve();\n }\n\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n yt.v3\n .exists({\n path: `//sys/scheduler/orchid/scheduler/scheduling_info_per_pool_tree/${tree}/fair_share_info/pools/${name}`,\n })\n .then((res: boolean) => {\n if (res) {\n return resolve(true);\n } else {\n return resolve(waitWhilePoolIsReady({name, tree}, startedTime));\n }\n })\n .catch((error: unknown) => {\n if (error !== TIMEOUT_ERROR) {\n return resolve(waitWhilePoolIsReady({name, tree}, startedTime));\n }\n\n return reject(error);\n });\n }, CHECK_REDINESS_TIMEOUT);\n });\n}\n"],"mappings":"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"}
|
@@ -112,7 +112,7 @@ function loadExpandedOperationsAndPools(tree) {
|
|
112
112
|
var operationsExpandedPools = (0, _toConsumableArray2.default)(expandedPoolNames);
|
113
113
|
var operationsRequests = [];
|
114
114
|
if (loadAll) {
|
115
|
-
operationsRequests.push((0, _batch.makeGet)("//sys/scheduler/orchid/scheduler/
|
115
|
+
operationsRequests.push((0, _batch.makeGet)("//sys/scheduler/orchid/scheduler/scheduling_info_per_pool_tree/".concat(tree, "/fair_share_info/operations")));
|
116
116
|
} else {
|
117
117
|
var prefix = "//sys/scheduler/orchid/scheduler/pool_trees/".concat(tree, "/operations_by_pool");
|
118
118
|
operationsExpandedPools.forEach(function (item) {
|
@@ -341,7 +341,7 @@ function getPoolPathsByName(poolName) {
|
|
341
341
|
var tree = (0, _scheduling2.getTree)(state);
|
342
342
|
return {
|
343
343
|
fullPath: (0, _scheduling2.calculatePoolPath)(poolName, pools, tree),
|
344
|
-
orchidPath: "//sys/scheduler/orchid/scheduler/
|
344
|
+
orchidPath: "//sys/scheduler/orchid/scheduler/scheduling_info_per_pool_tree/".concat(tree, "/fair_share_info/pools/").concat(poolName)
|
345
345
|
};
|
346
346
|
};
|
347
347
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_uikit","require","_rumWrapApi","_utils","_batch","_scheduling","_scheduling2","_expandedPools","_empty","_schedulingPools","_support","_cancelHelper","_interopRequireWildcard","_scheduling3","_uiError","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_interopRequireDefault","obj","cancelHelper","CancelHelper","POOL_FIELDS_TO_LOAD","POOL_TREE_GET_ATTRS","EmptyFullPath","_Error","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","_wrapNativeSuper","Error","loadExpandedPools","tree","dispatch","getState","pool","getPool","undefined","ROOT_POOL_NAME","loadExpandedOperationsAndPools","ytApiV3Id","executeBatch","YTApiId","schedulingPoolFullPath","requests","command","parameters","path","concat","fields","then","_ref","_ref2","_slicedToArray","output","_ref3","full_path","is_ephemeral","addFullPathToExpandedPoolsNoLoad","type","CHANGE_POOL","data","Toaster","add","name","title","_getSchedulingOperati","state","loadAll","getExpandedPoolsLoadAll","expandedPools","Map","getSchedulingOperationsExpandedPools","expandedPoolNames","_toConsumableArray","keys","operationsExpandedPools","operationsRequests","push","makeGet","prefix","forEach","item","loadAllPools","isSupportedSchedulingChildrenByPool","poolsRequests","poolsChildrenRequests","poolsCypressDataRequests","poolsExpandedPools","indexOf","attributes","_expandedPools$get","_ref4","parentPoolPath","isEphemeral","cypressDataPath","makeList","removeAllRequests","SCHEDULING_EXPANDED_POOLS_REQUEST","Promise","all","length","schedulingLoadOperationsPerPool","cancellation","saveCancelToken","resolve","schedulingLoadPoolsAll","schedulingLoadPoolsPerPool","schedulingLoadChildrenPerPool","schedulingLoadCypressDataPerPool","_ref5","_error$inner_errors","_ref6","operationsResults","poolsResults","poolsChildrenResults","poolsCypressData","error","UIBatchError","_splitBatchResults","splitBatchResults","operations","results","rawOperations","_reduce","acc","assign","rawPools","cypressData","_splitBatchResults2","pools","_ref7","_ref8","_ref8$","value","_splitBatchResults3","_splitBatchResults3$r","flattenAttributes","_splitBatchResults4","_pools","resultIndices","poolInfo","index","_splitBatchResults5","poolChildren","children","_splitBatchResults6","cypressDataChildrenPerPool","poolChildrenCypressData","$value","SCHEDULING_EXPANDED_POOLS_SUCCESS","expandedPoolsTree","EMPTY_OBJECT","flattenCypressData","inner_errors","isCancelled","SCHEDULING_EXPANDED_POOLS_FAILURE","setExpandedPool","poolName","expanded","getTree","poolsByName","getSchedulingPoolsMapByName","treeExpandedPools","expandedPoolInfo","calcExpandedPoolInfo","updateExpandedPoolNoLoad","fullPath","oldExpandedPools","parts","split","slice","join","_objectSpread","_defineProperty","SCHEDULING_EXPANDED_POOLS_PARTITION","resetExpandedPools","_getSchedulingOperati2","old","rest","_objectWithoutProperties","map","_toPropertyKey","size","getSchedulingOperationsCount","_dispatch","root","operationCount","getPoolPathsByName","getPools","calculatePoolPath","orchidPath","setLoadAllOperations","_data","res","_data2","parent"],"sources":["expanded-pools.tsx"],"sourcesContent":["import {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../reducers';\nimport _ from 'lodash';\n\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport {\n ExpandedPoolInfo,\n ExpandedPoolsAction,\n PoolCypressData,\n} from '../../reducers/scheduling/expanded-pools';\n\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {splitBatchResults} from '../../../utils/utils';\nimport {makeGet, makeList} from '../../../utils/batch';\nimport {\n CHANGE_POOL,\n ROOT_POOL_NAME,\n SCHEDULING_EXPANDED_POOLS_FAILURE,\n SCHEDULING_EXPANDED_POOLS_PARTITION,\n SCHEDULING_EXPANDED_POOLS_REQUEST,\n SCHEDULING_EXPANDED_POOLS_SUCCESS,\n} from '../../../constants/scheduling';\nimport {calculatePoolPath, getPool, getPools, getTree} from '../../selectors/scheduling/scheduling';\nimport {\n getExpandedPoolsLoadAll,\n getSchedulingOperationsExpandedPools,\n} from '../../selectors/scheduling/expanded-pools';\nimport {EMPTY_OBJECT} from '../../../constants/empty';\nimport {PoolInfo, getSchedulingPoolsMapByName} from '../../selectors/scheduling/scheduling-pools';\nimport {BatchSubRequest} from '../../../../shared/yt-types';\nimport {SchedulingAction} from '../../../store/reducers/scheduling/scheduling';\nimport {isSupportedSchedulingChildrenByPool} from '../../../store/selectors/thor/support';\nimport CancelHelper, {isCancelled} from '../../../utils/cancel-helper';\nimport {flattenAttributes} from '../../../utils/scheduling/scheduling';\nimport {UIBatchError} from '../../../utils/errors/ui-error';\n\ntype ExpandedPoolsThunkAction = ThunkAction<\n any,\n RootState,\n any,\n ExpandedPoolsAction | SchedulingAction\n>;\n\nconst cancelHelper = new CancelHelper();\n\nconst POOL_FIELDS_TO_LOAD = [\n 'accumulated_resource_ratio_volume',\n 'accumulated_resource_volume',\n 'demand_ratio',\n 'detailed_fair_share',\n 'dominant_resource',\n 'estimated_burst_usage_duration_sec',\n 'fair_share_ratio',\n 'fifo_index',\n 'fifo_sort_parameters',\n 'integral_guarantee_type',\n 'is_ephemeral',\n 'max_operation_count',\n 'max_running_operation_count',\n 'max_share_ratio',\n 'min_share_ratio',\n 'mode',\n 'operation_count',\n 'parent',\n 'pool_operation_count',\n 'child_pool_count',\n 'resource_demand',\n 'resource_limits',\n 'resource_usage',\n 'promised_fair_share_resources',\n 'running_operation_count',\n 'specified_burst_guarantee_resources',\n 'specified_resource_flow',\n 'starvation_status',\n 'starving',\n 'strong_guarantee_resources',\n 'usage_ratio',\n 'weight',\n 'abc',\n];\n\nconst POOL_TREE_GET_ATTRS = [\n 'integral_guarantees',\n 'weight',\n 'max_operation_count',\n 'max_running_operation_count',\n 'strong_guarantee_resources',\n 'resource_limits',\n 'forbid_immediate_operations',\n 'create_ephemeral_subpools',\n 'fifo_sort_parameters',\n 'config',\n 'folder_id',\n];\n\nclass EmptyFullPath extends Error {}\n\nexport function loadExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const pool = getPool(getState());\n\n if (!tree) {\n return undefined;\n }\n\n if (pool === ROOT_POOL_NAME) {\n return dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n return ytApiV3Id\n .executeBatch<{full_path: string; is_ephemeral?: boolean}>(\n YTApiId.schedulingPoolFullPath,\n {\n requests: [\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`,\n fields: ['is_ephemeral', 'full_path'],\n },\n },\n ],\n },\n )\n .then(([{output}]) => {\n const {full_path, is_ephemeral} = output ?? {};\n if (!full_path) {\n throw new EmptyFullPath();\n } else {\n dispatch(addFullPathToExpandedPoolsNoLoad(tree, full_path, is_ephemeral));\n dispatch(loadExpandedOperationsAndPools(tree));\n }\n })\n .catch((e) => {\n if (e instanceof EmptyFullPath) {\n dispatch({type: CHANGE_POOL, data: {pool: ROOT_POOL_NAME}});\n /**\n * We don't need to call `dispatch(loadExpandedOperationsAndPools(tree))` after `CHANGE_POOL`.\n * The call will be triggered by SchedulingExpandedPoolsUpdater.\n */\n // dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n new Toaster().add({\n name: 'schedulingPoolFullPath',\n type: 'error',\n title: '',\n });\n }\n });\n }\n };\n}\n\nfunction loadExpandedOperationsAndPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n\n const loadAll = getExpandedPoolsLoadAll(state);\n const expandedPools: Map<string, ExpandedPoolInfo> = loadAll\n ? new Map()\n : getSchedulingOperationsExpandedPools(state)[tree] ?? new Map();\n const expandedPoolNames: Array<string> = [...expandedPools.keys()];\n\n const operationsExpandedPools: Array<string> = [...expandedPoolNames];\n\n const operationsRequests: Array<BatchSubRequest> = [];\n if (loadAll) {\n operationsRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/operations`,\n ),\n );\n } else {\n const prefix = `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/operations_by_pool`;\n operationsExpandedPools.forEach((item) => {\n operationsRequests.push(makeGet(`${prefix}/${item}`));\n });\n }\n\n const loadAllPools = loadAll || !isSupportedSchedulingChildrenByPool(state);\n const poolsRequests: Array<BatchSubRequest> = [];\n const poolsChildrenRequests: Array<BatchSubRequest> = [];\n const poolsCypressDataRequests: Array<BatchSubRequest> = [];\n\n const poolsExpandedPools: Array<string> =\n -1 !== expandedPoolNames.indexOf(ROOT_POOL_NAME)\n ? expandedPoolNames\n : [ROOT_POOL_NAME, ...expandedPoolNames];\n\n if (loadAllPools) {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsCypressDataRequests.push(\n makeGet(`//sys/pool_trees/${tree}`, {attributes: POOL_TREE_GET_ATTRS}),\n );\n } else {\n poolsExpandedPools.forEach((pool) => {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsChildrenRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/child_pools_by_pool/${pool}`,\n {\n fields: POOL_FIELDS_TO_LOAD,\n },\n ),\n );\n const {parentPoolPath, isEphemeral} = expandedPools.get(pool) ?? {};\n const cypressDataPath = parentPoolPath\n ? `//sys/pool_trees/${tree}/${parentPoolPath}/${pool}`\n : `//sys/pool_trees/${tree}/${pool}`;\n if (pool === ROOT_POOL_NAME || !isEphemeral) {\n poolsCypressDataRequests.push(\n makeList(\n pool === ROOT_POOL_NAME ? `//sys/pool_trees/${tree}` : cypressDataPath,\n {\n attributes: POOL_TREE_GET_ATTRS,\n },\n ),\n );\n }\n });\n }\n\n cancelHelper.removeAllRequests();\n\n dispatch({type: SCHEDULING_EXPANDED_POOLS_REQUEST});\n return Promise.all([\n operationsRequests.length\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadOperationsPerPool, {\n parameters: {requests: operationsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : Promise.resolve([]),\n loadAllPools\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsAll, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsPerPool, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n loadAllPools\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadChildrenPerPool, {\n parameters: {requests: poolsChildrenRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n !poolsCypressDataRequests.length\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadCypressDataPerPool, {\n parameters: {requests: poolsCypressDataRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n ])\n .then(([operationsResults, poolsResults, poolsChildrenResults, poolsCypressData]) => {\n const error = new UIBatchError('Failed to load expanded pools');\n const {results: operations} = splitBatchResults(operationsResults, error);\n const rawOperations = _.reduce(\n operations,\n (acc, data) => {\n return Object.assign(acc, data);\n },\n {},\n );\n\n const rawPools: Record<string, PoolInfo> = {};\n const cypressData: Record<string, PoolCypressData> = {};\n\n if (loadAllPools) {\n const {results: pools} = splitBatchResults<Record<string, PoolInfo>>(\n poolsResults,\n error,\n );\n const [value = {}] = pools ?? [];\n Object.assign(rawPools, value);\n\n const {\n results: [data],\n } = splitBatchResults(poolsCypressData, error);\n Object.assign(cypressData, flattenAttributes(data));\n } else {\n const {results: pools, resultIndices} = splitBatchResults<PoolInfo>(\n poolsResults,\n error,\n );\n pools.forEach((poolInfo, index) => {\n const name = poolsExpandedPools[resultIndices[index]];\n rawPools[name] = poolInfo;\n });\n\n const {results: poolChildren} = splitBatchResults<Record<string, PoolInfo>>(\n poolsChildrenResults,\n error,\n );\n poolChildren.forEach((children) => {\n Object.assign(rawPools, children);\n });\n\n const {results: cypressDataChildrenPerPool} = splitBatchResults<\n Array<PoolCypressData>\n >(poolsCypressData, error);\n cypressDataChildrenPerPool.forEach((poolChildrenCypressData) => {\n poolChildrenCypressData.forEach((item) => {\n cypressData[item.$value] = item;\n });\n });\n }\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_SUCCESS,\n data: {\n expandedPoolsTree: tree,\n rawOperations: Object.keys(rawOperations).length\n ? rawOperations\n : EMPTY_OBJECT,\n rawPools: Object.keys(rawPools).length ? rawPools : EMPTY_OBJECT,\n flattenCypressData: Object.keys(cypressData).length\n ? cypressData\n : EMPTY_OBJECT,\n },\n });\n\n if (error.inner_errors?.length) {\n throw error;\n }\n })\n .catch((error) => {\n if (!isCancelled(error)) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function setExpandedPool(poolName: string, expanded: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const tree = getTree(getState());\n const expandedPools = getSchedulingOperationsExpandedPools(state);\n\n const poolsByName = getSchedulingPoolsMapByName(state);\n\n const treeExpandedPools = new Map(expandedPools[tree]);\n if (expanded) {\n const expandedPoolInfo = calcExpandedPoolInfo(poolName, poolsByName);\n treeExpandedPools.set(poolName, expandedPoolInfo);\n } else {\n treeExpandedPools.delete(poolName);\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction addFullPathToExpandedPoolsNoLoad(\n tree: string,\n /**\n * elements of the array should have the same format as `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}/full_path`\n */\n fullPath: string,\n isEphemeral?: boolean,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const oldExpandedPools = getSchedulingOperationsExpandedPools(state);\n const treeExpandedPools = new Map(oldExpandedPools[tree]);\n\n /**\n * `fullPath` value starts from `/`, example: `/mypool/child/subchild`\n * so we have to use `.slice(1)` to remove first empty string\n */\n const parts = fullPath.split('/').slice(1);\n\n for (let i = 0; i < parts.length; ++i) {\n const poolName = parts[i];\n const parentPoolPath = parts.slice(0, i).join('/');\n treeExpandedPools.set(poolName, {parentPoolPath, isEphemeral});\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n };\n}\n\nfunction updateExpandedPoolNoLoad(\n tree: string,\n treeExpandedPools: Map<string, ExpandedPoolInfo>,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const oldExpandedPools = getSchedulingOperationsExpandedPools(getState());\n\n const expandedPools = {\n ...oldExpandedPools,\n [tree]: treeExpandedPools,\n };\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {expandedPools},\n });\n };\n}\n\nexport function resetExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n if (!tree) {\n return;\n }\n\n const state = getState();\n const {[tree]: old, ...rest} = getSchedulingOperationsExpandedPools(state);\n\n if (old?.size) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {\n expandedPools: {\n ...rest,\n [tree]: new Map<string, ExpandedPoolInfo>(),\n },\n },\n });\n }\n };\n}\n\nexport function getSchedulingOperationsCount(): ThunkAction<number, RootState, any, any> {\n return (_dispatch, getState) => {\n const state = getState();\n\n const tree = getSchedulingPoolsMapByName(state);\n const root = tree[ROOT_POOL_NAME];\n return root?.operationCount || 0;\n };\n}\n\nexport function getPoolPathsByName(\n poolName: string,\n): ThunkAction<{fullPath: string; orchidPath: string}, RootState, unknown, any> {\n return (_dispatch, getState) => {\n const state = getState();\n const pools = getPools(state);\n const tree = getTree(state);\n\n return {\n fullPath: calculatePoolPath(poolName, pools, tree),\n orchidPath: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/pools/${poolName}`,\n };\n };\n}\n\nexport function setLoadAllOperations(loadAll: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {loadAll},\n });\n\n const tree = getTree(state);\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction calcExpandedPoolInfo(\n poolName: string,\n poolsByName: Record<string, PoolInfo>,\n): ExpandedPoolInfo {\n let data = poolsByName[poolName];\n const isEphemeral = data?.isEphemeral;\n let res = '';\n while (data?.parent && data.parent !== ROOT_POOL_NAME) {\n res = res ? `${data.parent}/${res}` : data.parent;\n data = poolsByName[data.parent];\n }\n return {parentPoolPath: res, isEphemeral};\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_uikit","require","_rumWrapApi","_utils","_batch","_scheduling","_scheduling2","_expandedPools","_empty","_schedulingPools","_support","_cancelHelper","_interopRequireWildcard","_scheduling3","_uiError","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_interopRequireDefault","obj","cancelHelper","CancelHelper","POOL_FIELDS_TO_LOAD","POOL_TREE_GET_ATTRS","EmptyFullPath","_Error","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","_wrapNativeSuper","Error","loadExpandedPools","tree","dispatch","getState","pool","getPool","undefined","ROOT_POOL_NAME","loadExpandedOperationsAndPools","ytApiV3Id","executeBatch","YTApiId","schedulingPoolFullPath","requests","command","parameters","path","concat","fields","then","_ref","_ref2","_slicedToArray","output","_ref3","full_path","is_ephemeral","addFullPathToExpandedPoolsNoLoad","type","CHANGE_POOL","data","Toaster","add","name","title","_getSchedulingOperati","state","loadAll","getExpandedPoolsLoadAll","expandedPools","Map","getSchedulingOperationsExpandedPools","expandedPoolNames","_toConsumableArray","keys","operationsExpandedPools","operationsRequests","push","makeGet","prefix","forEach","item","loadAllPools","isSupportedSchedulingChildrenByPool","poolsRequests","poolsChildrenRequests","poolsCypressDataRequests","poolsExpandedPools","indexOf","attributes","_expandedPools$get","_ref4","parentPoolPath","isEphemeral","cypressDataPath","makeList","removeAllRequests","SCHEDULING_EXPANDED_POOLS_REQUEST","Promise","all","length","schedulingLoadOperationsPerPool","cancellation","saveCancelToken","resolve","schedulingLoadPoolsAll","schedulingLoadPoolsPerPool","schedulingLoadChildrenPerPool","schedulingLoadCypressDataPerPool","_ref5","_error$inner_errors","_ref6","operationsResults","poolsResults","poolsChildrenResults","poolsCypressData","error","UIBatchError","_splitBatchResults","splitBatchResults","operations","results","rawOperations","_reduce","acc","assign","rawPools","cypressData","_splitBatchResults2","pools","_ref7","_ref8","_ref8$","value","_splitBatchResults3","_splitBatchResults3$r","flattenAttributes","_splitBatchResults4","_pools","resultIndices","poolInfo","index","_splitBatchResults5","poolChildren","children","_splitBatchResults6","cypressDataChildrenPerPool","poolChildrenCypressData","$value","SCHEDULING_EXPANDED_POOLS_SUCCESS","expandedPoolsTree","EMPTY_OBJECT","flattenCypressData","inner_errors","isCancelled","SCHEDULING_EXPANDED_POOLS_FAILURE","setExpandedPool","poolName","expanded","getTree","poolsByName","getSchedulingPoolsMapByName","treeExpandedPools","expandedPoolInfo","calcExpandedPoolInfo","updateExpandedPoolNoLoad","fullPath","oldExpandedPools","parts","split","slice","join","_objectSpread","_defineProperty","SCHEDULING_EXPANDED_POOLS_PARTITION","resetExpandedPools","_getSchedulingOperati2","old","rest","_objectWithoutProperties","map","_toPropertyKey","size","getSchedulingOperationsCount","_dispatch","root","operationCount","getPoolPathsByName","getPools","calculatePoolPath","orchidPath","setLoadAllOperations","_data","res","_data2","parent"],"sources":["expanded-pools.tsx"],"sourcesContent":["import {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../reducers';\nimport _ from 'lodash';\n\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport {\n ExpandedPoolInfo,\n ExpandedPoolsAction,\n PoolCypressData,\n} from '../../reducers/scheduling/expanded-pools';\n\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {splitBatchResults} from '../../../utils/utils';\nimport {makeGet, makeList} from '../../../utils/batch';\nimport {\n CHANGE_POOL,\n ROOT_POOL_NAME,\n SCHEDULING_EXPANDED_POOLS_FAILURE,\n SCHEDULING_EXPANDED_POOLS_PARTITION,\n SCHEDULING_EXPANDED_POOLS_REQUEST,\n SCHEDULING_EXPANDED_POOLS_SUCCESS,\n} from '../../../constants/scheduling';\nimport {calculatePoolPath, getPool, getPools, getTree} from '../../selectors/scheduling/scheduling';\nimport {\n getExpandedPoolsLoadAll,\n getSchedulingOperationsExpandedPools,\n} from '../../selectors/scheduling/expanded-pools';\nimport {EMPTY_OBJECT} from '../../../constants/empty';\nimport {PoolInfo, getSchedulingPoolsMapByName} from '../../selectors/scheduling/scheduling-pools';\nimport {BatchSubRequest} from '../../../../shared/yt-types';\nimport {SchedulingAction} from '../../../store/reducers/scheduling/scheduling';\nimport {isSupportedSchedulingChildrenByPool} from '../../../store/selectors/thor/support';\nimport CancelHelper, {isCancelled} from '../../../utils/cancel-helper';\nimport {flattenAttributes} from '../../../utils/scheduling/scheduling';\nimport {UIBatchError} from '../../../utils/errors/ui-error';\n\ntype ExpandedPoolsThunkAction = ThunkAction<\n any,\n RootState,\n any,\n ExpandedPoolsAction | SchedulingAction\n>;\n\nconst cancelHelper = new CancelHelper();\n\nconst POOL_FIELDS_TO_LOAD = [\n 'accumulated_resource_ratio_volume',\n 'accumulated_resource_volume',\n 'demand_ratio',\n 'detailed_fair_share',\n 'dominant_resource',\n 'estimated_burst_usage_duration_sec',\n 'fair_share_ratio',\n 'fifo_index',\n 'fifo_sort_parameters',\n 'integral_guarantee_type',\n 'is_ephemeral',\n 'max_operation_count',\n 'max_running_operation_count',\n 'max_share_ratio',\n 'min_share_ratio',\n 'mode',\n 'operation_count',\n 'parent',\n 'pool_operation_count',\n 'child_pool_count',\n 'resource_demand',\n 'resource_limits',\n 'resource_usage',\n 'promised_fair_share_resources',\n 'running_operation_count',\n 'specified_burst_guarantee_resources',\n 'specified_resource_flow',\n 'starvation_status',\n 'starving',\n 'strong_guarantee_resources',\n 'usage_ratio',\n 'weight',\n 'abc',\n];\n\nconst POOL_TREE_GET_ATTRS = [\n 'integral_guarantees',\n 'weight',\n 'max_operation_count',\n 'max_running_operation_count',\n 'strong_guarantee_resources',\n 'resource_limits',\n 'forbid_immediate_operations',\n 'create_ephemeral_subpools',\n 'fifo_sort_parameters',\n 'config',\n 'folder_id',\n];\n\nclass EmptyFullPath extends Error {}\n\nexport function loadExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const pool = getPool(getState());\n\n if (!tree) {\n return undefined;\n }\n\n if (pool === ROOT_POOL_NAME) {\n return dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n return ytApiV3Id\n .executeBatch<{full_path: string; is_ephemeral?: boolean}>(\n YTApiId.schedulingPoolFullPath,\n {\n requests: [\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`,\n fields: ['is_ephemeral', 'full_path'],\n },\n },\n ],\n },\n )\n .then(([{output}]) => {\n const {full_path, is_ephemeral} = output ?? {};\n if (!full_path) {\n throw new EmptyFullPath();\n } else {\n dispatch(addFullPathToExpandedPoolsNoLoad(tree, full_path, is_ephemeral));\n dispatch(loadExpandedOperationsAndPools(tree));\n }\n })\n .catch((e) => {\n if (e instanceof EmptyFullPath) {\n dispatch({type: CHANGE_POOL, data: {pool: ROOT_POOL_NAME}});\n /**\n * We don't need to call `dispatch(loadExpandedOperationsAndPools(tree))` after `CHANGE_POOL`.\n * The call will be triggered by SchedulingExpandedPoolsUpdater.\n */\n // dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n new Toaster().add({\n name: 'schedulingPoolFullPath',\n type: 'error',\n title: '',\n });\n }\n });\n }\n };\n}\n\nfunction loadExpandedOperationsAndPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n\n const loadAll = getExpandedPoolsLoadAll(state);\n const expandedPools: Map<string, ExpandedPoolInfo> = loadAll\n ? new Map()\n : getSchedulingOperationsExpandedPools(state)[tree] ?? new Map();\n const expandedPoolNames: Array<string> = [...expandedPools.keys()];\n\n const operationsExpandedPools: Array<string> = [...expandedPoolNames];\n\n const operationsRequests: Array<BatchSubRequest> = [];\n if (loadAll) {\n operationsRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/scheduling_info_per_pool_tree/${tree}/fair_share_info/operations`,\n ),\n );\n } else {\n const prefix = `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/operations_by_pool`;\n operationsExpandedPools.forEach((item) => {\n operationsRequests.push(makeGet(`${prefix}/${item}`));\n });\n }\n\n const loadAllPools = loadAll || !isSupportedSchedulingChildrenByPool(state);\n const poolsRequests: Array<BatchSubRequest> = [];\n const poolsChildrenRequests: Array<BatchSubRequest> = [];\n const poolsCypressDataRequests: Array<BatchSubRequest> = [];\n\n const poolsExpandedPools: Array<string> =\n -1 !== expandedPoolNames.indexOf(ROOT_POOL_NAME)\n ? expandedPoolNames\n : [ROOT_POOL_NAME, ...expandedPoolNames];\n\n if (loadAllPools) {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsCypressDataRequests.push(\n makeGet(`//sys/pool_trees/${tree}`, {attributes: POOL_TREE_GET_ATTRS}),\n );\n } else {\n poolsExpandedPools.forEach((pool) => {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsChildrenRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/child_pools_by_pool/${pool}`,\n {\n fields: POOL_FIELDS_TO_LOAD,\n },\n ),\n );\n const {parentPoolPath, isEphemeral} = expandedPools.get(pool) ?? {};\n const cypressDataPath = parentPoolPath\n ? `//sys/pool_trees/${tree}/${parentPoolPath}/${pool}`\n : `//sys/pool_trees/${tree}/${pool}`;\n if (pool === ROOT_POOL_NAME || !isEphemeral) {\n poolsCypressDataRequests.push(\n makeList(\n pool === ROOT_POOL_NAME ? `//sys/pool_trees/${tree}` : cypressDataPath,\n {\n attributes: POOL_TREE_GET_ATTRS,\n },\n ),\n );\n }\n });\n }\n\n cancelHelper.removeAllRequests();\n\n dispatch({type: SCHEDULING_EXPANDED_POOLS_REQUEST});\n return Promise.all([\n operationsRequests.length\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadOperationsPerPool, {\n parameters: {requests: operationsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : Promise.resolve([]),\n loadAllPools\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsAll, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsPerPool, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n loadAllPools\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadChildrenPerPool, {\n parameters: {requests: poolsChildrenRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n !poolsCypressDataRequests.length\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadCypressDataPerPool, {\n parameters: {requests: poolsCypressDataRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n ])\n .then(([operationsResults, poolsResults, poolsChildrenResults, poolsCypressData]) => {\n const error = new UIBatchError('Failed to load expanded pools');\n const {results: operations} = splitBatchResults(operationsResults, error);\n const rawOperations = _.reduce(\n operations,\n (acc, data) => {\n return Object.assign(acc, data);\n },\n {},\n );\n\n const rawPools: Record<string, PoolInfo> = {};\n const cypressData: Record<string, PoolCypressData> = {};\n\n if (loadAllPools) {\n const {results: pools} = splitBatchResults<Record<string, PoolInfo>>(\n poolsResults,\n error,\n );\n const [value = {}] = pools ?? [];\n Object.assign(rawPools, value);\n\n const {\n results: [data],\n } = splitBatchResults(poolsCypressData, error);\n Object.assign(cypressData, flattenAttributes(data));\n } else {\n const {results: pools, resultIndices} = splitBatchResults<PoolInfo>(\n poolsResults,\n error,\n );\n pools.forEach((poolInfo, index) => {\n const name = poolsExpandedPools[resultIndices[index]];\n rawPools[name] = poolInfo;\n });\n\n const {results: poolChildren} = splitBatchResults<Record<string, PoolInfo>>(\n poolsChildrenResults,\n error,\n );\n poolChildren.forEach((children) => {\n Object.assign(rawPools, children);\n });\n\n const {results: cypressDataChildrenPerPool} = splitBatchResults<\n Array<PoolCypressData>\n >(poolsCypressData, error);\n cypressDataChildrenPerPool.forEach((poolChildrenCypressData) => {\n poolChildrenCypressData.forEach((item) => {\n cypressData[item.$value] = item;\n });\n });\n }\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_SUCCESS,\n data: {\n expandedPoolsTree: tree,\n rawOperations: Object.keys(rawOperations).length\n ? rawOperations\n : EMPTY_OBJECT,\n rawPools: Object.keys(rawPools).length ? rawPools : EMPTY_OBJECT,\n flattenCypressData: Object.keys(cypressData).length\n ? cypressData\n : EMPTY_OBJECT,\n },\n });\n\n if (error.inner_errors?.length) {\n throw error;\n }\n })\n .catch((error) => {\n if (!isCancelled(error)) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function setExpandedPool(poolName: string, expanded: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const tree = getTree(getState());\n const expandedPools = getSchedulingOperationsExpandedPools(state);\n\n const poolsByName = getSchedulingPoolsMapByName(state);\n\n const treeExpandedPools = new Map(expandedPools[tree]);\n if (expanded) {\n const expandedPoolInfo = calcExpandedPoolInfo(poolName, poolsByName);\n treeExpandedPools.set(poolName, expandedPoolInfo);\n } else {\n treeExpandedPools.delete(poolName);\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction addFullPathToExpandedPoolsNoLoad(\n tree: string,\n /**\n * elements of the array should have the same format as `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}/full_path`\n */\n fullPath: string,\n isEphemeral?: boolean,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const oldExpandedPools = getSchedulingOperationsExpandedPools(state);\n const treeExpandedPools = new Map(oldExpandedPools[tree]);\n\n /**\n * `fullPath` value starts from `/`, example: `/mypool/child/subchild`\n * so we have to use `.slice(1)` to remove first empty string\n */\n const parts = fullPath.split('/').slice(1);\n\n for (let i = 0; i < parts.length; ++i) {\n const poolName = parts[i];\n const parentPoolPath = parts.slice(0, i).join('/');\n treeExpandedPools.set(poolName, {parentPoolPath, isEphemeral});\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n };\n}\n\nfunction updateExpandedPoolNoLoad(\n tree: string,\n treeExpandedPools: Map<string, ExpandedPoolInfo>,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const oldExpandedPools = getSchedulingOperationsExpandedPools(getState());\n\n const expandedPools = {\n ...oldExpandedPools,\n [tree]: treeExpandedPools,\n };\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {expandedPools},\n });\n };\n}\n\nexport function resetExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n if (!tree) {\n return;\n }\n\n const state = getState();\n const {[tree]: old, ...rest} = getSchedulingOperationsExpandedPools(state);\n\n if (old?.size) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {\n expandedPools: {\n ...rest,\n [tree]: new Map<string, ExpandedPoolInfo>(),\n },\n },\n });\n }\n };\n}\n\nexport function getSchedulingOperationsCount(): ThunkAction<number, RootState, any, any> {\n return (_dispatch, getState) => {\n const state = getState();\n\n const tree = getSchedulingPoolsMapByName(state);\n const root = tree[ROOT_POOL_NAME];\n return root?.operationCount || 0;\n };\n}\n\nexport function getPoolPathsByName(\n poolName: string,\n): ThunkAction<{fullPath: string; orchidPath: string}, RootState, unknown, any> {\n return (_dispatch, getState) => {\n const state = getState();\n const pools = getPools(state);\n const tree = getTree(state);\n\n return {\n fullPath: calculatePoolPath(poolName, pools, tree),\n orchidPath: `//sys/scheduler/orchid/scheduler/scheduling_info_per_pool_tree/${tree}/fair_share_info/pools/${poolName}`,\n };\n };\n}\n\nexport function setLoadAllOperations(loadAll: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {loadAll},\n });\n\n const tree = getTree(state);\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction calcExpandedPoolInfo(\n poolName: string,\n poolsByName: Record<string, PoolInfo>,\n): ExpandedPoolInfo {\n let data = poolsByName[poolName];\n const isEphemeral = data?.isEphemeral;\n let res = '';\n while (data?.parent && data.parent !== ROOT_POOL_NAME) {\n res = res ? `${data.parent}/${res}` : data.parent;\n data = poolsByName[data.parent];\n }\n return {parentPoolPath: res, isEphemeral};\n}\n"],"mappings":"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"}
|
@@ -51,7 +51,7 @@ function loadSchedulingData() {
|
|
51
51
|
var cluster = (0, _global.getCluster)(state);
|
52
52
|
var rumId = new _rumWrapApi.RumWrapper(cluster, _rumMeasureTypes.RumMeasureTypes.SCHEDULING);
|
53
53
|
return rumId.fetch(_rumWrapApi.YTApiId.schedulingData, _rumWrapApi.ytApiV3Id.executeBatch(_rumWrapApi.YTApiId.schedulingData, (0, _objectSpread2.default)({
|
54
|
-
requests: [(0, _batch.makeGet)('//sys/scheduler/@alerts'), (0, _batch.makeList)('//sys/scheduler/orchid/scheduler/
|
54
|
+
requests: [(0, _batch.makeGet)('//sys/scheduler/@alerts'), (0, _batch.makeList)('//sys/scheduler/orchid/scheduler/scheduling_info_per_pool_tree'), (0, _batch.makeGet)('//sys/scheduler/orchid/scheduler/default_fair_share_tree')]
|
55
55
|
}, _ytApi.USE_CACHE))).then(function (data) {
|
56
56
|
var _splitBatchResults = (0, _utils.splitBatchResults)(data, 'Failed to fetch scheduling data'),
|
57
57
|
error = _splitBatchResults.error,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_scheduling","require","_utils","_batch","_cypressAttributes","_uikit","_yt","_interopRequireDefault","_scheduling2","_scheduling3","_expandedPools","_rumWrapApi","_global","_rumMeasureTypes","_attributesToFilter","_ytApi","obj","__esModule","default","toaster","Toaster","loadSchedulingData","dispatch","getState","type","SCHEDULING_DATA_REQUEST","state","isInitialLoading","getSchedulingIsInitialLoading","schedulingOverviewHasFilter","schedulingLoadFilterAttributes","cluster","getCluster","rumId","RumWrapper","RumMeasureTypes","SCHEDULING","fetch","YTApiId","schedulingData","ytApiV3Id","executeBatch","_objectSpread","requests","makeGet","makeList","USE_CACHE","then","data","_splitBatchResults","splitBatchResults","error","_splitBatchResults$re","_slicedToArray","results","schedulerAlerts","rawTrees","defaultTree","Promise","reject","trees","prepareTrees","tree","prepareCurrentTree","scheduling","SCHEDULING_DATA_PARTITION","treeRequests","concat","loadExpandedPools","schedulingLoadTree","ytApiV4Id","treeData","extracted","extractBatchV4Values","_splitBatchResults2","_ref","_ref2","resource_usage","resource_limits","config","resource_distribution_info","treeResources","SCHEDULING_DATA_SUCCESS","code","yt","codes","CANCELLED","SCHEDULING_DATA_FAILURE","deletePool","item","getTree","pools","getPools","path","computePoolPath","SCHEDULING_DELETE_POOL_REQUEST","v3","remove","add","name","autoHiding","title","SCHEDULING_DELETE_POOL_SUCCESS","closePoolDeleteModal","setTimeout","SCHEDULING_DELETE_POOL_FAILURE","openPoolDeleteModal","POOL_TOGGLE_DELETE_VISIBILITY","visibility","undefined","setPoolAttributes","params","poolPath","values","initials","_isEmpty","resolve","transferData","toModify","guaranteeType","restValues","_objectWithoutProperties","_excluded","_forEach","v","k","_ref3","limit","source","key","attr","POOL_RESOURCE_TYPE_TO_ATTRIBUTE","push","value","_initials$key","prevLimit","diff","Object","hasOwnProperty","call","updateNodeAttributes","transferPoolQuota","_ref4","tmp","split","dstPool","length","_map","transferPath","startsWith","INTEGRAL_GUARANTEES_PREFIX","substr","dotPath","replace","delta","_update","Math","abs","command","parameters","source_pool","destination_pool","pool_tree","resource_delta","schedulingTransferPoolQuota","res","err","getBatchError","lastTime","getSchedulingAttributesToFilterTime","Date","now","wrapApiPromiseByToaster","get","schedulingFilterAttributes","fields","skipSuccessToast","toasterName","errorContent","attributesToFilter","attributesToFilterTime","schedulingSetFilter","filter","schedulingSetAbcFilter","abcServiceFilter"],"sources":["scheduling-ts.ts"],"sourcesContent":["import _ from 'lodash';\nimport {\n INTEGRAL_GUARANTEES_PREFIX,\n InitialPoolResourceInfo,\n POOL_RESOURCE_TYPE_TO_ATTRIBUTE,\n PoolResourceType,\n computePoolPath,\n prepareCurrentTree,\n prepareTrees,\n} from '../../../utils/scheduling/scheduling';\nimport {\n extractBatchV4Values,\n getBatchError,\n splitBatchResults,\n wrapApiPromiseByToaster,\n} from '../../../utils/utils';\nimport {makeGet, makeList} from '../../../utils/batch';\nimport {updateNodeAttributes} from '../../../utils/cypress-attributes';\n\nimport {ThunkAction} from 'redux-thunk';\n\nimport {Toaster} from '@gravity-ui/uikit';\n\n// @ts-expect-error\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {\n getPools,\n getSchedulingIsInitialLoading,\n getTree,\n} from '../../../store/selectors/scheduling/scheduling';\n\nimport {\n POOL_TOGGLE_DELETE_VISIBILITY,\n SCHEDULING_DATA_FAILURE,\n SCHEDULING_DATA_PARTITION,\n SCHEDULING_DATA_REQUEST,\n SCHEDULING_DATA_SUCCESS,\n SCHEDULING_DELETE_POOL_FAILURE,\n SCHEDULING_DELETE_POOL_REQUEST,\n SCHEDULING_DELETE_POOL_SUCCESS,\n} from '../../../constants/scheduling';\nimport {loadExpandedPools} from './expanded-pools';\nimport {RumWrapper, YTApiId, ytApiV3Id, ytApiV4Id} from '../../../rum/rum-wrap-api';\nimport {getCluster} from '../../../store/selectors/global';\nimport {RumMeasureTypes} from '../../../rum/rum-measure-types';\nimport type {RootState} from '../../../store/reducers';\nimport type {SchedulingAction} from '../../../store/reducers/scheduling/scheduling';\nimport type {PoolInfo} from '../../../store/selectors/scheduling/scheduling-pools';\nimport {\n getSchedulingAttributesToFilterTime,\n schedulingOverviewHasFilter,\n} from '../../../store/selectors/scheduling/attributes-to-filter';\nimport {USE_CACHE} from '../../../../shared/constants/yt-api';\n\nconst toaster = new Toaster();\n\ntype SchedulingThunkAction<T = unknown> = ThunkAction<T, RootState, unknown, SchedulingAction>;\n\nexport function loadSchedulingData(): SchedulingThunkAction {\n return (dispatch, getState) => {\n dispatch({type: SCHEDULING_DATA_REQUEST});\n\n const state = getState();\n const isInitialLoading = getSchedulingIsInitialLoading(state);\n\n if (isInitialLoading && schedulingOverviewHasFilter(state)) {\n dispatch(schedulingLoadFilterAttributes());\n }\n\n const cluster = getCluster(state);\n const rumId = new RumWrapper(cluster, RumMeasureTypes.SCHEDULING);\n return rumId\n .fetch(\n YTApiId.schedulingData,\n ytApiV3Id.executeBatch(YTApiId.schedulingData, {\n requests: [\n makeGet('//sys/scheduler/@alerts'),\n makeList('//sys/scheduler/orchid/scheduler/pool_trees'),\n makeGet('//sys/scheduler/orchid/scheduler/default_fair_share_tree'),\n ],\n ...USE_CACHE,\n }),\n )\n .then((data) => {\n const {\n error,\n results: [schedulerAlerts, rawTrees, defaultTree],\n } = splitBatchResults(data, 'Failed to fetch scheduling data');\n\n if (error) {\n return Promise.reject(error);\n }\n\n const state = getState();\n\n const trees = prepareTrees(rawTrees);\n const tree = prepareCurrentTree(\n defaultTree,\n trees,\n state.scheduling.scheduling.tree,\n );\n\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {schedulerAlerts, trees, tree},\n });\n\n const treeRequests = [\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/resource_usage`),\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/resource_limits`),\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/config`),\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/resource_distribution_info`,\n ),\n ];\n\n if (isInitialLoading) {\n /**\n * We don't need to call `dispatch(loadExpandedPools(tree))` for this branch of code,\n * the call should be triggered by SchedulingExpandedPoolsUpdater\n */\n //dispatch(loadExpandedPools(tree));\n } else {\n dispatch(loadExpandedPools(tree));\n }\n\n return rumId\n .fetch(\n YTApiId.schedulingLoadTree,\n ytApiV4Id.executeBatch(YTApiId.schedulingLoadTree, {\n requests: treeRequests,\n ...USE_CACHE,\n }),\n )\n .then((treeData) => {\n const extracted = extractBatchV4Values(treeData, treeRequests);\n const {error, results} = splitBatchResults(\n extracted.results,\n 'Failed to fetch tree details',\n );\n if (error) {\n throw error;\n }\n return results;\n });\n })\n .then(([resource_usage, resource_limits, config, resource_distribution_info]) => {\n const treeResources = {\n resource_usage,\n resource_limits,\n config,\n resource_distribution_info,\n };\n\n dispatch({\n type: SCHEDULING_DATA_SUCCESS,\n data: {\n treeResources,\n },\n });\n })\n .catch((error) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: SCHEDULING_DATA_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function deletePool(item?: PoolInfo): SchedulingThunkAction {\n return (dispatch, getState) => {\n if (!item) {\n return;\n }\n\n const state = getState();\n\n const tree = getTree(state);\n const pools = getPools(state);\n const path = computePoolPath(item, pools);\n\n dispatch({type: SCHEDULING_DELETE_POOL_REQUEST});\n\n return yt.v3\n .remove({\n path: `//sys/pool_trees/${tree}/${path}`,\n })\n .then(() => {\n toaster.add({\n name: 'delete pool',\n autoHiding: 10000,\n type: 'success',\n title: `Successfully deleted ${item.name}. Please wait.`,\n });\n\n dispatch({type: SCHEDULING_DELETE_POOL_SUCCESS});\n dispatch(closePoolDeleteModal());\n setTimeout(() => dispatch(loadSchedulingData()), 3000);\n })\n .catch((error: any) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: SCHEDULING_DELETE_POOL_FAILURE,\n data: {error},\n });\n\n return Promise.reject();\n }\n return null;\n });\n };\n}\n\nexport function openPoolDeleteModal(item: PoolInfo): SchedulingAction {\n return {\n type: POOL_TOGGLE_DELETE_VISIBILITY,\n data: {\n visibility: true,\n item,\n },\n };\n}\n\nexport function closePoolDeleteModal(): SchedulingAction {\n return {\n type: POOL_TOGGLE_DELETE_VISIBILITY,\n data: {\n visibility: false,\n item: undefined,\n },\n };\n}\n\ntype PoolResources = Partial<\n Record<Exclude<PoolResourceType, 'guaranteeType'>, InitialPoolResourceInfo>\n>;\n\ninterface SetResourceGuaranteeParams {\n poolPath: string;\n values: PoolResources & {guaranteeType: string};\n initials: PoolResources;\n tree: string;\n}\n\nexport function setPoolAttributes(params: SetResourceGuaranteeParams) {\n const {poolPath, values, initials, tree} = params;\n if (_.isEmpty(values)) {\n return Promise.resolve();\n }\n\n const transferData: Array<{diff: number; source: string; path: string}> = [];\n const toModify: Array<{attr: string; value: any}> = [];\n\n const {guaranteeType, ...restValues} = values;\n\n _.forEach(restValues, (v, k) => {\n const {limit, source} = v || {};\n const key = k as keyof typeof restValues;\n\n const attr = POOL_RESOURCE_TYPE_TO_ATTRIBUTE[key];\n if (!source || limit === undefined) {\n toModify.push({attr, value: limit});\n } else {\n const prevLimit = initials[key]?.limit || 0;\n const diff = (limit || 0) - prevLimit;\n if (diff) {\n transferData.push({diff, source, path: attr});\n }\n }\n });\n\n if (Object.hasOwnProperty.call(values, 'guaranteeType')) {\n toModify.push({\n attr: POOL_RESOURCE_TYPE_TO_ATTRIBUTE['guaranteeType'],\n value: guaranteeType,\n });\n }\n\n return updateNodeAttributes(poolPath, toModify).then(() => {\n return transferPoolQuota({poolPath, transferData, tree});\n });\n}\n\ninterface TransferPoolQuotaParams {\n poolPath: string;\n transferData: Array<{diff: number; source: string; path: string}>;\n tree: string;\n}\n\nfunction transferPoolQuota({poolPath, transferData, tree}: TransferPoolQuotaParams) {\n if (_.isEmpty(transferData)) {\n return Promise.resolve();\n }\n const tmp = poolPath.split('/');\n const dstPool = tmp[tmp.length - 1];\n\n const requests = _.map(transferData, (v) => {\n const {diff, source, path} = v;\n const transferPath = path.startsWith(INTEGRAL_GUARANTEES_PREFIX)\n ? path.substr(INTEGRAL_GUARANTEES_PREFIX.length)\n : path;\n const dotPath = transferPath.replace(/\\//g, '.');\n\n const delta = _.update({}, dotPath, () => Math.abs(diff));\n\n return {\n command: 'transfer_pool_resources' as const,\n parameters: {\n source_pool: diff > 0 ? source : dstPool,\n destination_pool: diff > 0 ? dstPool : source,\n pool_tree: tree,\n resource_delta: delta,\n },\n };\n });\n\n return ytApiV4Id\n .executeBatch(YTApiId.schedulingTransferPoolQuota, {requests})\n .then((res: any) => {\n const err = getBatchError(res.results, 'Failed to transfer pool quota');\n if (err) {\n return Promise.reject(err);\n }\n return res;\n });\n}\n\nexport function schedulingLoadFilterAttributes(): SchedulingThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const lastTime = getSchedulingAttributesToFilterTime(state);\n if (Date.now() - lastTime < 120000) {\n return undefined;\n }\n\n return wrapApiPromiseByToaster(\n ytApiV3Id.get(YTApiId.schedulingFilterAttributes, {\n path: '//sys/scheduler/orchid/scheduler/pool_trees/physical/pools',\n fields: ['parent', 'abc'],\n ...USE_CACHE,\n }),\n {\n skipSuccessToast: true,\n toasterName: 'schedulingLoadFilterAttributes',\n errorContent: 'Failed to load attributes required for filtering',\n },\n ).then((attributesToFilter) => {\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {attributesToFilter, attributesToFilterTime: Date.now()},\n });\n });\n };\n}\n\nexport function schedulingSetFilter(filter: string): SchedulingThunkAction {\n return (dispatch) => {\n dispatch(schedulingLoadFilterAttributes());\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {filter},\n });\n };\n}\n\nexport function schedulingSetAbcFilter(abcServiceFilter: {\n id: number;\n slug: string;\n}): SchedulingThunkAction {\n return (dispatch) => {\n dispatch(schedulingLoadFilterAttributes());\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {abcServiceFilter},\n });\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_scheduling","require","_utils","_batch","_cypressAttributes","_uikit","_yt","_interopRequireDefault","_scheduling2","_scheduling3","_expandedPools","_rumWrapApi","_global","_rumMeasureTypes","_attributesToFilter","_ytApi","obj","__esModule","default","toaster","Toaster","loadSchedulingData","dispatch","getState","type","SCHEDULING_DATA_REQUEST","state","isInitialLoading","getSchedulingIsInitialLoading","schedulingOverviewHasFilter","schedulingLoadFilterAttributes","cluster","getCluster","rumId","RumWrapper","RumMeasureTypes","SCHEDULING","fetch","YTApiId","schedulingData","ytApiV3Id","executeBatch","_objectSpread","requests","makeGet","makeList","USE_CACHE","then","data","_splitBatchResults","splitBatchResults","error","_splitBatchResults$re","_slicedToArray","results","schedulerAlerts","rawTrees","defaultTree","Promise","reject","trees","prepareTrees","tree","prepareCurrentTree","scheduling","SCHEDULING_DATA_PARTITION","treeRequests","concat","loadExpandedPools","schedulingLoadTree","ytApiV4Id","treeData","extracted","extractBatchV4Values","_splitBatchResults2","_ref","_ref2","resource_usage","resource_limits","config","resource_distribution_info","treeResources","SCHEDULING_DATA_SUCCESS","code","yt","codes","CANCELLED","SCHEDULING_DATA_FAILURE","deletePool","item","getTree","pools","getPools","path","computePoolPath","SCHEDULING_DELETE_POOL_REQUEST","v3","remove","add","name","autoHiding","title","SCHEDULING_DELETE_POOL_SUCCESS","closePoolDeleteModal","setTimeout","SCHEDULING_DELETE_POOL_FAILURE","openPoolDeleteModal","POOL_TOGGLE_DELETE_VISIBILITY","visibility","undefined","setPoolAttributes","params","poolPath","values","initials","_isEmpty","resolve","transferData","toModify","guaranteeType","restValues","_objectWithoutProperties","_excluded","_forEach","v","k","_ref3","limit","source","key","attr","POOL_RESOURCE_TYPE_TO_ATTRIBUTE","push","value","_initials$key","prevLimit","diff","Object","hasOwnProperty","call","updateNodeAttributes","transferPoolQuota","_ref4","tmp","split","dstPool","length","_map","transferPath","startsWith","INTEGRAL_GUARANTEES_PREFIX","substr","dotPath","replace","delta","_update","Math","abs","command","parameters","source_pool","destination_pool","pool_tree","resource_delta","schedulingTransferPoolQuota","res","err","getBatchError","lastTime","getSchedulingAttributesToFilterTime","Date","now","wrapApiPromiseByToaster","get","schedulingFilterAttributes","fields","skipSuccessToast","toasterName","errorContent","attributesToFilter","attributesToFilterTime","schedulingSetFilter","filter","schedulingSetAbcFilter","abcServiceFilter"],"sources":["scheduling-ts.ts"],"sourcesContent":["import _ from 'lodash';\nimport {\n INTEGRAL_GUARANTEES_PREFIX,\n InitialPoolResourceInfo,\n POOL_RESOURCE_TYPE_TO_ATTRIBUTE,\n PoolResourceType,\n computePoolPath,\n prepareCurrentTree,\n prepareTrees,\n} from '../../../utils/scheduling/scheduling';\nimport {\n extractBatchV4Values,\n getBatchError,\n splitBatchResults,\n wrapApiPromiseByToaster,\n} from '../../../utils/utils';\nimport {makeGet, makeList} from '../../../utils/batch';\nimport {updateNodeAttributes} from '../../../utils/cypress-attributes';\n\nimport {ThunkAction} from 'redux-thunk';\n\nimport {Toaster} from '@gravity-ui/uikit';\n\n// @ts-expect-error\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {\n getPools,\n getSchedulingIsInitialLoading,\n getTree,\n} from '../../../store/selectors/scheduling/scheduling';\n\nimport {\n POOL_TOGGLE_DELETE_VISIBILITY,\n SCHEDULING_DATA_FAILURE,\n SCHEDULING_DATA_PARTITION,\n SCHEDULING_DATA_REQUEST,\n SCHEDULING_DATA_SUCCESS,\n SCHEDULING_DELETE_POOL_FAILURE,\n SCHEDULING_DELETE_POOL_REQUEST,\n SCHEDULING_DELETE_POOL_SUCCESS,\n} from '../../../constants/scheduling';\nimport {loadExpandedPools} from './expanded-pools';\nimport {RumWrapper, YTApiId, ytApiV3Id, ytApiV4Id} from '../../../rum/rum-wrap-api';\nimport {getCluster} from '../../../store/selectors/global';\nimport {RumMeasureTypes} from '../../../rum/rum-measure-types';\nimport type {RootState} from '../../../store/reducers';\nimport type {SchedulingAction} from '../../../store/reducers/scheduling/scheduling';\nimport type {PoolInfo} from '../../../store/selectors/scheduling/scheduling-pools';\nimport {\n getSchedulingAttributesToFilterTime,\n schedulingOverviewHasFilter,\n} from '../../../store/selectors/scheduling/attributes-to-filter';\nimport {USE_CACHE} from '../../../../shared/constants/yt-api';\n\nconst toaster = new Toaster();\n\ntype SchedulingThunkAction<T = unknown> = ThunkAction<T, RootState, unknown, SchedulingAction>;\n\nexport function loadSchedulingData(): SchedulingThunkAction {\n return (dispatch, getState) => {\n dispatch({type: SCHEDULING_DATA_REQUEST});\n\n const state = getState();\n const isInitialLoading = getSchedulingIsInitialLoading(state);\n\n if (isInitialLoading && schedulingOverviewHasFilter(state)) {\n dispatch(schedulingLoadFilterAttributes());\n }\n\n const cluster = getCluster(state);\n const rumId = new RumWrapper(cluster, RumMeasureTypes.SCHEDULING);\n return rumId\n .fetch(\n YTApiId.schedulingData,\n ytApiV3Id.executeBatch(YTApiId.schedulingData, {\n requests: [\n makeGet('//sys/scheduler/@alerts'),\n makeList('//sys/scheduler/orchid/scheduler/scheduling_info_per_pool_tree'),\n makeGet('//sys/scheduler/orchid/scheduler/default_fair_share_tree'),\n ],\n ...USE_CACHE,\n }),\n )\n .then((data) => {\n const {\n error,\n results: [schedulerAlerts, rawTrees, defaultTree],\n } = splitBatchResults(data, 'Failed to fetch scheduling data');\n\n if (error) {\n return Promise.reject(error);\n }\n\n const state = getState();\n\n const trees = prepareTrees(rawTrees);\n const tree = prepareCurrentTree(\n defaultTree,\n trees,\n state.scheduling.scheduling.tree,\n );\n\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {schedulerAlerts, trees, tree},\n });\n\n const treeRequests = [\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/resource_usage`),\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/resource_limits`),\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/config`),\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/resource_distribution_info`,\n ),\n ];\n\n if (isInitialLoading) {\n /**\n * We don't need to call `dispatch(loadExpandedPools(tree))` for this branch of code,\n * the call should be triggered by SchedulingExpandedPoolsUpdater\n */\n //dispatch(loadExpandedPools(tree));\n } else {\n dispatch(loadExpandedPools(tree));\n }\n\n return rumId\n .fetch(\n YTApiId.schedulingLoadTree,\n ytApiV4Id.executeBatch(YTApiId.schedulingLoadTree, {\n requests: treeRequests,\n ...USE_CACHE,\n }),\n )\n .then((treeData) => {\n const extracted = extractBatchV4Values(treeData, treeRequests);\n const {error, results} = splitBatchResults(\n extracted.results,\n 'Failed to fetch tree details',\n );\n if (error) {\n throw error;\n }\n return results;\n });\n })\n .then(([resource_usage, resource_limits, config, resource_distribution_info]) => {\n const treeResources = {\n resource_usage,\n resource_limits,\n config,\n resource_distribution_info,\n };\n\n dispatch({\n type: SCHEDULING_DATA_SUCCESS,\n data: {\n treeResources,\n },\n });\n })\n .catch((error) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: SCHEDULING_DATA_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function deletePool(item?: PoolInfo): SchedulingThunkAction {\n return (dispatch, getState) => {\n if (!item) {\n return;\n }\n\n const state = getState();\n\n const tree = getTree(state);\n const pools = getPools(state);\n const path = computePoolPath(item, pools);\n\n dispatch({type: SCHEDULING_DELETE_POOL_REQUEST});\n\n return yt.v3\n .remove({\n path: `//sys/pool_trees/${tree}/${path}`,\n })\n .then(() => {\n toaster.add({\n name: 'delete pool',\n autoHiding: 10000,\n type: 'success',\n title: `Successfully deleted ${item.name}. Please wait.`,\n });\n\n dispatch({type: SCHEDULING_DELETE_POOL_SUCCESS});\n dispatch(closePoolDeleteModal());\n setTimeout(() => dispatch(loadSchedulingData()), 3000);\n })\n .catch((error: any) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: SCHEDULING_DELETE_POOL_FAILURE,\n data: {error},\n });\n\n return Promise.reject();\n }\n return null;\n });\n };\n}\n\nexport function openPoolDeleteModal(item: PoolInfo): SchedulingAction {\n return {\n type: POOL_TOGGLE_DELETE_VISIBILITY,\n data: {\n visibility: true,\n item,\n },\n };\n}\n\nexport function closePoolDeleteModal(): SchedulingAction {\n return {\n type: POOL_TOGGLE_DELETE_VISIBILITY,\n data: {\n visibility: false,\n item: undefined,\n },\n };\n}\n\ntype PoolResources = Partial<\n Record<Exclude<PoolResourceType, 'guaranteeType'>, InitialPoolResourceInfo>\n>;\n\ninterface SetResourceGuaranteeParams {\n poolPath: string;\n values: PoolResources & {guaranteeType: string};\n initials: PoolResources;\n tree: string;\n}\n\nexport function setPoolAttributes(params: SetResourceGuaranteeParams) {\n const {poolPath, values, initials, tree} = params;\n if (_.isEmpty(values)) {\n return Promise.resolve();\n }\n\n const transferData: Array<{diff: number; source: string; path: string}> = [];\n const toModify: Array<{attr: string; value: any}> = [];\n\n const {guaranteeType, ...restValues} = values;\n\n _.forEach(restValues, (v, k) => {\n const {limit, source} = v || {};\n const key = k as keyof typeof restValues;\n\n const attr = POOL_RESOURCE_TYPE_TO_ATTRIBUTE[key];\n if (!source || limit === undefined) {\n toModify.push({attr, value: limit});\n } else {\n const prevLimit = initials[key]?.limit || 0;\n const diff = (limit || 0) - prevLimit;\n if (diff) {\n transferData.push({diff, source, path: attr});\n }\n }\n });\n\n if (Object.hasOwnProperty.call(values, 'guaranteeType')) {\n toModify.push({\n attr: POOL_RESOURCE_TYPE_TO_ATTRIBUTE['guaranteeType'],\n value: guaranteeType,\n });\n }\n\n return updateNodeAttributes(poolPath, toModify).then(() => {\n return transferPoolQuota({poolPath, transferData, tree});\n });\n}\n\ninterface TransferPoolQuotaParams {\n poolPath: string;\n transferData: Array<{diff: number; source: string; path: string}>;\n tree: string;\n}\n\nfunction transferPoolQuota({poolPath, transferData, tree}: TransferPoolQuotaParams) {\n if (_.isEmpty(transferData)) {\n return Promise.resolve();\n }\n const tmp = poolPath.split('/');\n const dstPool = tmp[tmp.length - 1];\n\n const requests = _.map(transferData, (v) => {\n const {diff, source, path} = v;\n const transferPath = path.startsWith(INTEGRAL_GUARANTEES_PREFIX)\n ? path.substr(INTEGRAL_GUARANTEES_PREFIX.length)\n : path;\n const dotPath = transferPath.replace(/\\//g, '.');\n\n const delta = _.update({}, dotPath, () => Math.abs(diff));\n\n return {\n command: 'transfer_pool_resources' as const,\n parameters: {\n source_pool: diff > 0 ? source : dstPool,\n destination_pool: diff > 0 ? dstPool : source,\n pool_tree: tree,\n resource_delta: delta,\n },\n };\n });\n\n return ytApiV4Id\n .executeBatch(YTApiId.schedulingTransferPoolQuota, {requests})\n .then((res: any) => {\n const err = getBatchError(res.results, 'Failed to transfer pool quota');\n if (err) {\n return Promise.reject(err);\n }\n return res;\n });\n}\n\nexport function schedulingLoadFilterAttributes(): SchedulingThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const lastTime = getSchedulingAttributesToFilterTime(state);\n if (Date.now() - lastTime < 120000) {\n return undefined;\n }\n\n return wrapApiPromiseByToaster(\n ytApiV3Id.get(YTApiId.schedulingFilterAttributes, {\n path: '//sys/scheduler/orchid/scheduler/pool_trees/physical/pools',\n fields: ['parent', 'abc'],\n ...USE_CACHE,\n }),\n {\n skipSuccessToast: true,\n toasterName: 'schedulingLoadFilterAttributes',\n errorContent: 'Failed to load attributes required for filtering',\n },\n ).then((attributesToFilter) => {\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {attributesToFilter, attributesToFilterTime: Date.now()},\n });\n });\n };\n}\n\nexport function schedulingSetFilter(filter: string): SchedulingThunkAction {\n return (dispatch) => {\n dispatch(schedulingLoadFilterAttributes());\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {filter},\n });\n };\n}\n\nexport function schedulingSetAbcFilter(abcServiceFilter: {\n id: number;\n slug: string;\n}): SchedulingThunkAction {\n return (dispatch) => {\n dispatch(schedulingLoadFilterAttributes());\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {abcServiceFilter},\n });\n };\n}\n"],"mappings":"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"}
|
@@ -33,7 +33,7 @@ export namespace completedTableProps {
|
|
33
33
|
} | {
|
34
34
|
sort: boolean;
|
35
35
|
align: string;
|
36
|
-
caption
|
36
|
+
caption: string;
|
37
37
|
} | {
|
38
38
|
sort: boolean;
|
39
39
|
caption: string;
|
@@ -59,9 +59,23 @@ export namespace intermediateTableProps {
|
|
59
59
|
export { _default_1 as default };
|
60
60
|
}
|
61
61
|
export { sets_1 as sets };
|
62
|
-
let items_4: Record<string, {
|
63
|
-
|
64
|
-
|
62
|
+
let items_4: Record<string, ({
|
63
|
+
sort: boolean;
|
64
|
+
align: string;
|
65
|
+
caption?: undefined;
|
66
|
+
} | {
|
67
|
+
sort: boolean;
|
68
|
+
align: string;
|
69
|
+
caption?: undefined;
|
70
|
+
} | {
|
71
|
+
sort: boolean;
|
72
|
+
align: string;
|
73
|
+
caption: string;
|
74
|
+
} | {
|
75
|
+
sort: boolean;
|
76
|
+
align: string;
|
77
|
+
caption?: undefined;
|
78
|
+
}) & {
|
65
79
|
name: string;
|
66
80
|
}>;
|
67
81
|
export { items_4 as items };
|
@@ -49,7 +49,8 @@ var completedTableProps = exports.completedTableProps = (0, _objectSpread2.defau
|
|
49
49
|
},
|
50
50
|
chunk_count: {
|
51
51
|
sort: false,
|
52
|
-
align: 'right'
|
52
|
+
align: 'right',
|
53
|
+
caption: 'Slices'
|
53
54
|
},
|
54
55
|
actions: {
|
55
56
|
sort: false,
|
@@ -77,7 +78,8 @@ var intermediateTableProps = exports.intermediateTableProps = (0, _objectSpread2
|
|
77
78
|
},
|
78
79
|
chunk_count: {
|
79
80
|
sort: false,
|
80
|
-
align: 'right'
|
81
|
+
align: 'right',
|
82
|
+
caption: 'Slices'
|
81
83
|
},
|
82
84
|
node_count: {
|
83
85
|
sort: false,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_index","require","_interopRequireDefault","obj","__esModule","default","METRICS","props","theme","size","striped","virtual","completedTableProps","exports","_objectSpread","columns","sets","items","concat","withActions","prepareTableColumns","name","sort","align","row_count","compressed_data_size","caption","uncompressed_data_size","data_weight","chunk_count","actions","mode","intermediateTableProps","account","disk_space","node_count","templates","key"],"sources":["resourcesTablesProps.js"],"sourcesContent":["import {prepareTableColumns} from '../../../../../utils/index';\n\nconst METRICS = [\n 'row_count',\n 'compressed_data_size',\n 'uncompressed_data_size',\n 'data_weight',\n 'chunk_count',\n];\n\nconst props = {\n theme: 'light',\n size: 'm',\n striped: false,\n virtual: false,\n};\n\nexport const completedTableProps = {\n ...props,\n columns: {\n sets: {\n default: {\n items: ['name', ...METRICS],\n },\n withActions: {\n items: ['name', ...METRICS, 'actions'],\n },\n },\n items: prepareTableColumns({\n name: {\n sort: false,\n align: 'left',\n },\n row_count: {\n sort: false,\n align: 'right',\n },\n compressed_data_size: {\n sort: false,\n align: 'right',\n caption: 'Compressed',\n },\n uncompressed_data_size: {\n sort: false,\n align: 'right',\n caption: 'Uncompressed',\n },\n data_weight: {\n sort: false,\n align: 'right',\n },\n chunk_count: {\n sort: false,\n align: 'right',\n },\n actions: {\n sort: false,\n caption: '',\n },\n }),\n mode: 'default',\n },\n};\n\nexport const intermediateTableProps = {\n ...props,\n columns: {\n sets: {\n default: {\n items: ['account', 'node_count', 'disk_space', 'chunk_count'],\n },\n },\n items: prepareTableColumns({\n account: {\n sort: false,\n align: 'left',\n },\n disk_space: {\n sort: false,\n align: 'right',\n },\n chunk_count: {\n sort: false,\n align: 'right',\n },\n node_count: {\n sort: false,\n align: 'right',\n },\n }),\n mode: 'default',\n },\n templates: {\n key: 'operations/detail/resources/intermediate',\n },\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAA8D,SAAAC,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE9D,IAAMG,OAAO,GAAG,CACZ,WAAW,EACX,sBAAsB,EACtB,wBAAwB,EACxB,aAAa,EACb,aAAa,CAChB;AAED,IAAMC,KAAK,GAAG;EACVC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,GAAG;EACTC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE;AACb,CAAC;AAEM,IAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,OAAAE,sBAAA,MAAAA,sBAAA,MACzBP,KAAK;EACRQ,OAAO,EAAE;IACLC,IAAI,EAAE;MACF,WAAS;QACLC,KAAK,GAAG,MAAM,EAAAC,MAAA,CAAKZ,OAAO;MAC9B,CAAC;MACDa,WAAW,EAAE;QACTF,KAAK,GAAG,MAAM,EAAAC,MAAA,CAAKZ,OAAO,GAAE,SAAS;MACzC;IACJ,CAAC;IACDW,KAAK,EAAE,IAAAG,0BAAmB,EAAC;MACvBC,IAAI,EAAE;QACFC,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE;MACX,CAAC;MACDC,SAAS,EAAE;QACPF,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE;MACX,CAAC;MACDE,oBAAoB,EAAE;QAClBH,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE,OAAO;QACdG,OAAO,EAAE;MACb,CAAC;MACDC,sBAAsB,EAAE;QACpBL,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE,OAAO;QACdG,OAAO,EAAE;MACb,CAAC;MACDE,WAAW,EAAE;QACTN,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE;MACX,CAAC;MACDM,WAAW,EAAE;QACTP,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE;
|
1
|
+
{"version":3,"names":["_index","require","_interopRequireDefault","obj","__esModule","default","METRICS","props","theme","size","striped","virtual","completedTableProps","exports","_objectSpread","columns","sets","items","concat","withActions","prepareTableColumns","name","sort","align","row_count","compressed_data_size","caption","uncompressed_data_size","data_weight","chunk_count","actions","mode","intermediateTableProps","account","disk_space","node_count","templates","key"],"sources":["resourcesTablesProps.js"],"sourcesContent":["import {prepareTableColumns} from '../../../../../utils/index';\n\nconst METRICS = [\n 'row_count',\n 'compressed_data_size',\n 'uncompressed_data_size',\n 'data_weight',\n 'chunk_count',\n];\n\nconst props = {\n theme: 'light',\n size: 'm',\n striped: false,\n virtual: false,\n};\n\nexport const completedTableProps = {\n ...props,\n columns: {\n sets: {\n default: {\n items: ['name', ...METRICS],\n },\n withActions: {\n items: ['name', ...METRICS, 'actions'],\n },\n },\n items: prepareTableColumns({\n name: {\n sort: false,\n align: 'left',\n },\n row_count: {\n sort: false,\n align: 'right',\n },\n compressed_data_size: {\n sort: false,\n align: 'right',\n caption: 'Compressed',\n },\n uncompressed_data_size: {\n sort: false,\n align: 'right',\n caption: 'Uncompressed',\n },\n data_weight: {\n sort: false,\n align: 'right',\n },\n chunk_count: {\n sort: false,\n align: 'right',\n caption: 'Slices',\n },\n actions: {\n sort: false,\n caption: '',\n },\n }),\n mode: 'default',\n },\n};\n\nexport const intermediateTableProps = {\n ...props,\n columns: {\n sets: {\n default: {\n items: ['account', 'node_count', 'disk_space', 'chunk_count'],\n },\n },\n items: prepareTableColumns({\n account: {\n sort: false,\n align: 'left',\n },\n disk_space: {\n sort: false,\n align: 'right',\n },\n chunk_count: {\n sort: false,\n align: 'right',\n caption: 'Slices',\n },\n node_count: {\n sort: false,\n align: 'right',\n },\n }),\n mode: 'default',\n },\n templates: {\n key: 'operations/detail/resources/intermediate',\n },\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAA8D,SAAAC,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE9D,IAAMG,OAAO,GAAG,CACZ,WAAW,EACX,sBAAsB,EACtB,wBAAwB,EACxB,aAAa,EACb,aAAa,CAChB;AAED,IAAMC,KAAK,GAAG;EACVC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,GAAG;EACTC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE;AACb,CAAC;AAEM,IAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,OAAAE,sBAAA,MAAAA,sBAAA,MACzBP,KAAK;EACRQ,OAAO,EAAE;IACLC,IAAI,EAAE;MACF,WAAS;QACLC,KAAK,GAAG,MAAM,EAAAC,MAAA,CAAKZ,OAAO;MAC9B,CAAC;MACDa,WAAW,EAAE;QACTF,KAAK,GAAG,MAAM,EAAAC,MAAA,CAAKZ,OAAO,GAAE,SAAS;MACzC;IACJ,CAAC;IACDW,KAAK,EAAE,IAAAG,0BAAmB,EAAC;MACvBC,IAAI,EAAE;QACFC,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE;MACX,CAAC;MACDC,SAAS,EAAE;QACPF,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE;MACX,CAAC;MACDE,oBAAoB,EAAE;QAClBH,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE,OAAO;QACdG,OAAO,EAAE;MACb,CAAC;MACDC,sBAAsB,EAAE;QACpBL,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE,OAAO;QACdG,OAAO,EAAE;MACb,CAAC;MACDE,WAAW,EAAE;QACTN,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE;MACX,CAAC;MACDM,WAAW,EAAE;QACTP,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE,OAAO;QACdG,OAAO,EAAE;MACb,CAAC;MACDI,OAAO,EAAE;QACLR,IAAI,EAAE,KAAK;QACXI,OAAO,EAAE;MACb;IACJ,CAAC,CAAC;IACFK,IAAI,EAAE;EACV;AAAC,EACJ;AAEM,IAAMC,sBAAsB,GAAAnB,OAAA,CAAAmB,sBAAA,OAAAlB,sBAAA,MAAAA,sBAAA,MAC5BP,KAAK;EACRQ,OAAO,EAAE;IACLC,IAAI,EAAE;MACF,WAAS;QACLC,KAAK,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa;MAChE;IACJ,CAAC;IACDA,KAAK,EAAE,IAAAG,0BAAmB,EAAC;MACvBa,OAAO,EAAE;QACLX,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE;MACX,CAAC;MACDW,UAAU,EAAE;QACRZ,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE;MACX,CAAC;MACDM,WAAW,EAAE;QACTP,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE,OAAO;QACdG,OAAO,EAAE;MACb,CAAC;MACDS,UAAU,EAAE;QACRb,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;IACFQ,IAAI,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACPC,GAAG,EAAE;EACT;AAAC,EACJ"}
|