@ytsaurus/ui 1.18.0 → 1.19.0
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/@types/types.d.ts +14 -0
- package/build/cjs/ui/components/QuotaEditor/QuotaEditor.js +3 -0
- package/build/cjs/ui/components/QuotaEditor/QuotaEditor.js.map +1 -1
- package/build/cjs/ui/hocs/components/Modal/withScope.d.ts +4 -55
- package/build/cjs/ui/hocs/components/Modal/withScope.js +8 -55
- package/build/cjs/ui/hocs/components/Modal/withScope.js.map +1 -1
- package/build/cjs/ui/hooks/use-hotkeysjs-scope.d.ts +1 -0
- package/build/cjs/ui/hooks/use-hotkeysjs-scope.js +22 -0
- package/build/cjs/ui/hooks/use-hotkeysjs-scope.js.map +1 -0
- package/build/cjs/ui/pages/navigation/Navigation/PathEditorModal/PathEditorModal.d.ts +1 -55
- package/build/cjs/ui/pages/system/Masters/Masters.css +3 -0
- package/build/cjs/ui/pages/system/Masters/Masters.css.map +1 -1
- package/build/cjs/ui/pages/system/Masters/Masters.d.ts +4 -1
- package/build/cjs/ui/pages/system/Masters/Masters.js +22 -3
- package/build/cjs/ui/pages/system/Masters/Masters.js.map +1 -1
- package/build/cjs/ui/pages/system/Masters/SystemAlert.d.ts +4 -0
- package/build/cjs/ui/pages/system/Masters/SystemAlert.js +26 -0
- package/build/cjs/ui/pages/system/Masters/SystemAlert.js.map +1 -0
- package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.d.ts +9 -0
- package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.js +27 -0
- package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.js.map +1 -0
- package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.d.ts +2 -1
- package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.js +8 -4
- package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.js.map +1 -1
- package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css +5 -0
- package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css.map +1 -1
- package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js +13 -6
- package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js.map +1 -1
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css +0 -3
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css.map +1 -1
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.d.ts +0 -1
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +42 -47
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
- package/build/cjs/ui/store/actions/operations/detail.js +2 -2
- 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/store/actions/system/masters.d.ts +2 -1
- package/build/cjs/ui/store/actions/system/masters.js +54 -42
- package/build/cjs/ui/store/actions/system/masters.js.map +1 -1
- package/build/cjs/ui/store/reducers/system/masters.d.ts +12 -3
- package/build/cjs/ui/store/reducers/system/masters.js +9 -4
- package/build/cjs/ui/store/reducers/system/masters.js.map +1 -1
- package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +27 -0
- package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
- package/build/cjs/ui/store/selectors/system/index.d.ts +2 -1
- package/build/cjs/ui/store/selectors/system/index.js.map +1 -1
- package/build/cjs/ui/store/selectors/system/masters.d.ts +3 -0
- package/build/cjs/ui/store/selectors/system/masters.js +4 -1
- package/build/cjs/ui/store/selectors/system/masters.js.map +1 -1
- package/build/cjs/ui/utils/scheduling/detailsTable.d.ts +387 -326
- package/build/cjs/ui/utils/scheduling/detailsTable.js +12 -6
- package/build/cjs/ui/utils/scheduling/detailsTable.js.map +1 -1
- package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +0 -3
- package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
- package/build/cjs/ui/utils/utils.js +2 -1
- package/build/cjs/ui/utils/utils.js.map +1 -1
- package/build/esm/@types/types.d.ts +14 -0
- package/build/esm/ui/components/QuotaEditor/QuotaEditor.js +3 -0
- package/build/esm/ui/components/QuotaEditor/QuotaEditor.js.map +1 -1
- package/build/esm/ui/hocs/components/Modal/withScope.d.ts +4 -55
- package/build/esm/ui/hocs/components/Modal/withScope.js +8 -55
- package/build/esm/ui/hocs/components/Modal/withScope.js.map +1 -1
- package/build/esm/ui/hooks/use-hotkeysjs-scope.d.ts +1 -0
- package/build/esm/ui/hooks/use-hotkeysjs-scope.js +15 -0
- package/build/esm/ui/hooks/use-hotkeysjs-scope.js.map +1 -0
- package/build/esm/ui/pages/navigation/Navigation/PathEditorModal/PathEditorModal.d.ts +1 -55
- package/build/esm/ui/pages/system/Masters/Masters.css +3 -0
- package/build/esm/ui/pages/system/Masters/Masters.css.map +1 -1
- package/build/esm/ui/pages/system/Masters/Masters.d.ts +4 -1
- package/build/esm/ui/pages/system/Masters/Masters.js +22 -3
- package/build/esm/ui/pages/system/Masters/Masters.js.map +1 -1
- package/build/esm/ui/pages/system/Masters/Masters.scss +4 -0
- package/build/esm/ui/pages/system/Masters/SystemAlert.d.ts +4 -0
- package/build/esm/ui/pages/system/Masters/SystemAlert.js +19 -0
- package/build/esm/ui/pages/system/Masters/SystemAlert.js.map +1 -0
- package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.d.ts +9 -0
- package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.js +20 -0
- package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.js.map +1 -0
- package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.d.ts +2 -1
- package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.js +7 -3
- package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.js.map +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css +5 -0
- package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css.map +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js +13 -6
- package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js.map +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.scss +6 -0
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css +0 -3
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css.map +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.d.ts +0 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +42 -47
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.scss +0 -4
- package/build/esm/ui/store/actions/operations/detail.js +2 -2
- 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/store/actions/system/masters.d.ts +2 -1
- package/build/esm/ui/store/actions/system/masters.js +47 -35
- package/build/esm/ui/store/actions/system/masters.js.map +1 -1
- package/build/esm/ui/store/reducers/system/masters.d.ts +12 -3
- package/build/esm/ui/store/reducers/system/masters.js +9 -4
- package/build/esm/ui/store/reducers/system/masters.js.map +1 -1
- package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +27 -0
- package/build/esm/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
- package/build/esm/ui/store/selectors/system/index.d.ts +2 -1
- package/build/esm/ui/store/selectors/system/index.js.map +1 -1
- package/build/esm/ui/store/selectors/system/masters.d.ts +3 -0
- package/build/esm/ui/store/selectors/system/masters.js +3 -0
- package/build/esm/ui/store/selectors/system/masters.js.map +1 -1
- package/build/esm/ui/utils/scheduling/detailsTable.d.ts +387 -326
- package/build/esm/ui/utils/scheduling/detailsTable.js +12 -6
- package/build/esm/ui/utils/scheduling/detailsTable.js.map +1 -1
- package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +0 -3
- package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
- package/build/esm/ui/utils/utils.js +2 -1
- package/build/esm/ui/utils/utils.js.map +1 -1
- package/dist/public/build/assets-manifest.json +7 -7
- package/dist/public/build/css/{main.f7818774.css → main.4c657a42.css} +2 -2
- package/dist/public/build/css/main.4c657a42.css.map +1 -0
- package/dist/public/build/js/main.38e77012.js +3 -0
- package/dist/public/build/js/{main.1b374ad6.js.map → main.38e77012.js.map} +1 -1
- package/dist/public/build/manifest.json +4 -4
- package/package.json +8 -6
- package/scripts/sync-peer-dependencies.js +54 -0
- package/dist/public/build/css/main.f7818774.css.map +0 -1
- package/dist/public/build/js/main.1b374ad6.js +0 -3
- /package/dist/public/build/js/{main.1b374ad6.js.LICENSE.txt → main.38e77012.js.LICENSE.txt} +0 -0
package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactRedux","_bemCnLite","_Info","_BundleParamsList","_Dialog","_hammer","_global","_tabletCellBundleEditor","_tablet_cell_bundles","_tabletCellBundleEditor2","_bundleEditorDialog","_UIFactory","_interopRequireWildcard","_utils","_config","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","block","cn","BundleEditorDialog","_initialValues$resour","_useSelector","useSelector","getTabletCellBundleEditorState","visibleEditor","bundleName","bundleData","data","orchidData","bundleControllerData","clusterUiConfig","getClusterUiConfig","_useSelector2","getBundleEditorData","bundleDefaultConfig","defaultConfig","bundleControllerConfig","bundle_controller_target_config","enableBundleController","enable_bundle_controller","_getResourceData","getResourceData","tabletCountUsage","usage","_getResourceData2","tabletStaticMemoryUsage","writeableByName","getTabletBundlesWriteableByName","allowTabletCount","allowEdit","isDeveloper","initialValues","getInitialFormValues","_ref","rpc_proxy_sizes","tablet_node_sizes","data_centers","createConfigurationList","_toConsumableArray","values","_ref2","_slicedToArray","rpcConfigurations","nodeConfigurations","dcConfigurations","renderGeneralTabs","name","title","type","size","fields","concat","isAbcAllowed","caption","extras","placeholder","disabled","allowRootAccount","renderResourceTab","fullWidth","children","_jsxs","Info","className","UIFactory","renderTableCellBundleEditorNotice","_jsx","BundleParamsList","params","value","hammer","format","resource_quota","memory","vcpu","Number","resources","tablet_count","withoutDetailedBar","progress","validator","simpleBundleValidate","section","hasClear","tooltip","docsUrl","makeLink","docsUrls","instanceCountValidate","_ref3","form","onRadioClick","nodeConfigurationType","defaultMemory","default_config","memory_limits","defaultThreadPool","cpu_limits","resultMemory","getBundleControllerResource","resultThreadPool","change","_objectSpread","bundleEditorDict","defaults","renderSimpleResourceTab","renderMemoryTab","visibilityCondition","when","isActive","v","allValues","_ref4","_allValues$resources","tablet_node_resource_guarantee","onReset","used","keys","reduce","sum","k","_allValues$memory_lim","isNaN","createParams","undefined","_ref5","hasError","_get","errorText","validateMemoryLimits","DialogError","header","message","renderThreadPoolTab","_ref6","_allValues$resources2","postfix","push","dispatch","useDispatch","onClose","hideTabletCellBundleEditor","onSubmit","_ref7","_asyncToGenerator","_regeneratorRuntime","mark","_callee","preparedData","wrap","_callee$","_context","prev","next","abrupt","prepareSubmitBundle","setBundleEditorController","t0","validationErrors","_defineProperty","FORM_ERROR","error","stop","_x","apply","arguments","_isEmpty","YTDFDialog","headerProps","visible","onAdd","_values$resources","_values$resources$tab","memoryLimits","currentAccLimit","acc"],"sources":["BundleEditorDialog.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {Info} from '../../../../components/Info/Info';\nimport {BundleParamsList} from './components/BundleParamsList/BundleParamsList';\nimport {\n DialogError,\n DialogField,\n DialogTabField,\n FORM_ERROR,\n FormApi,\n YTDFDialog,\n} from '../../../../components/Dialog/Dialog';\nimport hammer from '../../../../common/hammer';\n\nimport {getClusterUiConfig, isDeveloper} from '../../../../store/selectors/global';\nimport {\n hideTabletCellBundleEditor,\n setBundleEditorController,\n} from '../../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor';\nimport {\n getBundleEditorData,\n getTabletBundlesWriteableByName,\n} from '../../../../store/selectors/tablet_cell_bundles';\nimport {BundleResourceGuarantee} from '../../../../store/reducers/tablet_cell_bundles';\nimport {getTabletCellBundleEditorState} from '../../../../store/selectors/tablet_cell_bundles/tablet-cell-bundle-editor';\n\nimport {\n bundleEditorDict,\n createConfigurationList,\n createParams,\n getBundleControllerResource,\n getInitialFormValues,\n getResourceData,\n instanceCountValidate,\n prepareSubmitBundle,\n simpleBundleValidate,\n} from '../../../../utils/tablet_cell_bundles/bundles/bundle-editor-dialog';\nimport UIFactory, {isAbcAllowed} from '../../../../UIFactory';\nimport {makeLink} from '../../../../utils/utils';\nimport {docsUrl} from '../../../../config';\n\nimport './BundleEditorDialog.scss';\n\nconst block = cn('bundle-editor');\n\nexport interface BundleEditorDialogFormValues {\n general: {\n abc?: {slug: string; id?: number};\n changelog_account?: string;\n snapshot_account?: string;\n };\n resources: {\n info?: string; // system\n rpc_proxy_count?: number; // todo\n rpc_proxy_resource_guarantee?: BundleResourceGuarantee;\n tablet_node_count?: number;\n tablet_node_resource_guarantee?: BundleResourceGuarantee;\n tablet_count?: number; // old\n tablet_static_memory?: number; // pld\n };\n memory_limits: {\n error?: boolean; // system\n memory_reset: boolean; // system\n reserved?: number;\n tablet_static?: number;\n tablet_dynamic?: number;\n compressed_block_cache?: number;\n uncompressed_block_cache?: number;\n versioned_chunk_meta?: number;\n lookup_row_cache?: number;\n key_filter_block_cache?: number;\n };\n cpu_limits: {\n threadPool_reset?: boolean; //system\n lookup_thread_pool_size?: number;\n query_thread_pool_size?: number;\n write_thread_pool_size?: number;\n };\n}\n\nexport function BundleEditorDialog() {\n const {\n visibleEditor,\n bundleName,\n bundleData,\n data,\n bundleControllerData: orchidData,\n } = useSelector(getTabletCellBundleEditorState);\n\n const clusterUiConfig = useSelector(getClusterUiConfig);\n\n const {defaultConfig: bundleDefaultConfig} = useSelector(getBundleEditorData);\n\n const bundleControllerConfig = bundleData?.bundle_controller_target_config;\n const enableBundleController = bundleData?.enable_bundle_controller || false;\n\n const {usage: tabletCountUsage} = getResourceData(data, 'tablet_count');\n const {usage: tabletStaticMemoryUsage} = getResourceData(data, 'tablet_static_memory');\n\n const writeableByName = useSelector(getTabletBundlesWriteableByName);\n const allowTabletCount = writeableByName.get(bundleName ?? '');\n const allowEdit = useSelector(isDeveloper);\n\n const initialValues: Partial<BundleEditorDialogFormValues> = (() => {\n if (!enableBundleController) {\n return getInitialFormValues(data);\n }\n if (!bundleControllerConfig) {\n return {};\n }\n return getInitialFormValues(data, bundleControllerConfig);\n })();\n\n const [rpcConfigurations, nodeConfigurations, dcConfigurations] = (() => {\n if (!bundleDefaultConfig) {\n return [[], [], []];\n }\n const {rpc_proxy_sizes, tablet_node_sizes, data_centers} = bundleDefaultConfig;\n\n return [\n createConfigurationList(rpc_proxy_sizes),\n createConfigurationList(tablet_node_sizes),\n data_centers ? [...Object.values(data_centers)] : [],\n ];\n })();\n\n const renderGeneralTabs: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'general',\n title: 'General',\n type: 'tab-vertical',\n size: 's',\n fields: [\n ...(!isAbcAllowed()\n ? []\n : [\n {\n name: 'abc',\n type: 'abc-control' as const,\n caption: 'ABC Service',\n extras: {\n placeholder: 'Select ABC service...',\n disabled: !allowEdit,\n },\n },\n ]),\n {\n name: 'changelog_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Changelog account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n {\n name: 'snapshot_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Snapshot account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n ],\n };\n\n const renderResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'info',\n type: 'block',\n fullWidth: true,\n extras: {\n children: (\n <Info className={block('info')}>\n {UIFactory.renderTableCellBundleEditorNotice({\n bundleData,\n clusterUiConfig,\n })}\n <BundleParamsList\n className={block('params')}\n params={[\n {\n title: 'Memory',\n value: hammer.format['Bytes'](\n orchidData?.resource_quota.memory || '0',\n ),\n },\n {\n title: 'vCPU',\n value: hammer.format['vCores'](\n orchidData?.resource_quota.vcpu || '0',\n ),\n },\n {\n title: 'Tablet count',\n value: hammer.format.Number(\n initialValues.resources?.tablet_count,\n ),\n },\n ]}\n />\n </Info>\n ),\n },\n },\n ...(!allowTabletCount\n ? []\n : [\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n } as const,\n ]),\n {section: 'RPC proxy'},\n {\n type: 'bundle-input',\n name: 'rpc_proxy_count',\n caption: 'RPC proxy count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n tooltip: docsUrl(makeLink(UIFactory.docsUrls['dynamic-tables:cross-dc'], 'Help')),\n validator: instanceCountValidate(dcConfigurations),\n },\n {\n type: 'bundle-table-field',\n name: 'rpc_proxy_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: {\n data: rpcConfigurations,\n },\n },\n {section: 'Tablet node'},\n {\n type: 'bundle-input',\n name: 'tablet_node_count',\n caption: 'Tablet node count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n tooltip: docsUrl(makeLink(UIFactory.docsUrls['dynamic-tables:cross-dc'], 'Help')),\n validator: instanceCountValidate(dcConfigurations),\n },\n {\n type: 'bundle-table-field',\n name: 'tablet_node_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: function (values, {form}) {\n const onRadioClick = (value: BundleResourceGuarantee) => {\n const nodeConfigurationType = value.type || '';\n\n const defaultMemory =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.memory_limits || {};\n const defaultThreadPool =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.cpu_limits || {};\n\n const resultMemory = getBundleControllerResource(\n values.memory_limits,\n defaultMemory,\n 'memory_limits',\n );\n const resultThreadPool = getBundleControllerResource(\n values.cpu_limits,\n defaultThreadPool,\n 'cpu_limits',\n );\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...resultMemory,\n });\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...resultThreadPool,\n });\n };\n\n return {\n data: nodeConfigurations,\n onRadioClick,\n };\n },\n },\n ],\n };\n\n const renderSimpleResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_static_memory',\n type: 'bundle-input',\n caption: 'Tablet static memory',\n extras: {\n format: 'Bytes',\n progress: {\n usage: tabletStaticMemoryUsage,\n },\n },\n validator: simpleBundleValidate,\n tooltip: (\n <span>\n Tablet static memory limit is based on hardware resources. Do not increase\n it unless you fully understand what you are doing. In case of emergency\n consider adding new tablet cells to the bundle, consulting with\n Components/Nodes page and increasing the limit only when new nodes are added\n to the bundle.\n </span>\n ),\n },\n ],\n };\n\n const renderMemoryTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'memory_limits',\n title: 'Memory',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'memory_reset',\n type: 'bundle-title',\n caption: 'Memory',\n extras: (allValues, {form}) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n const onReset = () => {\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return;\n }\n const type = tablet_node_resource_guarantee.type;\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {memory_limits} = tablet_node_sizes[type].default_config;\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...memory_limits,\n });\n };\n\n if (!tablet_node_resource_guarantee) {\n return {\n params: [],\n onReset,\n };\n }\n const {memory} = tablet_node_resource_guarantee;\n\n const used = bundleEditorDict.keys.memory_limits.reduce((sum, k) => {\n const v = allValues?.memory_limits?.[k];\n return typeof v !== 'number' || isNaN(v) ? sum : sum + v;\n }, 0);\n\n return {\n params: createParams('Bytes', memory, used),\n onReset,\n };\n },\n },\n {\n name: 'reserved',\n type: 'bundle-input',\n caption: 'Reserved',\n extras: {\n format: 'Bytes',\n disabled: true,\n },\n tooltip: docsUrl(\n makeLink(UIFactory.docsUrls['bundle-controller:reserved-memory'], 'Help'),\n ),\n },\n {\n name: 'tablet_static',\n type: 'bundle-input',\n caption: 'Tablet static',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_dynamic',\n type: 'bundle-input',\n caption: 'Tablet dynamic',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'compressed_block_cache',\n type: 'bundle-input',\n caption: 'Compressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'uncompressed_block_cache',\n type: 'bundle-input',\n caption: 'Uncompressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'versioned_chunk_meta',\n type: 'bundle-input',\n caption: 'Versioned chunk meta',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'lookup_row_cache',\n type: 'bundle-input',\n caption: 'Lookup row cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'key_filter_block_cache',\n type: 'bundle-input',\n caption: 'Key filter block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'block',\n name: 'error',\n validator: (v: any) => (v ? v : undefined),\n fullWidth: true,\n extras(allValues, {form}) {\n const hasError = _.get(allValues, 'memory_limits.error');\n const errorText = validateMemoryLimits(allValues);\n\n if (errorText && !hasError) {\n form.change('memory_limits.error', true);\n } else if (!errorText && hasError) {\n form.change('memory_limits.error', false);\n }\n\n return {\n children: !errorText ? null : (\n <DialogError header={'Error'} message={<span>{errorText}</span>} />\n ),\n };\n },\n },\n ],\n };\n\n const renderThreadPoolTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'cpu_limits',\n title: 'Thread pools',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'threadPool_reset',\n type: 'bundle-title',\n caption: 'vCPU',\n extras: (allValues, {form}) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return {\n params: [],\n onReset: () => {},\n };\n }\n\n const onReset = () => {\n const type = tablet_node_resource_guarantee.type;\n if (!type) {\n return;\n }\n\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {cpu_limits} = tablet_node_sizes[type].default_config;\n\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...cpu_limits,\n });\n };\n\n const {vcpu} = tablet_node_resource_guarantee;\n\n return {\n params: createParams('vCores', vcpu),\n onReset,\n };\n },\n },\n {\n name: 'lookup_thread_pool_size',\n type: 'bundle-input',\n caption: 'Lookup thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'query_thread_pool_size',\n type: 'bundle-input',\n caption: 'Query thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'write_thread_pool_size',\n type: 'bundle-input',\n caption: 'Write thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const fields = [renderGeneralTabs];\n if (enableBundleController) {\n fields.push(renderResourceTab, renderMemoryTab, renderThreadPoolTab);\n } else {\n fields.push(renderSimpleResourceTab);\n }\n\n const dispatch = useDispatch();\n const onClose = () => {\n dispatch(hideTabletCellBundleEditor());\n };\n\n const onSubmit = async (form: FormApi<BundleEditorDialogFormValues>) => {\n if (!bundleName) {\n return {};\n }\n\n const preparedData = prepareSubmitBundle(form);\n\n try {\n await dispatch(\n setBundleEditorController({\n bundleName,\n data: preparedData,\n }),\n );\n return undefined;\n } catch (error) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n }\n };\n\n if (_.isEmpty(data)) {\n return null;\n }\n\n return (\n <YTDFDialog<BundleEditorDialogFormValues>\n className={block('dialog')}\n headerProps={{\n title: bundleName,\n }}\n size=\"l\"\n initialValues={initialValues}\n visible={visibleEditor}\n onAdd={onSubmit}\n onClose={onClose}\n fields={fields}\n />\n );\n}\n\nfunction validateMemoryLimits(values: BundleEditorDialogFormValues) {\n if (values.resources?.tablet_node_resource_guarantee) {\n const memoryLimits = values.resources.tablet_node_resource_guarantee?.memory || 0;\n const currentAccLimit =\n Object.values(values.memory_limits || {}).reduce((acc: number, v: number | boolean) => {\n if (typeof v !== 'number') {\n return acc;\n }\n return acc + v;\n }, 0) || 0;\n\n if (currentAccLimit > memoryLimits) {\n return 'The sum of the memory limits exceeds the allowed values';\n }\n }\n\n return '';\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactRedux","_bemCnLite","_isEmpty","_Info","_BundleParamsList","_Dialog","_hammer","_global","_tabletCellBundleEditor","_tablet_cell_bundles","_tabletCellBundleEditor2","_bundleEditorDialog","_UIFactory","_interopRequireWildcard","_utils","_config","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","block","cn","BundleEditorDialog","_initialValues$resour","_useSelector","useSelector","getTabletCellBundleEditorState","visibleEditor","bundleName","bundleData","data","orchidData","bundleControllerData","clusterUiConfig","getClusterUiConfig","_useSelector2","getBundleEditorData","bundleDefaultConfig","defaultConfig","bundleControllerConfig","bundle_controller_target_config","enableBundleController","enable_bundle_controller","_getResourceData","getResourceData","tabletCountUsage","usage","_getResourceData2","tabletStaticMemoryUsage","writeableByName","getTabletBundlesWriteableByName","allowTabletCount","allowEdit","isDeveloper","initialValues","getInitialFormValues","_ref","rpc_proxy_sizes","tablet_node_sizes","data_centers","createConfigurationList","_toConsumableArray","values","_ref2","_slicedToArray","rpcConfigurations","nodeConfigurations","dcConfigurations","renderGeneralTabs","name","title","type","size","fields","concat","isAbcAllowed","caption","extras","placeholder","disabled","allowRootAccount","renderResourceTab","fullWidth","touched","children","_jsxs","Info","className","UIFactory","renderTableCellBundleEditorNotice","_jsx","BundleParamsList","params","value","hammer","format","resource_quota","memory","vcpu","Number","resources","tablet_count","withoutDetailedBar","progress","validator","simpleBundleValidate","section","hasClear","tooltip","docsUrl","makeLink","docsUrls","instanceCountValidate","_ref3","form","onRadioClick","nodeConfigurationType","defaultMemory","default_config","memory_limits","defaultThreadPool","cpu_limits","resultMemory","getBundleControllerResource","resultThreadPool","change","_objectSpread","bundleEditorDict","defaults","renderSimpleResourceTab","renderMemoryTab","visibilityCondition","when","isActive","v","allValues","_ref4","_allValues$resources","tablet_node_resource_guarantee","onReset","used","keys","reduce","sum","k","_allValues$memory_lim","isNaN","createParams","renderThreadPoolTab","_ref5","_allValues$resources2","postfix","push","dispatch","useDispatch","onClose","hideTabletCellBundleEditor","onSubmit","_ref6","_asyncToGenerator","_regeneratorRuntime","mark","_callee","preparedData","wrap","_callee$","_context","prev","next","abrupt","prepareSubmitBundle","setBundleEditorController","undefined","t0","validationErrors","_defineProperty","FORM_ERROR","DialogError","error","stop","_x","apply","arguments","isEmpty_","YTDFDialog","headerProps","visible","onAdd","validate","validateFormValues","bind","quota","_tabletNode$memory","_tabletNode$vcpu","_resources$rpc_proxy_2","_resources$rpc_proxy_3","_tabletNode$memory2","_resources$rpc_proxy_4","_resources$rpc_proxy_5","res","info","memory_reset","currentAccLimit","acc","tabletNode","_resources$rpc_proxy_","rpc_proxy_count","_resources$tablet_nod","tablet_node_count","requiredCpu","rpc_proxy_resource_guarantee","violatedResources","requiredMemory","Bytes","length","join"],"sources":["BundleEditorDialog.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\nimport isEmpty_ from 'lodash/isEmpty';\n\nimport {Info} from '../../../../components/Info/Info';\nimport {BundleParamsList} from './components/BundleParamsList/BundleParamsList';\nimport {\n DialogError,\n DialogField,\n DialogTabField,\n FORM_ERROR,\n FormApi,\n YTDFDialog,\n} from '../../../../components/Dialog/Dialog';\nimport hammer from '../../../../common/hammer';\n\nimport {getClusterUiConfig, isDeveloper} from '../../../../store/selectors/global';\nimport {\n hideTabletCellBundleEditor,\n setBundleEditorController,\n} from '../../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor';\nimport {\n getBundleEditorData,\n getTabletBundlesWriteableByName,\n} from '../../../../store/selectors/tablet_cell_bundles';\nimport {\n BundleResourceGuarantee,\n OrchidBundleResource,\n} from '../../../../store/reducers/tablet_cell_bundles';\nimport {getTabletCellBundleEditorState} from '../../../../store/selectors/tablet_cell_bundles/tablet-cell-bundle-editor';\n\nimport {\n bundleEditorDict,\n createConfigurationList,\n createParams,\n getBundleControllerResource,\n getInitialFormValues,\n getResourceData,\n instanceCountValidate,\n prepareSubmitBundle,\n simpleBundleValidate,\n} from '../../../../utils/tablet_cell_bundles/bundles/bundle-editor-dialog';\nimport UIFactory, {isAbcAllowed} from '../../../../UIFactory';\nimport {makeLink} from '../../../../utils/utils';\nimport {docsUrl} from '../../../../config';\n\nimport './BundleEditorDialog.scss';\nimport {Pick2} from '../../../../../@types/types';\n\nconst block = cn('bundle-editor');\n\nexport interface BundleEditorDialogFormValues {\n general: {\n abc?: {slug: string; id?: number};\n changelog_account?: string;\n snapshot_account?: string;\n };\n resources: {\n info?: string; // system\n rpc_proxy_count?: number; // todo\n rpc_proxy_resource_guarantee?: BundleResourceGuarantee;\n tablet_node_count?: number;\n tablet_node_resource_guarantee?: BundleResourceGuarantee;\n tablet_count?: number; // old\n tablet_static_memory?: number; // pld\n };\n memory_limits: {\n memory_reset: boolean; // system\n reserved?: number;\n tablet_static?: number;\n tablet_dynamic?: number;\n compressed_block_cache?: number;\n uncompressed_block_cache?: number;\n versioned_chunk_meta?: number;\n lookup_row_cache?: number;\n key_filter_block_cache?: number;\n };\n cpu_limits: {\n threadPool_reset?: boolean; //system\n lookup_thread_pool_size?: number;\n query_thread_pool_size?: number;\n write_thread_pool_size?: number;\n };\n}\n\nexport function BundleEditorDialog() {\n const {\n visibleEditor,\n bundleName,\n bundleData,\n data,\n bundleControllerData: orchidData,\n } = useSelector(getTabletCellBundleEditorState);\n\n const clusterUiConfig = useSelector(getClusterUiConfig);\n\n const {defaultConfig: bundleDefaultConfig} = useSelector(getBundleEditorData);\n\n const bundleControllerConfig = bundleData?.bundle_controller_target_config;\n const enableBundleController = bundleData?.enable_bundle_controller || false;\n\n const {usage: tabletCountUsage} = getResourceData(data, 'tablet_count');\n const {usage: tabletStaticMemoryUsage} = getResourceData(data, 'tablet_static_memory');\n\n const writeableByName = useSelector(getTabletBundlesWriteableByName);\n const allowTabletCount = writeableByName.get(bundleName ?? '');\n const allowEdit = useSelector(isDeveloper);\n\n const initialValues: Partial<BundleEditorDialogFormValues> = (() => {\n if (!enableBundleController) {\n return getInitialFormValues(data);\n }\n if (!bundleControllerConfig) {\n return {};\n }\n return getInitialFormValues(data, bundleControllerConfig);\n })();\n\n const [rpcConfigurations, nodeConfigurations, dcConfigurations] = (() => {\n if (!bundleDefaultConfig) {\n return [[], [], []];\n }\n const {rpc_proxy_sizes, tablet_node_sizes, data_centers} = bundleDefaultConfig;\n\n return [\n createConfigurationList(rpc_proxy_sizes),\n createConfigurationList(tablet_node_sizes),\n data_centers ? [...Object.values(data_centers)] : [],\n ];\n })();\n\n const renderGeneralTabs: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'general',\n title: 'General',\n type: 'tab-vertical',\n size: 's',\n fields: [\n ...(!isAbcAllowed()\n ? []\n : [\n {\n name: 'abc',\n type: 'abc-control' as const,\n caption: 'ABC Service',\n extras: {\n placeholder: 'Select ABC service...',\n disabled: !allowEdit,\n },\n },\n ]),\n {\n name: 'changelog_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Changelog account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n {\n name: 'snapshot_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Snapshot account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n ],\n };\n\n const renderResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'info',\n type: 'block',\n fullWidth: true,\n touched: true,\n extras: {\n children: (\n <Info className={block('info')}>\n {UIFactory.renderTableCellBundleEditorNotice({\n bundleData,\n clusterUiConfig,\n })}\n <BundleParamsList\n className={block('params')}\n params={[\n {\n title: 'Memory',\n value: hammer.format['Bytes'](\n orchidData?.resource_quota.memory || '0',\n ),\n },\n {\n title: 'vCPU',\n value: hammer.format['vCores'](\n orchidData?.resource_quota.vcpu || '0',\n ),\n },\n {\n title: 'Tablet count',\n value: hammer.format.Number(\n initialValues.resources?.tablet_count,\n ),\n },\n ]}\n />\n </Info>\n ),\n },\n },\n ...(!allowTabletCount\n ? []\n : [\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n } as const,\n ]),\n {section: 'RPC proxy'},\n {\n type: 'bundle-input',\n name: 'rpc_proxy_count',\n caption: 'RPC proxy count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n tooltip: docsUrl(makeLink(UIFactory.docsUrls['dynamic-tables:cross-dc'], 'Help')),\n validator: instanceCountValidate(dcConfigurations),\n },\n {\n type: 'bundle-table-field',\n name: 'rpc_proxy_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: {\n data: rpcConfigurations,\n },\n },\n {section: 'Tablet node'},\n {\n type: 'bundle-input',\n name: 'tablet_node_count',\n caption: 'Tablet node count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n tooltip: docsUrl(makeLink(UIFactory.docsUrls['dynamic-tables:cross-dc'], 'Help')),\n validator: instanceCountValidate(dcConfigurations),\n },\n {\n type: 'bundle-table-field',\n name: 'tablet_node_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: function (values, {form}) {\n const onRadioClick = (value: BundleResourceGuarantee) => {\n const nodeConfigurationType = value.type || '';\n\n const defaultMemory =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.memory_limits || {};\n const defaultThreadPool =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.cpu_limits || {};\n\n const resultMemory = getBundleControllerResource(\n values.memory_limits,\n defaultMemory,\n 'memory_limits',\n );\n const resultThreadPool = getBundleControllerResource(\n values.cpu_limits,\n defaultThreadPool,\n 'cpu_limits',\n );\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...resultMemory,\n });\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...resultThreadPool,\n });\n };\n\n return {\n data: nodeConfigurations,\n onRadioClick,\n };\n },\n },\n ],\n };\n\n const renderSimpleResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_static_memory',\n type: 'bundle-input',\n caption: 'Tablet static memory',\n extras: {\n format: 'Bytes',\n progress: {\n usage: tabletStaticMemoryUsage,\n },\n },\n validator: simpleBundleValidate,\n tooltip: (\n <span>\n Tablet static memory limit is based on hardware resources. Do not increase\n it unless you fully understand what you are doing. In case of emergency\n consider adding new tablet cells to the bundle, consulting with\n Components/Nodes page and increasing the limit only when new nodes are added\n to the bundle.\n </span>\n ),\n },\n ],\n };\n\n const renderMemoryTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'memory_limits',\n title: 'Memory',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'memory_reset',\n type: 'bundle-title',\n caption: 'Memory',\n touched: true,\n extras: (allValues, {form}) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n const onReset = () => {\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return;\n }\n const type = tablet_node_resource_guarantee.type;\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {memory_limits} = tablet_node_sizes[type].default_config;\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...memory_limits,\n });\n };\n\n if (!tablet_node_resource_guarantee) {\n return {\n params: [],\n onReset,\n };\n }\n const {memory} = tablet_node_resource_guarantee;\n\n const used = bundleEditorDict.keys.memory_limits.reduce((sum, k) => {\n const v = allValues?.memory_limits?.[k];\n return typeof v !== 'number' || isNaN(v) ? sum : sum + v;\n }, 0);\n\n return {\n params: createParams('Bytes', memory, used),\n onReset,\n };\n },\n },\n {\n name: 'reserved',\n type: 'bundle-input',\n caption: 'Reserved',\n extras: {\n format: 'Bytes',\n disabled: true,\n },\n tooltip: docsUrl(\n makeLink(UIFactory.docsUrls['bundle-controller:reserved-memory'], 'Help'),\n ),\n },\n {\n name: 'tablet_static',\n type: 'bundle-input',\n caption: 'Tablet static',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_dynamic',\n type: 'bundle-input',\n caption: 'Tablet dynamic',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'compressed_block_cache',\n type: 'bundle-input',\n caption: 'Compressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'uncompressed_block_cache',\n type: 'bundle-input',\n caption: 'Uncompressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'versioned_chunk_meta',\n type: 'bundle-input',\n caption: 'Versioned chunk meta',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'lookup_row_cache',\n type: 'bundle-input',\n caption: 'Lookup row cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'key_filter_block_cache',\n type: 'bundle-input',\n caption: 'Key filter block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const renderThreadPoolTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'cpu_limits',\n title: 'Thread pools',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'threadPool_reset',\n type: 'bundle-title',\n caption: 'vCPU',\n extras: (allValues, {form}) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return {\n params: [],\n onReset: () => {},\n };\n }\n\n const onReset = () => {\n const type = tablet_node_resource_guarantee.type;\n if (!type) {\n return;\n }\n\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {cpu_limits} = tablet_node_sizes[type].default_config;\n\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...cpu_limits,\n });\n };\n\n const {vcpu} = tablet_node_resource_guarantee;\n\n return {\n params: createParams('vCores', vcpu),\n onReset,\n };\n },\n },\n {\n name: 'lookup_thread_pool_size',\n type: 'bundle-input',\n caption: 'Lookup thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'query_thread_pool_size',\n type: 'bundle-input',\n caption: 'Query thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'write_thread_pool_size',\n type: 'bundle-input',\n caption: 'Write thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const fields = [renderGeneralTabs];\n if (enableBundleController) {\n fields.push(renderResourceTab, renderMemoryTab, renderThreadPoolTab);\n } else {\n fields.push(renderSimpleResourceTab);\n }\n\n const dispatch = useDispatch();\n const onClose = () => {\n dispatch(hideTabletCellBundleEditor());\n };\n\n const onSubmit = async (form: FormApi<BundleEditorDialogFormValues>) => {\n if (!bundleName) {\n return {};\n }\n\n const preparedData = prepareSubmitBundle(form);\n\n try {\n await dispatch(\n setBundleEditorController({\n bundleName,\n data: preparedData,\n }),\n );\n return undefined;\n } catch (error) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n }\n };\n\n if (isEmpty_(data)) {\n return null;\n }\n\n return (\n <YTDFDialog<BundleEditorDialogFormValues>\n className={block('dialog')}\n headerProps={{\n title: bundleName,\n }}\n size=\"l\"\n initialValues={initialValues}\n visible={visibleEditor}\n onAdd={onSubmit}\n onClose={onClose}\n fields={fields}\n validate={validateFormValues.bind(null, orchidData?.resource_quota)}\n />\n );\n}\n\nfunction validateFormValues(\n quota: OrchidBundleResource | undefined,\n values: BundleEditorDialogFormValues,\n) {\n const res: Pick2<typeof values, 'resources', 'info', string> &\n Pick2<typeof values, 'memory_limits', 'memory_reset', string> = {\n resources: {info: ''},\n memory_limits: {memory_reset: ''},\n };\n\n const {resources} = values;\n\n const currentAccLimit = Object.values(values.memory_limits || {}).reduce(\n (acc: number, v: number | boolean) => {\n if (typeof v !== 'number') {\n return acc;\n }\n return acc + v;\n },\n 0,\n );\n\n const tabletNode = resources.tablet_node_resource_guarantee;\n res.memory_limits.memory_reset =\n currentAccLimit > (tabletNode?.memory ?? 0)\n ? 'The sum of the memory limits exceeds the allowed values'\n : '';\n\n const {rpc_proxy_count = 0, tablet_node_count = 0} = resources;\n\n const requiredCpu =\n (tabletNode?.vcpu ?? 0) * tablet_node_count +\n (resources.rpc_proxy_resource_guarantee?.vcpu ?? 0) * rpc_proxy_count;\n\n const violatedResources = [];\n\n if (requiredCpu > quota?.vcpu!) {\n violatedResources.push(`${hammer.format.Number(requiredCpu / 1000)} cpu required`);\n }\n\n const requiredMemory =\n (tabletNode?.memory ?? 0) * tablet_node_count +\n (resources.rpc_proxy_resource_guarantee?.memory ?? 0) * rpc_proxy_count;\n\n if (requiredMemory > quota?.memory!) {\n violatedResources.push(`${hammer.format.Bytes(requiredMemory)} memory requried`);\n }\n\n res.resources.info = violatedResources.length ? violatedResources.join(', ') : '';\n\n return res;\n}\n"],"mappings":"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"}
|
@@ -38,13 +38,13 @@ function getIsEphemeral(_ref) {
|
|
38
38
|
var treesInfo = _ypath.default.get(operationAttributes, '/runtime_parameters/scheduling_options_per_pool_tree');
|
39
39
|
var trees = Object.keys(treesInfo);
|
40
40
|
var poolPaths = Object.values((0, _mapValues.default)(treesInfo, function (infoPerTree, tree) {
|
41
|
-
return "".concat(tree, "/
|
41
|
+
return "".concat(tree, "/pools/").concat(_ypath.default.getValue(infoPerTree, '/pool'), "/is_ephemeral");
|
42
42
|
}));
|
43
43
|
var requests = poolPaths.map(function (path) {
|
44
44
|
return {
|
45
45
|
command: 'get',
|
46
46
|
parameters: {
|
47
|
-
path: '//sys/scheduler/orchid/scheduler/
|
47
|
+
path: '//sys/scheduler/orchid/scheduler/pool_trees/' + path
|
48
48
|
}
|
49
49
|
};
|
50
50
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_mapValues","_interopRequireDefault","require","_ypath","_dataFlow","_specification","_events","_runtime","_alerts","_error","_detail","_selectors","_detail2","_utils","_utils2","_list","_index","_uikit","_cancelHelper","_constants","_rumWrapApi","_jobsMonitor","obj","__esModule","default","toaster","Toaster","operationDetailsRequests","CancelHelper","getIsEphemeral","_ref","_ref2","_slicedToArray","operationAttributes","userTransactionAlive","treesInfo","ypath","get","trees","Object","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","YTErrors","NODE_DOES_NOT_EXIST","res","reduce","acc","poolInfo","index","pool","isEphemeral","getBoolean","_defineProperty","Promise","all","loadIntermediateResourceUsage","operation","callback","_ref4","_asyncToGenerator","_regeneratorRuntime","mark","_callee","dispatch","outputTransaction","wrap","_callee$","_context","prev","next","type","LOAD_RESOURCE_USAGE","REQUEST","abrupt","operationIntermediateResourceUsage","resources","intermediateResources","prepareIntermediateUsage","SUCCESS","FAILURE","CANCELLED","stop","_x","apply","arguments","getOperation","id","getState","isAlias","isOperationId","params","assign","include_scheduler","output_format","TYPED_OUTPUT_FORMAT","operation_alias","operation_id","GET_OPERATION","ytApiV3","checkUserTransaction","_ref5","_ref6","preparedAttributes","prepareAttributes","DetailedOperationSelector","dispatchOperationSuccess","actions","prepareActions","specification","prepareSpecification","alerts","prepareAlerts","alert_events","prepareError","runtime","prepareRuntime","events","prepareOperationEvents","prepareCompletedUsage","details","inIntermediateState","getJobsMonitoringDescriptors","_getState","operations","isFirstLoading","detail","loaded","add","name","autoHiding","title","content","message","label","onClick","showErrorPopup"],"sources":["detail.ts"],"sourcesContent":["import mapValues from 'lodash/mapValues';\nimport ypath from '../../../common/thor/ypath';\n\nimport {\n prepareCompletedUsage,\n prepareIntermediateUsage,\n} from '../../../utils/operations/tabs/details/data-flow';\nimport {prepareSpecification} from '../../../utils/operations/tabs/details/specification/specification';\nimport {prepareOperationEvents} from '../../../utils/operations/tabs/details/events/events';\nimport {prepareRuntime} from '../../../utils/operations/tabs/details/runtime';\nimport {prepareAlerts} from '../../../utils/operations/tabs/details/alerts';\nimport {prepareError} from '../../../utils/operations/tabs/details/error';\n\nimport {GET_OPERATION, LOAD_RESOURCE_USAGE} from '../../../constants/operations/detail';\nimport {DetailedOperationSelector} from '../../../pages/operations/selectors';\nimport {checkUserTransaction, prepareActions} 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 {YTErrors} from '../../../rum/constants';\nimport {YTApiId, ytApiV3, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {getJobsMonitoringDescriptors} from '../../../store/actions/operations/jobs-monitor';\n\nimport type {RootState} from './../../../store/reducers';\nimport type {ThunkAction} from 'redux-thunk';\nimport type {OperationDetailActionType} from '../../reducers/operations/detail';\n\nconst toaster = new Toaster();\nconst operationDetailsRequests = new CancelHelper();\n\nfunction getIsEphemeral([operationAttributes, userTransactionAlive]: Awaited<\n ReturnType<typeof checkUserTransaction>\n>) {\n const treesInfo = ypath.get(\n operationAttributes,\n '/runtime_parameters/scheduling_options_per_pool_tree',\n );\n const trees = Object.keys(treesInfo);\n const poolPaths = Object.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 = poolPaths.map((path) => {\n return {\n command: 'get' as const,\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 data.map(({error, output}) =>\n error\n ? ypath.getNumberDeprecated(error.code) === YTErrors.NODE_DOES_NOT_EXIST\n : output,\n ),\n )\n .then((res) =>\n res.reduce((acc, poolInfo, index) => {\n const tree = trees[index];\n const pool = ypath.getValue(treesInfo[tree], '/pool');\n const isEphemeral = ypath.getBoolean(poolInfo);\n\n acc[tree] = {\n [pool]: {isEphemeral},\n };\n\n return acc;\n }, {} as Record<string, {isEphemeral: boolean}>),\n );\n\n return Promise.all([operationAttributes, userTransactionAlive, orchidAttributes]);\n}\n\nfunction loadIntermediateResourceUsage(\n operation: unknown,\n callback: () => void,\n): ThunkAction<Promise<void>, RootState, unknown, OperationDetailActionType> {\n return async (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\n const intermediateResources = prepareIntermediateUsage(operation, resources);\n\n dispatch({\n type: LOAD_RESOURCE_USAGE.SUCCESS,\n data: {resources, intermediateResources},\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(\n id: string,\n): ThunkAction<Promise<void>, RootState, unknown, OperationDetailActionType> {\n return (dispatch, getState) => {\n const isAlias = !isOperationId(id);\n\n const params = Object.assign(\n {include_scheduler: true, output_format: TYPED_OUTPUT_FORMAT},\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 const actions = prepareActions(operation);\n\n const specification = prepareSpecification(operation, userTransactionAlive);\n const alerts = prepareAlerts(ypath.getValue(operation, '/@alerts'));\n const alert_events = ypath.getValue(operation, '/@alert_events');\n const error = prepareError(operation);\n const runtime = prepareRuntime(operation);\n const events = prepareOperationEvents(operation);\n const resources = prepareCompletedUsage(operation);\n\n const details = {\n specification,\n alerts,\n alert_events,\n error,\n runtime,\n events,\n resources,\n };\n\n dispatch({\n type: GET_OPERATION.SUCCESS,\n data: {operation, actions, details},\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 !== YTErrors.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: [{label: ' view', onClick: () => showErrorPopup(error)}],\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,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,SAAA,GAAAF,OAAA;AAIA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAEA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AACA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AACA,IAAAa,KAAA,GAAAb,OAAA;AACA,IAAAc,MAAA,GAAAd,OAAA;AACA,IAAAe,MAAA,GAAAf,OAAA;AACA,IAAAgB,aAAA,GAAAjB,sBAAA,CAAAC,OAAA;AACA,IAAAiB,UAAA,GAAAjB,OAAA;AACA,IAAAkB,WAAA,GAAAlB,OAAA;AACA,IAAAmB,YAAA,GAAAnB,OAAA;AAA2F,SAAAD,uBAAAqB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAM3F,IAAMG,OAAO,GAAG,IAAIC,cAAO,CAAC,CAAC;AAC7B,IAAMC,wBAAwB,GAAG,IAAIC,qBAAY,CAAC,CAAC;AAEnD,SAASC,cAAcA,CAAAC,IAAA,EAEpB;EAAA,IAAAC,KAAA,OAAAC,uBAAA,EAAAF,IAAA;IAFsBG,mBAAmB,GAAAF,KAAA;IAAEG,oBAAoB,GAAAH,KAAA;EAG9D,IAAMI,SAAS,GAAGC,cAAK,CAACC,GAAG,CACvBJ,mBAAmB,EACnB,sDACJ,CAAC;EACD,IAAMK,KAAK,GAAGC,MAAM,CAACC,IAAI,CAACL,SAAS,CAAC;EACpC,IAAMM,SAAS,GAAGF,MAAM,CAACG,MAAM,CAC3B,IAAAC,kBAAS,EACLR,SAAS,EACT,UAACS,WAAW,EAAEC,IAAI;IAAA,UAAAC,MAAA,CACXD,IAAI,6BAAAC,MAAA,CAA0BV,cAAK,CAACW,QAAQ,CAC3CH,WAAW,EACX,OACJ,CAAC;EAAA,CACT,CACJ,CAAC;EACD,IAAMI,QAAQ,GAAGP,SAAS,CAACQ,GAAG,CAAC,UAACC,IAAI,EAAK;IACrC,OAAO;MACHC,OAAO,EAAE,KAAc;MACvBC,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;IAAA,OACPA,IAAI,CAACV,GAAG,CAAC,UAAAW,KAAA;MAAA,IAAEC,KAAK,GAAAD,KAAA,CAALC,KAAK;QAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM;MAAA,OACpBD,KAAK,GACCzB,cAAK,CAAC2B,mBAAmB,CAACF,KAAK,CAACG,IAAI,CAAC,KAAKC,mBAAQ,CAACC,mBAAmB,GACtEJ,MAAM;IAAA,CAChB,CAAC;EAAA,CACL,CAAC,CACAJ,IAAI,CAAC,UAACS,GAAG;IAAA,OACNA,GAAG,CAACC,MAAM,CAAC,UAACC,GAAG,EAAEC,QAAQ,EAAEC,KAAK,EAAK;MACjC,IAAM1B,IAAI,GAAGP,KAAK,CAACiC,KAAK,CAAC;MACzB,IAAMC,IAAI,GAAGpC,cAAK,CAACW,QAAQ,CAACZ,SAAS,CAACU,IAAI,CAAC,EAAE,OAAO,CAAC;MACrD,IAAM4B,WAAW,GAAGrC,cAAK,CAACsC,UAAU,CAACJ,QAAQ,CAAC;MAE9CD,GAAG,CAACxB,IAAI,CAAC,OAAA8B,wBAAA,MACJH,IAAI,EAAG;QAACC,WAAW,EAAXA;MAAW,CAAC,CACxB;MAED,OAAOJ,GAAG;IACd,CAAC,EAAE,CAAC,CAA2C,CAAC;EAAA,CACpD,CAAC;EAEL,OAAOO,OAAO,CAACC,GAAG,CAAC,CAAC5C,mBAAmB,EAAEC,oBAAoB,EAAEmB,gBAAgB,CAAC,CAAC;AACrF;AAEA,SAASyB,6BAA6BA,CAClCC,SAAkB,EAClBC,QAAoB,EACqD;EACzE;IAAA,IAAAC,KAAA,OAAAC,0BAAA,gBAAAC,oBAAA,CAAAC,IAAA,CAAO,SAAAC,QAAOC,QAAQ;MAAA,IAAAC,iBAAA;MAAA,OAAAJ,oBAAA,CAAAK,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YACZL,iBAAiB,GAAGnD,cAAK,CAACC,GAAG,CAAC0C,SAAS,EAAE,yBAAyB,CAAC;YAAA,MAErEQ,iBAAiB,IAAIA,iBAAiB,KAAK,SAAS;cAAAG,QAAA,CAAAE,IAAA;cAAA;YAAA;YACpDN,QAAQ,CAAC;cAACO,IAAI,EAAEC,2BAAmB,CAACC;YAAO,CAAC,CAAC;YAAC,OAAAL,QAAA,CAAAM,MAAA,WAEvC1C,qBAAS,CACXjB,GAAG,CAACmB,mBAAO,CAACyC,kCAAkC,EAAE;cAC7C/C,IAAI,EAAE,GAAG,GAAGqC,iBAAiB,GAAG;YACpC,CAAC,CAAC,CACD7B,IAAI,CAAC,UAACwC,SAAS,EAAK;cACjBlB,QAAQ,CAAC,CAAC;cAEV,IAAMmB,qBAAqB,GAAG,IAAAC,kCAAwB,EAACrB,SAAS,EAAEmB,SAAS,CAAC;cAE5EZ,QAAQ,CAAC;gBACLO,IAAI,EAAEC,2BAAmB,CAACO,OAAO;gBACjC1C,IAAI,EAAE;kBAACuC,SAAS,EAATA,SAAS;kBAAEC,qBAAqB,EAArBA;gBAAqB;cAC3C,CAAC,CAAC;YACN,CAAC,CAAC,SACI,CAAC,YAAM;cACTnB,QAAQ,CAAC,CAAC;cACVM,QAAQ,CAAC;gBAACO,IAAI,EAAEC,2BAAmB,CAACQ;cAAO,CAAC,CAAC;YACjD,CAAC,CAAC;UAAA;YAENtB,QAAQ,CAAC,CAAC;YACVM,QAAQ,CAAC;cAACO,IAAI,EAAEC,2BAAmB,CAACS;YAAS,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAb,QAAA,CAAAc,IAAA;QAAA;MAAA,GAAAnB,OAAA;IAAA,CAEvD;IAAA,iBAAAoB,EAAA;MAAA,OAAAxB,KAAA,CAAAyB,KAAA,OAAAC,SAAA;IAAA;EAAA;AACL;AAEO,SAASC,YAAYA,CACxBC,EAAU,EAC+D;EACzE,OAAO,UAACvB,QAAQ,EAAEwB,QAAQ,EAAK;IAC3B,IAAMC,OAAO,GAAG,CAAC,IAAAC,mBAAa,EAACH,EAAE,CAAC;IAElC,IAAMI,MAAM,GAAG1E,MAAM,CAAC2E,MAAM,CACxB;MAACC,iBAAiB,EAAE,IAAI;MAAEC,aAAa,EAAEC;IAAmB,CAAC,EAC7DN,OAAO,GAAG;MAACO,eAAe,EAAET;IAAE,CAAC,GAAG;MAACU,YAAY,EAAEV;IAAE,CACvD,CAAC;IAEDvB,QAAQ,CAAC;MAACO,IAAI,EAAE2B,qBAAa,CAACzB,OAAO;MAAEpC,IAAI,EAAE;QAACoD,OAAO,EAAPA,OAAO;QAAEF,EAAE,EAAFA;MAAE;IAAC,CAAC,CAAC;IAE5D,OAAOY,mBAAO,CACTb,YAAY,CAACK,MAAM,EAAEtF,wBAAwB,CAAC,CAC9C+B,IAAI,CAACgE,6BAAoB,CAAC,CAC1BhE,IAAI,CAAC7B,cAAc,CAAC,CACpB6B,IAAI,CAAC,UAAAiE,KAAA,EAAmE;MAAA,IAAAC,KAAA,OAAA5F,uBAAA,EAAA2F,KAAA;QAAjE1F,mBAAmB,GAAA2F,KAAA;QAAE1F,oBAAoB,GAAA0F,KAAA;QAAEvE,gBAAgB,GAAAuE,KAAA;MAC/D,IAAMC,kBAAkB,GAAG,IAAAC,wBAAiB,EAAC7F,mBAAmB,CAAC;MACjE,IAAM8C,SAAS,GAAG,IAAIgD,oCAAyB,CAC3CF,kBAAkB,EAClB5F,mBAAmB,EACnBoB,gBACJ,CAAC;MAED,IAAM2E,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAA,EAAS;QACnC,IAAMC,OAAO,GAAG,IAAAC,uBAAc,EAACnD,SAAS,CAAC;QAEzC,IAAMoD,aAAa,GAAG,IAAAC,mCAAoB,EAACrD,SAAS,EAAE7C,oBAAoB,CAAC;QAC3E,IAAMmG,MAAM,GAAG,IAAAC,qBAAa,EAAClG,cAAK,CAACW,QAAQ,CAACgC,SAAS,EAAE,UAAU,CAAC,CAAC;QACnE,IAAMwD,YAAY,GAAGnG,cAAK,CAACW,QAAQ,CAACgC,SAAS,EAAE,gBAAgB,CAAC;QAChE,IAAMlB,KAAK,GAAG,IAAA2E,mBAAY,EAACzD,SAAS,CAAC;QACrC,IAAM0D,OAAO,GAAG,IAAAC,uBAAc,EAAC3D,SAAS,CAAC;QACzC,IAAM4D,MAAM,GAAG,IAAAC,8BAAsB,EAAC7D,SAAS,CAAC;QAChD,IAAMmB,SAAS,GAAG,IAAA2C,+BAAqB,EAAC9D,SAAS,CAAC;QAElD,IAAM+D,OAAO,GAAG;UACZX,aAAa,EAAbA,aAAa;UACbE,MAAM,EAANA,MAAM;UACNE,YAAY,EAAZA,YAAY;UACZ1E,KAAK,EAALA,KAAK;UACL4E,OAAO,EAAPA,OAAO;UACPE,MAAM,EAANA,MAAM;UACNzC,SAAS,EAATA;QACJ,CAAC;QAEDZ,QAAQ,CAAC;UACLO,IAAI,EAAE2B,qBAAa,CAACnB,OAAO;UAC3B1C,IAAI,EAAE;YAACoB,SAAS,EAATA,SAAS;YAAEkD,OAAO,EAAPA,OAAO;YAAEa,OAAO,EAAPA;UAAO;QACtC,CAAC,CAAC;MACN,CAAC;MAED,IAAI/D,SAAS,CAACgE,mBAAmB,CAAC,CAAC,EAAE;QACjCzD,QAAQ,CAACR,6BAA6B,CAACC,SAAS,EAAEiD,wBAAwB,CAAC,CAAC;MAChF,CAAC,MAAM;QACHA,wBAAwB,CAAC,CAAC;MAC9B;MAEA1C,QAAQ,CAAC,IAAA0D,yCAA4B,EAACnC,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,SACI,CAAC,UAAChD,KAAK,EAAK;MACd,IAAAoF,SAAA,GAAqBnC,QAAQ,CAAC,CAAC;QAAxBoC,UAAU,GAAAD,SAAA,CAAVC,UAAU;MACjB,IAAMC,cAAc,GAAG,CAACD,UAAU,CAACE,MAAM,CAACC,MAAM;MAEhD,IAAIxF,KAAK,CAACG,IAAI,KAAKC,mBAAQ,CAACsC,SAAS,EAAE;QACnC,IAAI,CAAC4C,cAAc,EAAE;UACjB1H,OAAO,CAAC6H,GAAG,CAAC;YACRC,IAAI,EAAE,eAAe;YACrBC,UAAU,EAAE,KAAK;YACjB3D,IAAI,EAAE,OAAO;YACb4D,KAAK,EAAE,0BAA0B;YACjCC,OAAO,EAAE7F,KAAK,CAAC8F,OAAO;YACtB1B,OAAO,EAAE,CAAC;cAAC2B,KAAK,EAAE,OAAO;cAAEC,OAAO,EAAE,SAAAA,QAAA;gBAAA,OAAM,IAAAC,sBAAc,EAACjG,KAAK,CAAC;cAAA;YAAA,CAAC;UACpE,CAAC,CAAC;QACN;QAEAyB,QAAQ,CAAC;UACLO,IAAI,EAAE2B,qBAAa,CAAClB,OAAO;UAC3B3C,IAAI,EAAE;YACFgG,OAAO,4CAAA7G,MAAA,CAA2C+D,EAAE,OAAG;YACvDiC,OAAO,EAAEjF;UACb;QACJ,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACV,CAAC;AACL"}
|
1
|
+
{"version":3,"names":["_mapValues","_interopRequireDefault","require","_ypath","_dataFlow","_specification","_events","_runtime","_alerts","_error","_detail","_selectors","_detail2","_utils","_utils2","_list","_index","_uikit","_cancelHelper","_constants","_rumWrapApi","_jobsMonitor","obj","__esModule","default","toaster","Toaster","operationDetailsRequests","CancelHelper","getIsEphemeral","_ref","_ref2","_slicedToArray","operationAttributes","userTransactionAlive","treesInfo","ypath","get","trees","Object","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","YTErrors","NODE_DOES_NOT_EXIST","res","reduce","acc","poolInfo","index","pool","isEphemeral","getBoolean","_defineProperty","Promise","all","loadIntermediateResourceUsage","operation","callback","_ref4","_asyncToGenerator","_regeneratorRuntime","mark","_callee","dispatch","outputTransaction","wrap","_callee$","_context","prev","next","type","LOAD_RESOURCE_USAGE","REQUEST","abrupt","operationIntermediateResourceUsage","resources","intermediateResources","prepareIntermediateUsage","SUCCESS","FAILURE","CANCELLED","stop","_x","apply","arguments","getOperation","id","getState","isAlias","isOperationId","params","assign","include_scheduler","output_format","TYPED_OUTPUT_FORMAT","operation_alias","operation_id","GET_OPERATION","ytApiV3","checkUserTransaction","_ref5","_ref6","preparedAttributes","prepareAttributes","DetailedOperationSelector","dispatchOperationSuccess","actions","prepareActions","specification","prepareSpecification","alerts","prepareAlerts","alert_events","prepareError","runtime","prepareRuntime","events","prepareOperationEvents","prepareCompletedUsage","details","inIntermediateState","getJobsMonitoringDescriptors","_getState","operations","isFirstLoading","detail","loaded","add","name","autoHiding","title","content","message","label","onClick","showErrorPopup"],"sources":["detail.ts"],"sourcesContent":["import mapValues from 'lodash/mapValues';\nimport ypath from '../../../common/thor/ypath';\n\nimport {\n prepareCompletedUsage,\n prepareIntermediateUsage,\n} from '../../../utils/operations/tabs/details/data-flow';\nimport {prepareSpecification} from '../../../utils/operations/tabs/details/specification/specification';\nimport {prepareOperationEvents} from '../../../utils/operations/tabs/details/events/events';\nimport {prepareRuntime} from '../../../utils/operations/tabs/details/runtime';\nimport {prepareAlerts} from '../../../utils/operations/tabs/details/alerts';\nimport {prepareError} from '../../../utils/operations/tabs/details/error';\n\nimport {GET_OPERATION, LOAD_RESOURCE_USAGE} from '../../../constants/operations/detail';\nimport {DetailedOperationSelector} from '../../../pages/operations/selectors';\nimport {checkUserTransaction, prepareActions} 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 {YTErrors} from '../../../rum/constants';\nimport {YTApiId, ytApiV3, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {getJobsMonitoringDescriptors} from '../../../store/actions/operations/jobs-monitor';\n\nimport type {RootState} from './../../../store/reducers';\nimport type {ThunkAction} from 'redux-thunk';\nimport type {OperationDetailActionType} from '../../reducers/operations/detail';\n\nconst toaster = new Toaster();\nconst operationDetailsRequests = new CancelHelper();\n\nfunction getIsEphemeral([operationAttributes, userTransactionAlive]: Awaited<\n ReturnType<typeof checkUserTransaction>\n>) {\n const treesInfo = ypath.get(\n operationAttributes,\n '/runtime_parameters/scheduling_options_per_pool_tree',\n );\n const trees = Object.keys(treesInfo);\n const poolPaths = Object.values(\n mapValues(\n treesInfo,\n (infoPerTree, tree) =>\n `${tree}/pools/${ypath.getValue(infoPerTree, '/pool')}/is_ephemeral`,\n ),\n );\n const requests = poolPaths.map((path) => {\n return {\n command: 'get' as const,\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 data.map(({error, output}) =>\n error\n ? ypath.getNumberDeprecated(error.code) === YTErrors.NODE_DOES_NOT_EXIST\n : output,\n ),\n )\n .then((res) =>\n res.reduce((acc, poolInfo, index) => {\n const tree = trees[index];\n const pool = ypath.getValue(treesInfo[tree], '/pool');\n const isEphemeral = ypath.getBoolean(poolInfo);\n\n acc[tree] = {\n [pool]: {isEphemeral},\n };\n\n return acc;\n }, {} as Record<string, {isEphemeral: boolean}>),\n );\n\n return Promise.all([operationAttributes, userTransactionAlive, orchidAttributes]);\n}\n\nfunction loadIntermediateResourceUsage(\n operation: unknown,\n callback: () => void,\n): ThunkAction<Promise<void>, RootState, unknown, OperationDetailActionType> {\n return async (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\n const intermediateResources = prepareIntermediateUsage(operation, resources);\n\n dispatch({\n type: LOAD_RESOURCE_USAGE.SUCCESS,\n data: {resources, intermediateResources},\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(\n id: string,\n): ThunkAction<Promise<void>, RootState, unknown, OperationDetailActionType> {\n return (dispatch, getState) => {\n const isAlias = !isOperationId(id);\n\n const params = Object.assign(\n {include_scheduler: true, output_format: TYPED_OUTPUT_FORMAT},\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 const actions = prepareActions(operation);\n\n const specification = prepareSpecification(operation, userTransactionAlive);\n const alerts = prepareAlerts(ypath.getValue(operation, '/@alerts'));\n const alert_events = ypath.getValue(operation, '/@alert_events');\n const error = prepareError(operation);\n const runtime = prepareRuntime(operation);\n const events = prepareOperationEvents(operation);\n const resources = prepareCompletedUsage(operation);\n\n const details = {\n specification,\n alerts,\n alert_events,\n error,\n runtime,\n events,\n resources,\n };\n\n dispatch({\n type: GET_OPERATION.SUCCESS,\n data: {operation, actions, details},\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 !== YTErrors.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: [{label: ' view', onClick: () => showErrorPopup(error)}],\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":"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"}
|
@@ -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/pool_trees/".concat(tree, "/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/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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"}
|
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}/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/pool_trees/".concat(tree, "/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/pool_trees/".concat(tree, "/pools/").concat(poolName)
|
345
345
|
};
|
346
346
|
};
|
347
347
|
}
|