@ytsaurus/ui 1.18.1 → 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.
Files changed (120) hide show
  1. package/build/cjs/@types/types.d.ts +14 -0
  2. package/build/cjs/ui/components/QuotaEditor/QuotaEditor.js +3 -0
  3. package/build/cjs/ui/components/QuotaEditor/QuotaEditor.js.map +1 -1
  4. package/build/cjs/ui/hocs/components/Modal/withScope.d.ts +4 -55
  5. package/build/cjs/ui/hocs/components/Modal/withScope.js +8 -55
  6. package/build/cjs/ui/hocs/components/Modal/withScope.js.map +1 -1
  7. package/build/cjs/ui/hooks/use-hotkeysjs-scope.d.ts +1 -0
  8. package/build/cjs/ui/hooks/use-hotkeysjs-scope.js +22 -0
  9. package/build/cjs/ui/hooks/use-hotkeysjs-scope.js.map +1 -0
  10. package/build/cjs/ui/pages/navigation/Navigation/PathEditorModal/PathEditorModal.d.ts +1 -55
  11. package/build/cjs/ui/pages/system/Masters/Masters.css +3 -0
  12. package/build/cjs/ui/pages/system/Masters/Masters.css.map +1 -1
  13. package/build/cjs/ui/pages/system/Masters/Masters.d.ts +4 -1
  14. package/build/cjs/ui/pages/system/Masters/Masters.js +22 -3
  15. package/build/cjs/ui/pages/system/Masters/Masters.js.map +1 -1
  16. package/build/cjs/ui/pages/system/Masters/SystemAlert.d.ts +4 -0
  17. package/build/cjs/ui/pages/system/Masters/SystemAlert.js +26 -0
  18. package/build/cjs/ui/pages/system/Masters/SystemAlert.js.map +1 -0
  19. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.d.ts +9 -0
  20. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.js +27 -0
  21. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.js.map +1 -0
  22. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.d.ts +2 -1
  23. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.js +8 -4
  24. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.js.map +1 -1
  25. package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css +5 -0
  26. package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css.map +1 -1
  27. package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js +13 -6
  28. package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js.map +1 -1
  29. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css +0 -3
  30. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css.map +1 -1
  31. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.d.ts +0 -1
  32. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +42 -47
  33. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  34. package/build/cjs/ui/store/actions/system/masters.d.ts +2 -1
  35. package/build/cjs/ui/store/actions/system/masters.js +54 -42
  36. package/build/cjs/ui/store/actions/system/masters.js.map +1 -1
  37. package/build/cjs/ui/store/reducers/system/masters.d.ts +12 -3
  38. package/build/cjs/ui/store/reducers/system/masters.js +9 -4
  39. package/build/cjs/ui/store/reducers/system/masters.js.map +1 -1
  40. package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +27 -0
  41. package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
  42. package/build/cjs/ui/store/selectors/system/index.d.ts +2 -1
  43. package/build/cjs/ui/store/selectors/system/index.js.map +1 -1
  44. package/build/cjs/ui/store/selectors/system/masters.d.ts +3 -0
  45. package/build/cjs/ui/store/selectors/system/masters.js +4 -1
  46. package/build/cjs/ui/store/selectors/system/masters.js.map +1 -1
  47. package/build/cjs/ui/utils/scheduling/detailsTable.d.ts +387 -326
  48. package/build/cjs/ui/utils/scheduling/detailsTable.js +12 -6
  49. package/build/cjs/ui/utils/scheduling/detailsTable.js.map +1 -1
  50. package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +0 -3
  51. package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
  52. package/build/cjs/ui/utils/utils.js +2 -1
  53. package/build/cjs/ui/utils/utils.js.map +1 -1
  54. package/build/esm/@types/types.d.ts +14 -0
  55. package/build/esm/ui/components/QuotaEditor/QuotaEditor.js +3 -0
  56. package/build/esm/ui/components/QuotaEditor/QuotaEditor.js.map +1 -1
  57. package/build/esm/ui/hocs/components/Modal/withScope.d.ts +4 -55
  58. package/build/esm/ui/hocs/components/Modal/withScope.js +8 -55
  59. package/build/esm/ui/hocs/components/Modal/withScope.js.map +1 -1
  60. package/build/esm/ui/hooks/use-hotkeysjs-scope.d.ts +1 -0
  61. package/build/esm/ui/hooks/use-hotkeysjs-scope.js +15 -0
  62. package/build/esm/ui/hooks/use-hotkeysjs-scope.js.map +1 -0
  63. package/build/esm/ui/pages/navigation/Navigation/PathEditorModal/PathEditorModal.d.ts +1 -55
  64. package/build/esm/ui/pages/system/Masters/Masters.css +3 -0
  65. package/build/esm/ui/pages/system/Masters/Masters.css.map +1 -1
  66. package/build/esm/ui/pages/system/Masters/Masters.d.ts +4 -1
  67. package/build/esm/ui/pages/system/Masters/Masters.js +22 -3
  68. package/build/esm/ui/pages/system/Masters/Masters.js.map +1 -1
  69. package/build/esm/ui/pages/system/Masters/Masters.scss +4 -0
  70. package/build/esm/ui/pages/system/Masters/SystemAlert.d.ts +4 -0
  71. package/build/esm/ui/pages/system/Masters/SystemAlert.js +19 -0
  72. package/build/esm/ui/pages/system/Masters/SystemAlert.js.map +1 -0
  73. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.d.ts +9 -0
  74. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.js +20 -0
  75. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.js.map +1 -0
  76. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.d.ts +2 -1
  77. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.js +7 -3
  78. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.js.map +1 -1
  79. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css +5 -0
  80. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css.map +1 -1
  81. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js +13 -6
  82. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js.map +1 -1
  83. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.scss +6 -0
  84. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css +0 -3
  85. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css.map +1 -1
  86. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.d.ts +0 -1
  87. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +42 -47
  88. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  89. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.scss +0 -4
  90. package/build/esm/ui/store/actions/system/masters.d.ts +2 -1
  91. package/build/esm/ui/store/actions/system/masters.js +47 -35
  92. package/build/esm/ui/store/actions/system/masters.js.map +1 -1
  93. package/build/esm/ui/store/reducers/system/masters.d.ts +12 -3
  94. package/build/esm/ui/store/reducers/system/masters.js +9 -4
  95. package/build/esm/ui/store/reducers/system/masters.js.map +1 -1
  96. package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +27 -0
  97. package/build/esm/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
  98. package/build/esm/ui/store/selectors/system/index.d.ts +2 -1
  99. package/build/esm/ui/store/selectors/system/index.js.map +1 -1
  100. package/build/esm/ui/store/selectors/system/masters.d.ts +3 -0
  101. package/build/esm/ui/store/selectors/system/masters.js +3 -0
  102. package/build/esm/ui/store/selectors/system/masters.js.map +1 -1
  103. package/build/esm/ui/utils/scheduling/detailsTable.d.ts +387 -326
  104. package/build/esm/ui/utils/scheduling/detailsTable.js +12 -6
  105. package/build/esm/ui/utils/scheduling/detailsTable.js.map +1 -1
  106. package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +0 -3
  107. package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
  108. package/build/esm/ui/utils/utils.js +2 -1
  109. package/build/esm/ui/utils/utils.js.map +1 -1
  110. package/dist/public/build/assets-manifest.json +7 -7
  111. package/dist/public/build/css/{main.f7818774.css → main.4c657a42.css} +2 -2
  112. package/dist/public/build/css/main.4c657a42.css.map +1 -0
  113. package/dist/public/build/js/main.38e77012.js +3 -0
  114. package/dist/public/build/js/{main.052ff0c9.js.map → main.38e77012.js.map} +1 -1
  115. package/dist/public/build/manifest.json +4 -4
  116. package/package.json +8 -6
  117. package/scripts/sync-peer-dependencies.js +54 -0
  118. package/dist/public/build/css/main.f7818774.css.map +0 -1
  119. package/dist/public/build/js/main.052ff0c9.js +0 -3
  120. /package/dist/public/build/js/{main.052ff0c9.js.LICENSE.txt → main.38e77012.js.LICENSE.txt} +0 -0
@@ -1,4 +1,4 @@
1
- import { isRetryFutile } from '../../../utils/index';
1
+ import { isRetryFutile } from '../../../utils';
2
2
  import type { Dispatch } from 'redux';
3
3
  export declare const FETCH_MASTER_CONFIG: {
4
4
  readonly REQUEST: "MASTER_CONFIG_REQUEST";
@@ -14,6 +14,7 @@ export declare const FETCH_MASTER_DATA: {
14
14
  readonly FAILURE: "MASTER_DATA_FAILURE";
15
15
  readonly CANCELLED: "MASTER_DATA_CANCELLED";
16
16
  };
17
+ export declare const SET_MASTER_ALERTS = "SET_MASTER_ALERTS";
17
18
  export declare function loadMasters(): (dispatch: Dispatch) => Promise<void | {
18
19
  isRetryFutile: true;
19
20
  }>;
@@ -11,13 +11,14 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
11
11
  import ypath from '../../../common/thor/ypath';
12
12
  import { Toaster } from '@gravity-ui/uikit';
13
13
  import createActionTypes from '../../../constants/utils';
14
- import { isRetryFutile } from '../../../utils/index';
14
+ import { isRetryFutile } from '../../../utils';
15
15
  import { getBatchError, showErrorPopup } from '../../../utils/utils';
16
16
  import { YTErrors } from '../../../rum/constants';
17
17
  import { YTApiId, ytApiV3Id } from '../../../rum/rum-wrap-api';
18
18
  import { USE_SUPRESS_SYNC } from '../../../../shared/constants';
19
19
  export var FETCH_MASTER_CONFIG = createActionTypes('MASTER_CONFIG');
20
20
  export var FETCH_MASTER_DATA = createActionTypes('MASTER_DATA');
21
+ export var SET_MASTER_ALERTS = 'SET_MASTER_ALERTS';
21
22
  var toaster = new Toaster();
22
23
  var NODE_DOES_NOT_EXIST = YTErrors.NODE_DOES_NOT_EXIST;
23
24
  function loadMastersConfig() {
@@ -26,7 +27,7 @@ function loadMastersConfig() {
26
27
  function _loadMastersConfig() {
27
28
  _loadMastersConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
28
29
  var _timestampProvidersRe, _queueAgentsResult$er, _ypath$getValue;
29
- var requests, _yield$ytApiV3Id$exec, _yield$ytApiV3Id$exec2, primaryMasterResult, secondaryMastersResult, timestampProvidersResult, discoveryServersResult, queueAgentsResult, batchError, error, queueAgentsError, _ref3, timestamp_path, _ref4, primary_path, tag_cell_requests, _yield$ytApiV3Id$exec3, _yield$ytApiV3Id$exec4, primaryMasterCellTag, timestampProviderCellTag, primaryMaster, secondaryMasters, timestampProviders, mainResult, discoveryRequests, queueAgentsStateRequests, discoveryServersStatuses, queueAgentsStatuses, results, discoveryResults, queueAgentsStateResults;
30
+ var requests, _yield$ytApiV3Id$exec, _yield$ytApiV3Id$exec2, primaryMasterResult, secondaryMastersResult, timestampProvidersResult, discoveryServersResult, queueAgentsResult, alertsResult, batchError, error, queueAgentsError, alerts, _ref3, timestamp_path, _ref4, primary_path, tag_cell_requests, _yield$ytApiV3Id$exec3, _yield$ytApiV3Id$exec4, primaryMasterCellTag, timestampProviderCellTag, primaryMaster, secondaryMasters, timestampProviders, mainResult, discoveryRequests, queueAgentsStateRequests, discoveryServersStatuses, queueAgentsStatuses, results, discoveryResults, queueAgentsStateResults;
30
31
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
31
32
  while (1) switch (_context2.prev = _context2.next) {
32
33
  case 0:
@@ -60,6 +61,11 @@ function _loadMastersConfig() {
60
61
  path: '//sys/queue_agents/instances',
61
62
  attributes: ['annotations', 'maintenance', 'maintenance_message']
62
63
  }, USE_SUPRESS_SYNC)
64
+ }, {
65
+ command: 'get',
66
+ parameters: _objectSpread({
67
+ path: '//sys/@master_alerts'
68
+ }, USE_SUPRESS_SYNC)
63
69
  }];
64
70
  _context2.next = 3;
65
71
  return ytApiV3Id.executeBatch(YTApiId.systemMastersConfig, {
@@ -67,33 +73,35 @@ function _loadMastersConfig() {
67
73
  });
68
74
  case 3:
69
75
  _yield$ytApiV3Id$exec = _context2.sent;
70
- _yield$ytApiV3Id$exec2 = _slicedToArray(_yield$ytApiV3Id$exec, 5);
76
+ _yield$ytApiV3Id$exec2 = _slicedToArray(_yield$ytApiV3Id$exec, 6);
71
77
  primaryMasterResult = _yield$ytApiV3Id$exec2[0];
72
78
  secondaryMastersResult = _yield$ytApiV3Id$exec2[1];
73
79
  timestampProvidersResult = _yield$ytApiV3Id$exec2[2];
74
80
  discoveryServersResult = _yield$ytApiV3Id$exec2[3];
75
81
  queueAgentsResult = _yield$ytApiV3Id$exec2[4];
82
+ alertsResult = _yield$ytApiV3Id$exec2[5];
76
83
  batchError = getBatchError([primaryMasterResult, secondaryMastersResult], "Masters' details cannot be loaded");
77
84
  if (!batchError) {
78
- _context2.next = 13;
85
+ _context2.next = 14;
79
86
  break;
80
87
  }
81
88
  throw batchError;
82
- case 13:
89
+ case 14:
83
90
  error = getBatchError([timestampProvidersResult], 'Timestamp providers cannot be loaded');
84
91
  if (!(error && ((_timestampProvidersRe = timestampProvidersResult.error) === null || _timestampProvidersRe === void 0 ? void 0 : _timestampProvidersRe.code) !== NODE_DOES_NOT_EXIST)) {
85
- _context2.next = 16;
92
+ _context2.next = 17;
86
93
  break;
87
94
  }
88
95
  throw error;
89
- case 16:
96
+ case 17:
90
97
  queueAgentsError = getBatchError([queueAgentsResult], 'Queue agents cannot be loaded');
91
98
  if (!(queueAgentsError && ((_queueAgentsResult$er = queueAgentsResult.error) === null || _queueAgentsResult$er === void 0 ? void 0 : _queueAgentsResult$er.code) !== NODE_DOES_NOT_EXIST)) {
92
- _context2.next = 19;
99
+ _context2.next = 20;
93
100
  break;
94
101
  }
95
102
  throw queueAgentsError;
96
- case 19:
103
+ case 20:
104
+ alerts = alertsResult.output ? alertsResult.output : [];
97
105
  _ref3 = _toConsumableArray(Object.keys(ypath.getValue(timestampProvidersResult.output))), timestamp_path = _ref3[0];
98
106
  _ref4 = _toConsumableArray(Object.keys(ypath.getValue(primaryMasterResult.output))), primary_path = _ref4[0];
99
107
  tag_cell_requests = [{
@@ -107,11 +115,11 @@ function _loadMastersConfig() {
107
115
  path: "//sys/timestamp_providers/".concat(timestamp_path, "/orchid/config/clock_cell")
108
116
  }, USE_SUPRESS_SYNC)
109
117
  }];
110
- _context2.next = 24;
118
+ _context2.next = 26;
111
119
  return ytApiV3Id.executeBatch(YTApiId.systemMastersConfig, {
112
120
  requests: [].concat(tag_cell_requests)
113
121
  });
114
- case 24:
122
+ case 26:
115
123
  _yield$ytApiV3Id$exec3 = _context2.sent;
116
124
  _yield$ytApiV3Id$exec4 = _slicedToArray(_yield$ytApiV3Id$exec3, 2);
117
125
  primaryMasterCellTag = _yield$ytApiV3Id$exec4[0];
@@ -177,12 +185,12 @@ function _loadMastersConfig() {
177
185
  });
178
186
  discoveryServersStatuses = {};
179
187
  queueAgentsStatuses = {};
180
- _context2.prev = 36;
181
- _context2.next = 39;
188
+ _context2.prev = 38;
189
+ _context2.next = 41;
182
190
  return ytApiV3Id.executeBatch(YTApiId.systemMastersConfigDiscoveryServer, {
183
191
  requests: [].concat(_toConsumableArray(discoveryRequests), _toConsumableArray(queueAgentsStateRequests))
184
192
  });
185
- case 39:
193
+ case 41:
186
194
  results = _context2.sent;
187
195
  discoveryResults = results.slice(0, discoveryRequests.length);
188
196
  queueAgentsStateResults = results.slice(discoveryRequests.length, queueAgentsStateRequests.length);
@@ -194,12 +202,12 @@ function _loadMastersConfig() {
194
202
  acc[queueAgentsStateRequests[key].address] = typeof item.output !== 'undefined' ? item.output ? 'active' : 'standby' : 'offline';
195
203
  return acc;
196
204
  }, {});
197
- _context2.next = 48;
205
+ _context2.next = 50;
198
206
  break;
199
- case 46:
200
- _context2.prev = 46;
201
- _context2.t0 = _context2["catch"](36);
202
207
  case 48:
208
+ _context2.prev = 48;
209
+ _context2.t0 = _context2["catch"](38);
210
+ case 50:
203
211
  mainResult.discoveryServers = discoveryServersResult.output ? {
204
212
  addresses: _map(ypath.getValue(discoveryServersResult.output), function (value, address) {
205
213
  return {
@@ -221,12 +229,12 @@ function _loadMastersConfig() {
221
229
  };
222
230
  })
223
231
  } : {};
224
- return _context2.abrupt("return", mainResult);
225
- case 51:
232
+ return _context2.abrupt("return", [mainResult, alerts]);
233
+ case 53:
226
234
  case "end":
227
235
  return _context2.stop();
228
236
  }
229
- }, _callee2, null, [[36, 46]]);
237
+ }, _callee2, null, [[38, 48]]);
230
238
  }));
231
239
  return _loadMastersConfig.apply(this, arguments);
232
240
  }
@@ -239,12 +247,10 @@ function loadHydra(requests, masterInfo, type, masterEntry) {
239
247
  cypressPath = '//sys/primary_masters';
240
248
  } else if (type === 'providers') {
241
249
  cypressPath = '//sys/timestamp_providers';
242
- } else if (type === 'discovery') {
243
- cypressPath = '//sys/discovery_servers';
244
250
  } else if (type === 'secondary') {
245
251
  cypressPath = '//sys/secondary_masters/' + cellTag;
246
252
  } else {
247
- cypressPath = '//sys/masters';
253
+ throw new Error('Unexpected type for loadHydra call');
248
254
  }
249
255
  _each(_sortBy(addresses, function (address) {
250
256
  return address.host;
@@ -266,7 +272,7 @@ function loadHydra(requests, masterInfo, type, masterEntry) {
266
272
  export function loadMasters() {
267
273
  return /*#__PURE__*/function () {
268
274
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(dispatch) {
269
- var config, masterDataRequests, masterInfo, data, _response, _data, code, message;
275
+ var _yield$loadMastersCon, _yield$loadMastersCon2, config, alerts, masterDataRequests, masterInfo, data, _response, _data, code, message;
270
276
  return _regeneratorRuntime.wrap(function _callee$(_context) {
271
277
  while (1) switch (_context.prev = _context.next) {
272
278
  case 0:
@@ -277,7 +283,14 @@ export function loadMasters() {
277
283
  _context.next = 4;
278
284
  return loadMastersConfig();
279
285
  case 4:
280
- config = _context.sent;
286
+ _yield$loadMastersCon = _context.sent;
287
+ _yield$loadMastersCon2 = _slicedToArray(_yield$loadMastersCon, 2);
288
+ config = _yield$loadMastersCon2[0];
289
+ alerts = _yield$loadMastersCon2[1];
290
+ dispatch({
291
+ type: SET_MASTER_ALERTS,
292
+ data: alerts
293
+ });
281
294
  dispatch({
282
295
  type: FETCH_MASTER_CONFIG.SUCCESS,
283
296
  data: config
@@ -292,12 +305,11 @@ export function loadMasters() {
292
305
  loadHydra(masterDataRequests, masterInfo, 'secondary', currentConfig);
293
306
  });
294
307
  loadHydra(masterDataRequests, masterInfo, 'providers', config.timestampProviders);
295
- loadHydra(masterDataRequests, masterInfo, 'discovery', config.discoveryServers);
296
- _context.next = 15;
308
+ _context.next = 18;
297
309
  return ytApiV3Id.executeBatch(YTApiId.systemMasters, {
298
310
  requests: masterDataRequests
299
311
  });
300
- case 15:
312
+ case 18:
301
313
  data = _context.sent;
302
314
  dispatch({
303
315
  type: FETCH_MASTER_DATA.SUCCESS,
@@ -306,10 +318,10 @@ export function loadMasters() {
306
318
  data: data
307
319
  }
308
320
  });
309
- _context.next = 27;
321
+ _context.next = 30;
310
322
  break;
311
- case 19:
312
- _context.prev = 19;
323
+ case 22:
324
+ _context.prev = 22;
313
325
  _context.t0 = _context["catch"](1);
314
326
  dispatch({
315
327
  type: FETCH_MASTER_DATA.FAILURE,
@@ -331,17 +343,17 @@ export function loadMasters() {
331
343
  }]
332
344
  });
333
345
  if (!isRetryFutile(_context.t0 === null || _context.t0 === void 0 ? void 0 : _context.t0.code)) {
334
- _context.next = 27;
346
+ _context.next = 30;
335
347
  break;
336
348
  }
337
349
  return _context.abrupt("return", {
338
350
  isRetryFutile: true
339
351
  });
340
- case 27:
352
+ case 30:
341
353
  case "end":
342
354
  return _context.stop();
343
355
  }
344
- }, _callee, null, [[1, 19]]);
356
+ }, _callee, null, [[1, 22]]);
345
357
  }));
346
358
  return function (_x) {
347
359
  return _ref2.apply(this, arguments);
@@ -1 +1 @@
1
- {"version":3,"names":["ypath","Toaster","createActionTypes","isRetryFutile","getBatchError","showErrorPopup","YTErrors","YTApiId","ytApiV3Id","USE_SUPRESS_SYNC","FETCH_MASTER_CONFIG","FETCH_MASTER_DATA","toaster","NODE_DOES_NOT_EXIST","loadMastersConfig","_loadMastersConfig","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","_timestampProvidersRe","_queueAgentsResult$er","_ypath$getValue","requests","_yield$ytApiV3Id$exec","_yield$ytApiV3Id$exec2","primaryMasterResult","secondaryMastersResult","timestampProvidersResult","discoveryServersResult","queueAgentsResult","batchError","error","queueAgentsError","_ref3","timestamp_path","_ref4","primary_path","tag_cell_requests","_yield$ytApiV3Id$exec3","_yield$ytApiV3Id$exec4","primaryMasterCellTag","timestampProviderCellTag","primaryMaster","secondaryMasters","timestampProviders","mainResult","discoveryRequests","queueAgentsStateRequests","discoveryServersStatuses","queueAgentsStatuses","results","discoveryResults","queueAgentsStateResults","wrap","_callee2$","_context2","prev","next","command","parameters","_objectSpread","path","attributes","executeBatch","systemMastersConfig","sent","_slicedToArray","code","_toConsumableArray","Object","keys","getValue","output","concat","addresses","_map","value","address","host","physicalHost","cellTag","getCellIdTag","cell_id","_keys","Number","discoveryServers","queueAgents","_v","systemMastersConfigDiscoveryServer","slice","length","_reduce","acc","item","key","t0","state","abrupt","stop","loadHydra","masterInfo","type","masterEntry","hydraPath","cypressPath","_each","_sortBy","_ref","push","loadMasters","_ref2","_callee","dispatch","config","masterDataRequests","data","_response","_data","message","_callee$","_context","REQUEST","SUCCESS","currentConfig","systemMasters","FAILURE","response","add","name","autoHiding","content","title","actions","label","onClick","_x","uuid","undefined","_uuid$split","split","_uuid$split2","_uuid$split2$","third","substring"],"sources":["masters.ts"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../../common/thor/ypath';\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport createActionTypes from '../../../constants/utils';\nimport {isRetryFutile} from '../../../utils/index';\nimport {getBatchError, showErrorPopup} from '../../../utils/utils';\n\nimport {YTErrors} from '../../../rum/constants';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {USE_SUPRESS_SYNC} from '../../../../shared/constants';\nimport type {AxiosError} from 'axios';\nimport type {Dispatch} from 'redux';\nimport type {BatchSubRequest} from '../../../../shared/yt-types';\nimport type {\n MasterDataItemInfo,\n MastersConfigResponse,\n ResponseItemsGroup,\n} from '../../reducers/system/masters';\n\nexport const FETCH_MASTER_CONFIG = createActionTypes('MASTER_CONFIG');\nexport const FETCH_MASTER_DATA = createActionTypes('MASTER_DATA');\n\nconst toaster = new Toaster();\n\nconst {NODE_DOES_NOT_EXIST} = YTErrors;\n\nasync function loadMastersConfig(): Promise<MastersConfigResponse> {\n const requests = [\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/primary_masters',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/secondary_masters',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/timestamp_providers',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/discovery_servers',\n attributes: ['annotations', 'native_cell_tag'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/queue_agents/instances',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n ];\n\n const [\n primaryMasterResult,\n secondaryMastersResult,\n timestampProvidersResult,\n discoveryServersResult,\n queueAgentsResult,\n ] = await ytApiV3Id.executeBatch(YTApiId.systemMastersConfig, {requests});\n\n const batchError = getBatchError(\n [primaryMasterResult, secondaryMastersResult],\n \"Masters' details cannot be loaded\",\n );\n\n if (batchError) {\n throw batchError;\n }\n\n const error = getBatchError([timestampProvidersResult], 'Timestamp providers cannot be loaded');\n\n if (error && timestampProvidersResult.error?.code !== NODE_DOES_NOT_EXIST) {\n throw error;\n }\n\n const queueAgentsError = getBatchError([queueAgentsResult], 'Queue agents cannot be loaded');\n\n if (queueAgentsError && queueAgentsResult.error?.code !== NODE_DOES_NOT_EXIST) {\n throw queueAgentsError;\n }\n\n const [timestamp_path] = [...Object.keys(ypath.getValue(timestampProvidersResult.output))];\n const [primary_path] = [...Object.keys(ypath.getValue(primaryMasterResult.output))];\n\n const tag_cell_requests = [\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/primary_masters/${primary_path}/orchid/config/primary_master/cell_id`,\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/timestamp_providers/${timestamp_path}/orchid/config/clock_cell`,\n ...USE_SUPRESS_SYNC,\n },\n },\n ];\n\n const [primaryMasterCellTag, timestampProviderCellTag] = await ytApiV3Id.executeBatch(\n YTApiId.systemMastersConfig,\n {requests: [...tag_cell_requests]},\n );\n\n const primaryMaster = primaryMasterResult.output;\n const secondaryMasters = secondaryMastersResult.output;\n\n const timestampProviders = !timestampProvidersResult.output\n ? {}\n : {\n addresses: _.map(\n ypath.getValue(timestampProvidersResult.output),\n (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n },\n ),\n cellTag: getCellIdTag(ypath.getValue(timestampProviderCellTag.output)?.cell_id),\n };\n\n const mainResult: MastersConfigResponse = {\n primaryMaster: {\n addresses: _.map(_.keys(primaryMaster), (address) => {\n const value = primaryMaster[address];\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n }),\n cellTag: getCellIdTag(primaryMasterCellTag.output),\n },\n secondaryMasters: _.map(secondaryMasters, (addresses, cellTag) => {\n return {\n addresses: _.map(_.keys(addresses), (address) => {\n const value = secondaryMasters[cellTag][address];\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n }),\n cellTag: Number(cellTag),\n };\n }),\n timestampProviders,\n discoveryServers: {},\n queueAgents: {},\n };\n\n const discoveryRequests = _.map(\n ypath.getValue(discoveryServersResult.output),\n (_v, address) => ({\n command: 'get' as const,\n parameters: {\n path: `//sys/discovery_servers/${address}/orchid/discovery_server`,\n ...USE_SUPRESS_SYNC,\n },\n address,\n }),\n );\n\n const queueAgentsStateRequests = _.map(\n ypath.getValue(queueAgentsResult.output),\n (_v, address) => ({\n command: 'get' as const,\n parameters: {\n path: `//sys/queue_agents/instances/${address}/orchid/cypress_synchronizer/active`,\n ...USE_SUPRESS_SYNC,\n },\n address,\n }),\n );\n\n let discoveryServersStatuses: Record<string, 'offline' | 'online'> = {};\n let queueAgentsStatuses: Record<string, any> = {};\n\n try {\n const results = await ytApiV3Id.executeBatch(YTApiId.systemMastersConfigDiscoveryServer, {\n requests: [...discoveryRequests, ...queueAgentsStateRequests],\n });\n\n const discoveryResults = results.slice(0, discoveryRequests.length);\n const queueAgentsStateResults = results.slice(\n discoveryRequests.length,\n queueAgentsStateRequests.length,\n );\n\n discoveryServersStatuses = _.reduce(\n discoveryResults,\n (acc, item, key) => {\n acc[discoveryRequests[key].address] = item?.error ? 'offline' : 'online';\n return acc;\n },\n {} as {[address: string]: 'offline' | 'online'},\n );\n queueAgentsStatuses = _.reduce(\n queueAgentsStateResults,\n (acc, item, key) => {\n acc[queueAgentsStateRequests[key].address] =\n typeof item.output !== 'undefined'\n ? item.output\n ? 'active'\n : 'standby'\n : 'offline';\n return acc;\n },\n {} as {[address: string]: string},\n );\n } catch {}\n\n mainResult.discoveryServers = discoveryServersResult.output\n ? {\n addresses: _.map(ypath.getValue(discoveryServersResult.output), (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n state: discoveryServersStatuses[address],\n };\n }),\n cellTag: ypath.getValue(discoveryServersResult.output, '/@native_cell_tag'),\n }\n : {};\n\n mainResult.queueAgents = queueAgentsResult.output\n ? {\n addresses: _.map(ypath.getValue(queueAgentsResult.output), (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n state: queueAgentsStatuses[address],\n };\n }),\n }\n : {};\n\n return mainResult;\n}\n\nfunction loadHydra(\n requests: BatchSubRequest[],\n masterInfo: MasterDataItemInfo[],\n type: string,\n masterEntry: ResponseItemsGroup,\n) {\n const {addresses, cellTag} = masterEntry;\n const hydraPath = '/orchid/monitoring/hydra';\n let cypressPath: string;\n\n if (type === 'primary') {\n cypressPath = '//sys/primary_masters';\n } else if (type === 'providers') {\n cypressPath = '//sys/timestamp_providers';\n } else if (type === 'discovery') {\n cypressPath = '//sys/discovery_servers';\n } else if (type === 'secondary') {\n cypressPath = '//sys/secondary_masters/' + cellTag;\n } else {\n cypressPath = '//sys/masters';\n }\n\n _.each(\n _.sortBy(addresses, (address) => address.host),\n ({host}) => {\n masterInfo.push({host, type, cellTag: cellTag!});\n requests.push({\n command: 'get',\n parameters: {path: cypressPath + '/' + host + hydraPath, ...USE_SUPRESS_SYNC},\n });\n },\n );\n}\n\nexport function loadMasters() {\n return async (dispatch: Dispatch): Promise<void | {isRetryFutile: true}> => {\n dispatch({type: FETCH_MASTER_CONFIG.REQUEST});\n\n try {\n const config = await loadMastersConfig();\n\n dispatch({type: FETCH_MASTER_CONFIG.SUCCESS, data: config});\n dispatch({type: FETCH_MASTER_DATA.REQUEST});\n\n const masterDataRequests: BatchSubRequest[] = [];\n const masterInfo: MasterDataItemInfo[] = [];\n\n loadHydra(masterDataRequests, masterInfo, 'primary', config.primaryMaster);\n\n _.each(config.secondaryMasters, (currentConfig) => {\n loadHydra(masterDataRequests, masterInfo, 'secondary', currentConfig);\n });\n\n loadHydra(masterDataRequests, masterInfo, 'providers', config.timestampProviders);\n loadHydra(masterDataRequests, masterInfo, 'discovery', config.discoveryServers);\n\n const data = await ytApiV3Id.executeBatch(YTApiId.systemMasters, {\n requests: masterDataRequests,\n });\n\n dispatch({type: FETCH_MASTER_DATA.SUCCESS, data: {masterInfo, data}});\n } catch (error) {\n dispatch({type: FETCH_MASTER_DATA.FAILURE, data: error});\n\n const data =\n (error as {response?: {data?: {code: string; message: string}}})?.response?.data ||\n (error as {code: string; message: string});\n\n const {code, message} = data;\n\n toaster.add({\n name: 'load/system/masters',\n autoHiding: false,\n type: 'error',\n content: `[code ${code}] ${message}`,\n title: 'Could not load Masters',\n actions: [{label: ' view', onClick: () => showErrorPopup(error as AxiosError)}],\n });\n\n if (isRetryFutile((error as {code: number})?.code)) {\n return {isRetryFutile: true};\n }\n }\n };\n}\n\nfunction getCellIdTag(uuid?: string): number | undefined {\n if (!uuid) {\n return undefined;\n }\n const [, , third = ''] = uuid.split('-');\n return Number(`0x${third.substring(0, third.length - 4)}`);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ypath","Toaster","createActionTypes","isRetryFutile","getBatchError","showErrorPopup","YTErrors","YTApiId","ytApiV3Id","USE_SUPRESS_SYNC","FETCH_MASTER_CONFIG","FETCH_MASTER_DATA","SET_MASTER_ALERTS","toaster","NODE_DOES_NOT_EXIST","loadMastersConfig","_loadMastersConfig","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","_timestampProvidersRe","_queueAgentsResult$er","_ypath$getValue","requests","_yield$ytApiV3Id$exec","_yield$ytApiV3Id$exec2","primaryMasterResult","secondaryMastersResult","timestampProvidersResult","discoveryServersResult","queueAgentsResult","alertsResult","batchError","error","queueAgentsError","alerts","_ref3","timestamp_path","_ref4","primary_path","tag_cell_requests","_yield$ytApiV3Id$exec3","_yield$ytApiV3Id$exec4","primaryMasterCellTag","timestampProviderCellTag","primaryMaster","secondaryMasters","timestampProviders","mainResult","discoveryRequests","queueAgentsStateRequests","discoveryServersStatuses","queueAgentsStatuses","results","discoveryResults","queueAgentsStateResults","wrap","_callee2$","_context2","prev","next","command","parameters","_objectSpread","path","attributes","executeBatch","systemMastersConfig","sent","_slicedToArray","code","output","_toConsumableArray","Object","keys","getValue","concat","addresses","_map","value","address","host","physicalHost","cellTag","getCellIdTag","cell_id","_keys","Number","discoveryServers","queueAgents","_v","systemMastersConfigDiscoveryServer","slice","length","_reduce","acc","item","key","t0","state","abrupt","stop","loadHydra","masterInfo","type","masterEntry","hydraPath","cypressPath","Error","_each","_sortBy","_ref","push","loadMasters","_ref2","_callee","dispatch","_yield$loadMastersCon","_yield$loadMastersCon2","config","masterDataRequests","data","_response","_data","message","_callee$","_context","REQUEST","SUCCESS","currentConfig","systemMasters","FAILURE","response","add","name","autoHiding","content","title","actions","label","onClick","_x","uuid","undefined","_uuid$split","split","_uuid$split2","_uuid$split2$","third","substring"],"sources":["masters.ts"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../../common/thor/ypath';\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport createActionTypes from '../../../constants/utils';\nimport {isRetryFutile} from '../../../utils';\nimport {getBatchError, showErrorPopup} from '../../../utils/utils';\n\nimport {YTErrors} from '../../../rum/constants';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {USE_SUPRESS_SYNC} from '../../../../shared/constants';\nimport type {AxiosError} from 'axios';\nimport type {Dispatch} from 'redux';\nimport type {BatchSubRequest} from '../../../../shared/yt-types';\nimport type {\n MasterAlert,\n MasterDataItemInfo,\n MastersConfigResponse,\n ResponseItemsGroup,\n} from '../../reducers/system/masters';\n\nexport const FETCH_MASTER_CONFIG = createActionTypes('MASTER_CONFIG');\nexport const FETCH_MASTER_DATA = createActionTypes('MASTER_DATA');\nexport const SET_MASTER_ALERTS = 'SET_MASTER_ALERTS';\n\nconst toaster = new Toaster();\n\nconst {NODE_DOES_NOT_EXIST} = YTErrors;\n\nasync function loadMastersConfig(): Promise<[MastersConfigResponse, MasterAlert[]]> {\n const requests = [\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/primary_masters',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/secondary_masters',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/timestamp_providers',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/discovery_servers',\n attributes: ['annotations', 'native_cell_tag'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/queue_agents/instances',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/@master_alerts',\n ...USE_SUPRESS_SYNC,\n },\n },\n ];\n\n const [\n primaryMasterResult,\n secondaryMastersResult,\n timestampProvidersResult,\n discoveryServersResult,\n queueAgentsResult,\n alertsResult,\n ] = await ytApiV3Id.executeBatch(YTApiId.systemMastersConfig, {requests});\n\n const batchError = getBatchError(\n [primaryMasterResult, secondaryMastersResult],\n \"Masters' details cannot be loaded\",\n );\n\n if (batchError) {\n throw batchError;\n }\n\n const error = getBatchError([timestampProvidersResult], 'Timestamp providers cannot be loaded');\n\n if (error && timestampProvidersResult.error?.code !== NODE_DOES_NOT_EXIST) {\n throw error;\n }\n\n const queueAgentsError = getBatchError([queueAgentsResult], 'Queue agents cannot be loaded');\n\n if (queueAgentsError && queueAgentsResult.error?.code !== NODE_DOES_NOT_EXIST) {\n throw queueAgentsError;\n }\n\n const alerts = alertsResult.output ? (alertsResult.output as MasterAlert[]) : [];\n const [timestamp_path] = [...Object.keys(ypath.getValue(timestampProvidersResult.output))];\n const [primary_path] = [...Object.keys(ypath.getValue(primaryMasterResult.output))];\n\n const tag_cell_requests = [\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/primary_masters/${primary_path}/orchid/config/primary_master/cell_id`,\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/timestamp_providers/${timestamp_path}/orchid/config/clock_cell`,\n ...USE_SUPRESS_SYNC,\n },\n },\n ];\n\n const [primaryMasterCellTag, timestampProviderCellTag] = await ytApiV3Id.executeBatch(\n YTApiId.systemMastersConfig,\n {requests: [...tag_cell_requests]},\n );\n\n const primaryMaster = primaryMasterResult.output;\n const secondaryMasters = secondaryMastersResult.output;\n\n const timestampProviders = !timestampProvidersResult.output\n ? {}\n : {\n addresses: _.map(\n ypath.getValue(timestampProvidersResult.output),\n (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n },\n ),\n cellTag: getCellIdTag(ypath.getValue(timestampProviderCellTag.output)?.cell_id),\n };\n\n const mainResult: MastersConfigResponse = {\n primaryMaster: {\n addresses: _.map(_.keys(primaryMaster), (address) => {\n const value = primaryMaster[address];\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n }),\n cellTag: getCellIdTag(primaryMasterCellTag.output),\n },\n secondaryMasters: _.map(secondaryMasters, (addresses, cellTag) => {\n return {\n addresses: _.map(_.keys(addresses), (address) => {\n const value = secondaryMasters[cellTag][address];\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n }),\n cellTag: Number(cellTag),\n };\n }),\n timestampProviders,\n discoveryServers: {},\n queueAgents: {},\n };\n\n const discoveryRequests = _.map(\n ypath.getValue(discoveryServersResult.output),\n (_v, address) => ({\n command: 'get' as const,\n parameters: {\n path: `//sys/discovery_servers/${address}/orchid/discovery_server`,\n ...USE_SUPRESS_SYNC,\n },\n address,\n }),\n );\n\n const queueAgentsStateRequests = _.map(\n ypath.getValue(queueAgentsResult.output),\n (_v, address) => ({\n command: 'get' as const,\n parameters: {\n path: `//sys/queue_agents/instances/${address}/orchid/cypress_synchronizer/active`,\n ...USE_SUPRESS_SYNC,\n },\n address,\n }),\n );\n\n let discoveryServersStatuses: Record<string, 'offline' | 'online'> = {};\n let queueAgentsStatuses: Record<string, any> = {};\n\n try {\n const results = await ytApiV3Id.executeBatch(YTApiId.systemMastersConfigDiscoveryServer, {\n requests: [...discoveryRequests, ...queueAgentsStateRequests],\n });\n\n const discoveryResults = results.slice(0, discoveryRequests.length);\n const queueAgentsStateResults = results.slice(\n discoveryRequests.length,\n queueAgentsStateRequests.length,\n );\n\n discoveryServersStatuses = _.reduce(\n discoveryResults,\n (acc, item, key) => {\n acc[discoveryRequests[key].address] = item?.error ? 'offline' : 'online';\n return acc;\n },\n {} as {[address: string]: 'offline' | 'online'},\n );\n queueAgentsStatuses = _.reduce(\n queueAgentsStateResults,\n (acc, item, key) => {\n acc[queueAgentsStateRequests[key].address] =\n typeof item.output !== 'undefined'\n ? item.output\n ? 'active'\n : 'standby'\n : 'offline';\n return acc;\n },\n {} as {[address: string]: string},\n );\n } catch {}\n\n mainResult.discoveryServers = discoveryServersResult.output\n ? {\n addresses: _.map(ypath.getValue(discoveryServersResult.output), (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n state: discoveryServersStatuses[address],\n };\n }),\n cellTag: ypath.getValue(discoveryServersResult.output, '/@native_cell_tag'),\n }\n : {};\n\n mainResult.queueAgents = queueAgentsResult.output\n ? {\n addresses: _.map(ypath.getValue(queueAgentsResult.output), (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n state: queueAgentsStatuses[address],\n };\n }),\n }\n : {};\n\n return [mainResult, alerts];\n}\n\nfunction loadHydra(\n requests: BatchSubRequest[],\n masterInfo: MasterDataItemInfo[],\n type: 'primary' | 'providers' | 'secondary',\n masterEntry: ResponseItemsGroup,\n) {\n const {addresses, cellTag} = masterEntry;\n const hydraPath = '/orchid/monitoring/hydra';\n let cypressPath: string;\n\n if (type === 'primary') {\n cypressPath = '//sys/primary_masters';\n } else if (type === 'providers') {\n cypressPath = '//sys/timestamp_providers';\n } else if (type === 'secondary') {\n cypressPath = '//sys/secondary_masters/' + cellTag;\n } else {\n throw new Error('Unexpected type for loadHydra call');\n }\n\n _.each(\n _.sortBy(addresses, (address) => address.host),\n ({host}) => {\n masterInfo.push({host, type, cellTag: cellTag!});\n requests.push({\n command: 'get',\n parameters: {path: cypressPath + '/' + host + hydraPath, ...USE_SUPRESS_SYNC},\n });\n },\n );\n}\n\nexport function loadMasters() {\n return async (dispatch: Dispatch): Promise<void | {isRetryFutile: true}> => {\n dispatch({type: FETCH_MASTER_CONFIG.REQUEST});\n\n try {\n const [config, alerts] = await loadMastersConfig();\n\n dispatch({type: SET_MASTER_ALERTS, data: alerts});\n dispatch({type: FETCH_MASTER_CONFIG.SUCCESS, data: config});\n dispatch({type: FETCH_MASTER_DATA.REQUEST});\n\n const masterDataRequests: BatchSubRequest[] = [];\n const masterInfo: MasterDataItemInfo[] = [];\n\n loadHydra(masterDataRequests, masterInfo, 'primary', config.primaryMaster);\n\n _.each(config.secondaryMasters, (currentConfig) => {\n loadHydra(masterDataRequests, masterInfo, 'secondary', currentConfig);\n });\n\n loadHydra(masterDataRequests, masterInfo, 'providers', config.timestampProviders);\n\n const data = await ytApiV3Id.executeBatch(YTApiId.systemMasters, {\n requests: masterDataRequests,\n });\n\n dispatch({type: FETCH_MASTER_DATA.SUCCESS, data: {masterInfo, data}});\n } catch (error) {\n dispatch({type: FETCH_MASTER_DATA.FAILURE, data: error});\n\n const data =\n (error as {response?: {data?: {code: string; message: string}}})?.response?.data ||\n (error as {code: string; message: string});\n\n const {code, message} = data;\n\n toaster.add({\n name: 'load/system/masters',\n autoHiding: false,\n type: 'error',\n content: `[code ${code}] ${message}`,\n title: 'Could not load Masters',\n actions: [{label: ' view', onClick: () => showErrorPopup(error as AxiosError)}],\n });\n\n if (isRetryFutile((error as {code: number})?.code)) {\n return {isRetryFutile: true};\n }\n }\n };\n}\n\nfunction getCellIdTag(uuid?: string): number | undefined {\n if (!uuid) {\n return undefined;\n }\n const [, , third = ''] = uuid.split('-');\n return Number(`0x${third.substring(0, third.length - 4)}`);\n}\n"],"mappings":"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"}
@@ -1,9 +1,17 @@
1
1
  import { Action } from 'redux';
2
- import { MasterInstance } from '../../../store/selectors/system/masters';
2
+ import { MasterInstance } from '../../selectors/system/masters';
3
3
  import { ActionD } from '../../../types';
4
4
  import { YTError } from '../../../../@types/types';
5
5
  import { BatchResultsItem } from '../../../../shared/yt-types';
6
- import { FETCH_MASTER_CONFIG, FETCH_MASTER_DATA } from '../../../store/actions/system/masters';
6
+ import { FETCH_MASTER_CONFIG, FETCH_MASTER_DATA, SET_MASTER_ALERTS } from '../../actions/system/masters';
7
+ export type MasterAlert = {
8
+ code: number;
9
+ message: string;
10
+ attributes: {
11
+ datetime: string;
12
+ unrecognized_options: Record<string, string>;
13
+ };
14
+ };
7
15
  export interface MastersState {
8
16
  fetchingConfig: boolean;
9
17
  fetchingData: boolean;
@@ -26,6 +34,7 @@ export interface MastersState {
26
34
  providers: MasterGroupData;
27
35
  discovery: MasterGroupData;
28
36
  queueAgents: MasterGroupData;
37
+ alerts: MasterAlert[];
29
38
  }
30
39
  export interface MasterGroupData {
31
40
  instances: Array<MasterInstance>;
@@ -68,6 +77,6 @@ export interface MasterDataItemInfo {
68
77
  type: string;
69
78
  cellTag: number;
70
79
  }
71
- export type MastersStateAction = Action<typeof FETCH_MASTER_CONFIG.REQUEST | typeof FETCH_MASTER_DATA.REQUEST> | ActionD<typeof FETCH_MASTER_CONFIG.SUCCESS, MastersConfigResponse> | ActionD<typeof FETCH_MASTER_DATA.SUCCESS, MasterDataResponse> | ActionD<typeof FETCH_MASTER_DATA.FAILURE, YTError>;
80
+ export type MastersStateAction = Action<typeof FETCH_MASTER_CONFIG.REQUEST | typeof FETCH_MASTER_DATA.REQUEST> | ActionD<typeof FETCH_MASTER_CONFIG.SUCCESS, MastersConfigResponse> | ActionD<typeof FETCH_MASTER_DATA.SUCCESS, MasterDataResponse> | ActionD<typeof FETCH_MASTER_DATA.FAILURE, YTError> | ActionD<typeof SET_MASTER_ALERTS, MasterAlert[]>;
72
81
  declare const _default: import("redux").Reducer<MastersState, MastersStateAction>;
73
82
  export default _default;
@@ -5,9 +5,9 @@ import _map from "lodash/map";
5
5
  import _find from "lodash/find";
6
6
  import _each from "lodash/each";
7
7
  import _reduce from "lodash/reduce";
8
- import { MasterInstance } from '../../../store/selectors/system/masters';
9
- import { FETCH_MASTER_CONFIG, FETCH_MASTER_DATA } from '../../../store/actions/system/masters';
10
- import { mergeStateOnClusterChange } from '../../../store/reducers/utils';
8
+ import { MasterInstance } from '../../selectors/system/masters';
9
+ import { FETCH_MASTER_CONFIG, FETCH_MASTER_DATA, SET_MASTER_ALERTS } from '../../actions/system/masters';
10
+ import { mergeStateOnClusterChange } from '../utils';
11
11
  function incrementStateCounters(counters, state) {
12
12
  var stateCounters = counters.states;
13
13
  stateCounters[state] = stateCounters[state] || 0;
@@ -124,7 +124,8 @@ var initialState = {
124
124
  },
125
125
  queueAgents: {
126
126
  instances: []
127
- }
127
+ },
128
+ alerts: []
128
129
  };
129
130
  function processMastersConfig(state, _ref2) {
130
131
  var primaryMaster = _ref2.primaryMaster,
@@ -291,6 +292,10 @@ function masters() {
291
292
  fetchingData: false,
292
293
  error: action.data
293
294
  });
295
+ case SET_MASTER_ALERTS:
296
+ return _objectSpread(_objectSpread({}, state), {}, {
297
+ alerts: action.data
298
+ });
294
299
  default:
295
300
  return state;
296
301
  }
@@ -1 +1 @@
1
- {"version":3,"names":["MasterInstance","FETCH_MASTER_CONFIG","FETCH_MASTER_DATA","mergeStateOnClusterChange","incrementStateCounters","counters","state","stateCounters","states","calculateStatusCounts","masters","initialStatusCount","success","recovery","unavailable","_reduce","result","master","extractMasterCounters","primary","secondary","_ref","total","length","flags","quorum","status","_each","getQuorum","existsProblematicInstance","existsLeading","leaderCommitedVersion","masterData","$attributes","committedVersion","getLeader","instances","_find","instance","initialState","fetchingConfig","fetchingData","error","undefined","initialized","mastersDataConfig","leader","cellTag","providers","discovery","queueAgents","processMastersConfig","_ref2","primaryMaster","secondaryMasters","timestampProviders","discoveryServers","res","_map","_sortBy","addresses","address","processMastersData","_ref3","rawData","data","masterInfo","payload","output","masterToDataIndex","i","_masterInfo$i","host","type","primaryInstances","_instance$toObject","toObject","key","clone","update","_orderBy","$address","_instance$toObject2","providersInstances","_instance$toObject3","discoveryInstances","$state","queueAgentInstances","statusCounts","arguments","action","REQUEST","_objectSpread","SUCCESS","FAILURE"],"sources":["masters.ts"],"sourcesContent":["import _ from 'lodash';\nimport {Action} from 'redux';\nimport {MasterInstance} from '../../../store/selectors/system/masters';\nimport {ActionD} from '../../../types';\nimport {YTError} from '../../../../@types/types';\nimport {BatchResultsItem} from '../../../../shared/yt-types';\nimport {FETCH_MASTER_CONFIG, FETCH_MASTER_DATA} from '../../../store/actions/system/masters';\nimport {mergeStateOnClusterChange} from '../../../store/reducers/utils';\n\nfunction incrementStateCounters(\n counters: MastersState['counters'],\n state: keyof MastersState['counters']['states'],\n) {\n const stateCounters = counters.states;\n stateCounters[state] = stateCounters[state] || 0;\n stateCounters[state]++;\n}\n\nfunction calculateStatusCounts(masters: Array<MasterDataItem | undefined>) {\n const initialStatusCount = {\n success: 0,\n recovery: 0,\n unavailable: 0,\n };\n\n return _.reduce(\n masters,\n (result, master) => {\n if (!master || !master.state) {\n return result;\n }\n\n switch (master.state) {\n case 'stopped':\n case 'unknown':\n result.unavailable += 1;\n break;\n case 'elections':\n case 'follower_recovery':\n case 'leader_recovery':\n result.recovery += 1;\n break;\n case 'following':\n case 'leading':\n result.success += 1;\n }\n\n return result;\n },\n initialStatusCount,\n );\n}\n\nfunction extractMasterCounters(\n primary: Required<MastersState['primary']>,\n secondary: Array<Required<MasterGroupData>>,\n {recovery, unavailable}: MastersState['counters']['states'],\n) {\n const counters: MastersState['counters'] = {\n total: secondary.length + 1,\n flags: {\n recovery: recovery,\n unavailable: unavailable,\n primary: 1,\n secondary: secondary.length,\n },\n states: {},\n };\n\n incrementStateCounters(counters, primary.quorum.status);\n\n _.each(secondary, (masters) => {\n incrementStateCounters(counters, masters.quorum.status);\n });\n\n return counters;\n}\n\nfunction getQuorum(masters: Array<MasterInstance>) {\n let existsProblematicInstance = false;\n let existsLeading = false;\n let leaderCommitedVersion;\n\n _.each(masters, (master) => {\n const masterData = master.$attributes;\n const state = master.state;\n\n if (masterData && state !== 'following' && state !== 'leading') {\n existsProblematicInstance = true;\n }\n\n if (masterData && state === 'leading') {\n existsLeading = true;\n leaderCommitedVersion = master.committedVersion;\n }\n });\n\n let status;\n\n if (existsLeading && !existsProblematicInstance) {\n status = 'quorum' as const;\n } else if (existsLeading && existsProblematicInstance) {\n status = 'weak-quorum' as const;\n } else {\n status = 'no-quorum' as const;\n }\n // TEST DATA\n // status = ['quorum', 'weak-quorum', 'no-quorum'][Math.floor(Math.random() * 3)];\n\n return {status, leaderCommitedVersion};\n}\n\nfunction getLeader(instances: any) {\n return _.find(instances, (instance) => {\n return instance.state === 'leading';\n });\n}\n\nexport interface MastersState {\n fetchingConfig: boolean;\n fetchingData: boolean;\n error?: YTError;\n initialized: boolean;\n\n mastersDataConfig?: MastersConfigResponse;\n masterData?: MasterDataResponse;\n\n counters: {\n total?: number;\n flags?: {\n recovery: number;\n unavailable: number;\n primary: number;\n secondary: number;\n };\n states: Record<string, number>;\n };\n primary: MasterGroupData;\n secondary: Array<MasterGroupData>;\n providers: MasterGroupData;\n discovery: MasterGroupData;\n queueAgents: MasterGroupData;\n}\n\nexport interface MasterGroupData {\n instances: Array<MasterInstance>;\n leader?: MasterInstance;\n quorum?: {\n status: 'quorum' | 'weak-quorum' | 'no-quorum';\n leaderCommitedVersion?: string;\n };\n cellTag?: number;\n}\n\nconst initialState: MastersState = {\n fetchingConfig: false,\n fetchingData: false,\n error: undefined,\n initialized: false,\n\n mastersDataConfig: undefined,\n masterData: undefined,\n\n counters: {states: {}},\n primary: {\n instances: [],\n leader: undefined,\n quorum: undefined,\n cellTag: undefined,\n },\n secondary: [],\n providers: {\n instances: [],\n leader: undefined,\n quorum: undefined,\n cellTag: undefined,\n },\n discovery: {\n instances: [],\n cellTag: undefined,\n },\n queueAgents: {\n instances: [],\n },\n};\n\nexport interface ResponseItem {\n host: string;\n physicalHost?: string;\n attributes: {\n native_cell_tag: number;\n annotations: unknown;\n };\n state?: 'online' | 'offline' | 'unknown';\n}\n\nexport interface ResponseItemsGroup {\n addresses?: Array<ResponseItem>;\n cellTag?: number;\n}\n\nexport interface MastersConfigResponse {\n primaryMaster: ResponseItemsGroup;\n secondaryMasters: Array<ResponseItemsGroup>;\n discoveryServers: ResponseItemsGroup;\n queueAgents: ResponseItemsGroup;\n timestampProviders: ResponseItemsGroup;\n}\n\nfunction processMastersConfig(\n state: MastersState,\n {\n primaryMaster,\n secondaryMasters,\n timestampProviders,\n discoveryServers,\n queueAgents,\n }: MastersConfigResponse,\n) {\n const res = {\n primary: {\n instances: _.map(_.sortBy(primaryMaster.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'primary', primaryMaster.cellTag);\n }),\n cellTag: primaryMaster.cellTag,\n },\n secondary: _.map(secondaryMasters, (master) => {\n return {\n instances: _.map(_.sortBy(master.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'secondary', master.cellTag);\n }),\n cellTag: master.cellTag,\n };\n }),\n providers: {\n instances: _.map(_.sortBy(timestampProviders.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'providers', timestampProviders.cellTag);\n }),\n cellTag: timestampProviders.cellTag,\n },\n discovery: {\n instances: _.map(_.sortBy(discoveryServers.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'discovery', discoveryServers.cellTag);\n }),\n cellTag: discoveryServers.cellTag,\n },\n queueAgents: {\n instances: _.map(_.sortBy(queueAgents.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'queue_agent');\n }),\n },\n };\n return state.masterData ? processMastersData(res, state.masterData) : res;\n}\n\nexport interface MasterDataResponse {\n data: Array<BatchResultsItem<MasterDataItem>>;\n masterInfo: Array<MasterDataItemInfo>;\n}\n\nexport interface MasterDataItem {\n state:\n | 'stopped'\n | 'unknown'\n | 'elections'\n | 'follower_recovery'\n | 'leader_recovery'\n | 'following'\n | 'leading';\n}\n\nexport interface MasterDataItemInfo {\n host: string;\n type: string;\n cellTag: number;\n}\n\nfunction processMastersData(\n state: Pick<MastersState, 'primary' | 'secondary' | 'providers' | 'discovery' | 'queueAgents'>,\n {data: rawData, masterInfo}: MasterDataResponse,\n) {\n const data = _.map(rawData, (payload) => payload.output);\n\n const masterToDataIndex: Record<string, number> = {};\n for (let i = 0; i < masterInfo.length; i++) {\n const {host, type, cellTag} = masterInfo[i];\n masterToDataIndex[type + cellTag + host] = i;\n }\n\n const primaryInstances = _.map(state.primary.instances, (instance) => {\n const {host, type, cellTag} = instance.toObject();\n const key = type + cellTag + host;\n return instance.clone().update(data[masterToDataIndex[key]]);\n });\n\n const primary: Required<MasterGroupData> = {\n instances: _.orderBy(primaryInstances, (instance) => instance.$address),\n cellTag: state.primary.cellTag!,\n quorum: getQuorum(primaryInstances),\n leader: getLeader(primaryInstances),\n };\n\n const secondary = _.map(state.secondary, (master) => {\n const instances = _.map(master.instances, (instance) => {\n const {host, type, cellTag} = instance.toObject();\n const key = type + cellTag + host;\n return instance.clone().update(data[masterToDataIndex[key]]);\n });\n const res: Required<MasterGroupData> = {\n instances: _.orderBy(instances, (instance) => instance.$address),\n cellTag: master.cellTag!,\n quorum: getQuorum(instances),\n leader: getLeader(instances),\n };\n return res;\n });\n\n const providersInstances = _.map(state.providers.instances, (instance) => {\n const {host, type, cellTag} = instance.toObject();\n const key = type + cellTag + host;\n return instance.clone().update(data[masterToDataIndex[key]]);\n });\n\n const providers = {\n instances: _.orderBy(providersInstances, (instance) => instance.$address),\n cellTag: state.providers.cellTag,\n quorum: getQuorum(providersInstances),\n leader: getLeader(providersInstances),\n };\n\n const discoveryInstances = _.map(state.discovery.instances, (instance) => {\n return instance.clone().update({state: instance.$state});\n });\n\n const discovery = {\n instances: _.orderBy(discoveryInstances, (instance) => instance.$address),\n cellTag: state.providers.cellTag,\n };\n\n const queueAgentInstances = _.map(state.queueAgents.instances, (instance) => {\n return instance.clone().update({state: instance.$state});\n });\n\n const queueAgents = {\n instances: _.orderBy(queueAgentInstances, (instance) => instance.$address),\n };\n\n const statusCounts: MastersState['counters']['states'] = calculateStatusCounts(data);\n\n return {\n counters: extractMasterCounters(primary, secondary, statusCounts),\n primary,\n secondary,\n providers,\n discovery,\n queueAgents,\n };\n}\n\nfunction masters(state = initialState, action: MastersStateAction): MastersState {\n switch (action.type) {\n case FETCH_MASTER_CONFIG.REQUEST:\n return {...state, fetchingConfig: true};\n case FETCH_MASTER_CONFIG.SUCCESS:\n return {\n ...state,\n ...processMastersConfig(state, action.data),\n mastersDataConfig: action.data,\n fetchingConfig: false,\n initialized: true,\n };\n case FETCH_MASTER_DATA.REQUEST:\n return {...state, fetchingData: true};\n case FETCH_MASTER_DATA.SUCCESS:\n return {\n ...state,\n ...processMastersData(state, action.data),\n masterData: action.data,\n fetchingData: false,\n };\n case FETCH_MASTER_DATA.FAILURE:\n return {...state, fetchingData: false, error: action.data};\n default:\n return state;\n }\n}\n\nexport type MastersStateAction =\n | Action<typeof FETCH_MASTER_CONFIG.REQUEST | typeof FETCH_MASTER_DATA.REQUEST>\n | ActionD<typeof FETCH_MASTER_CONFIG.SUCCESS, MastersConfigResponse>\n | ActionD<typeof FETCH_MASTER_DATA.SUCCESS, MasterDataResponse>\n | ActionD<typeof FETCH_MASTER_DATA.FAILURE, YTError>;\n\nexport default mergeStateOnClusterChange(initialState, {}, masters);\n"],"mappings":"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"}
1
+ {"version":3,"names":["MasterInstance","FETCH_MASTER_CONFIG","FETCH_MASTER_DATA","SET_MASTER_ALERTS","mergeStateOnClusterChange","incrementStateCounters","counters","state","stateCounters","states","calculateStatusCounts","masters","initialStatusCount","success","recovery","unavailable","_reduce","result","master","extractMasterCounters","primary","secondary","_ref","total","length","flags","quorum","status","_each","getQuorum","existsProblematicInstance","existsLeading","leaderCommitedVersion","masterData","$attributes","committedVersion","getLeader","instances","_find","instance","initialState","fetchingConfig","fetchingData","error","undefined","initialized","mastersDataConfig","leader","cellTag","providers","discovery","queueAgents","alerts","processMastersConfig","_ref2","primaryMaster","secondaryMasters","timestampProviders","discoveryServers","res","_map","_sortBy","addresses","address","processMastersData","_ref3","rawData","data","masterInfo","payload","output","masterToDataIndex","i","_masterInfo$i","host","type","primaryInstances","_instance$toObject","toObject","key","clone","update","_orderBy","$address","_instance$toObject2","providersInstances","_instance$toObject3","discoveryInstances","$state","queueAgentInstances","statusCounts","arguments","action","REQUEST","_objectSpread","SUCCESS","FAILURE"],"sources":["masters.ts"],"sourcesContent":["import _ from 'lodash';\nimport {Action} from 'redux';\nimport {MasterInstance} from '../../selectors/system/masters';\nimport {ActionD} from '../../../types';\nimport {YTError} from '../../../../@types/types';\nimport {BatchResultsItem} from '../../../../shared/yt-types';\nimport {\n FETCH_MASTER_CONFIG,\n FETCH_MASTER_DATA,\n SET_MASTER_ALERTS,\n} from '../../actions/system/masters';\nimport {mergeStateOnClusterChange} from '../utils';\n\nfunction incrementStateCounters(\n counters: MastersState['counters'],\n state: keyof MastersState['counters']['states'],\n) {\n const stateCounters = counters.states;\n stateCounters[state] = stateCounters[state] || 0;\n stateCounters[state]++;\n}\n\nfunction calculateStatusCounts(masters: Array<MasterDataItem | undefined>) {\n const initialStatusCount = {\n success: 0,\n recovery: 0,\n unavailable: 0,\n };\n\n return _.reduce(\n masters,\n (result, master) => {\n if (!master || !master.state) {\n return result;\n }\n\n switch (master.state) {\n case 'stopped':\n case 'unknown':\n result.unavailable += 1;\n break;\n case 'elections':\n case 'follower_recovery':\n case 'leader_recovery':\n result.recovery += 1;\n break;\n case 'following':\n case 'leading':\n result.success += 1;\n }\n\n return result;\n },\n initialStatusCount,\n );\n}\n\nfunction extractMasterCounters(\n primary: Required<MastersState['primary']>,\n secondary: Array<Required<MasterGroupData>>,\n {recovery, unavailable}: MastersState['counters']['states'],\n) {\n const counters: MastersState['counters'] = {\n total: secondary.length + 1,\n flags: {\n recovery: recovery,\n unavailable: unavailable,\n primary: 1,\n secondary: secondary.length,\n },\n states: {},\n };\n\n incrementStateCounters(counters, primary.quorum.status);\n\n _.each(secondary, (masters) => {\n incrementStateCounters(counters, masters.quorum.status);\n });\n\n return counters;\n}\n\nfunction getQuorum(masters: Array<MasterInstance>) {\n let existsProblematicInstance = false;\n let existsLeading = false;\n let leaderCommitedVersion;\n\n _.each(masters, (master) => {\n const masterData = master.$attributes;\n const state = master.state;\n\n if (masterData && state !== 'following' && state !== 'leading') {\n existsProblematicInstance = true;\n }\n\n if (masterData && state === 'leading') {\n existsLeading = true;\n leaderCommitedVersion = master.committedVersion;\n }\n });\n\n let status;\n\n if (existsLeading && !existsProblematicInstance) {\n status = 'quorum' as const;\n } else if (existsLeading && existsProblematicInstance) {\n status = 'weak-quorum' as const;\n } else {\n status = 'no-quorum' as const;\n }\n // TEST DATA\n // status = ['quorum', 'weak-quorum', 'no-quorum'][Math.floor(Math.random() * 3)];\n\n return {status, leaderCommitedVersion};\n}\n\nfunction getLeader(instances: any) {\n return _.find(instances, (instance) => {\n return instance.state === 'leading';\n });\n}\n\nexport type MasterAlert = {\n code: number;\n message: string;\n attributes: {\n datetime: string;\n unrecognized_options: Record<string, string>;\n };\n};\n\nexport interface MastersState {\n fetchingConfig: boolean;\n fetchingData: boolean;\n error?: YTError;\n initialized: boolean;\n\n mastersDataConfig?: MastersConfigResponse;\n masterData?: MasterDataResponse;\n\n counters: {\n total?: number;\n flags?: {\n recovery: number;\n unavailable: number;\n primary: number;\n secondary: number;\n };\n states: Record<string, number>;\n };\n primary: MasterGroupData;\n secondary: Array<MasterGroupData>;\n providers: MasterGroupData;\n discovery: MasterGroupData;\n queueAgents: MasterGroupData;\n alerts: MasterAlert[];\n}\n\nexport interface MasterGroupData {\n instances: Array<MasterInstance>;\n leader?: MasterInstance;\n quorum?: {\n status: 'quorum' | 'weak-quorum' | 'no-quorum';\n leaderCommitedVersion?: string;\n };\n cellTag?: number;\n}\n\nconst initialState: MastersState = {\n fetchingConfig: false,\n fetchingData: false,\n error: undefined,\n initialized: false,\n\n mastersDataConfig: undefined,\n masterData: undefined,\n\n counters: {states: {}},\n primary: {\n instances: [],\n leader: undefined,\n quorum: undefined,\n cellTag: undefined,\n },\n secondary: [],\n providers: {\n instances: [],\n leader: undefined,\n quorum: undefined,\n cellTag: undefined,\n },\n discovery: {\n instances: [],\n cellTag: undefined,\n },\n queueAgents: {\n instances: [],\n },\n alerts: [],\n};\n\nexport interface ResponseItem {\n host: string;\n physicalHost?: string;\n attributes: {\n native_cell_tag: number;\n annotations: unknown;\n };\n state?: 'online' | 'offline' | 'unknown';\n}\n\nexport interface ResponseItemsGroup {\n addresses?: Array<ResponseItem>;\n cellTag?: number;\n}\n\nexport interface MastersConfigResponse {\n primaryMaster: ResponseItemsGroup;\n secondaryMasters: Array<ResponseItemsGroup>;\n discoveryServers: ResponseItemsGroup;\n queueAgents: ResponseItemsGroup;\n timestampProviders: ResponseItemsGroup;\n}\n\nfunction processMastersConfig(\n state: MastersState,\n {\n primaryMaster,\n secondaryMasters,\n timestampProviders,\n discoveryServers,\n queueAgents,\n }: MastersConfigResponse,\n) {\n const res = {\n primary: {\n instances: _.map(_.sortBy(primaryMaster.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'primary', primaryMaster.cellTag);\n }),\n cellTag: primaryMaster.cellTag,\n },\n secondary: _.map(secondaryMasters, (master) => {\n return {\n instances: _.map(_.sortBy(master.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'secondary', master.cellTag);\n }),\n cellTag: master.cellTag,\n };\n }),\n providers: {\n instances: _.map(_.sortBy(timestampProviders.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'providers', timestampProviders.cellTag);\n }),\n cellTag: timestampProviders.cellTag,\n },\n discovery: {\n instances: _.map(_.sortBy(discoveryServers.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'discovery', discoveryServers.cellTag);\n }),\n cellTag: discoveryServers.cellTag,\n },\n queueAgents: {\n instances: _.map(_.sortBy(queueAgents.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'queue_agent');\n }),\n },\n };\n return state.masterData ? processMastersData(res, state.masterData) : res;\n}\n\nexport interface MasterDataResponse {\n data: Array<BatchResultsItem<MasterDataItem>>;\n masterInfo: Array<MasterDataItemInfo>;\n}\n\nexport interface MasterDataItem {\n state:\n | 'stopped'\n | 'unknown'\n | 'elections'\n | 'follower_recovery'\n | 'leader_recovery'\n | 'following'\n | 'leading';\n}\n\nexport interface MasterDataItemInfo {\n host: string;\n type: string;\n cellTag: number;\n}\n\nfunction processMastersData(\n state: Pick<MastersState, 'primary' | 'secondary' | 'providers' | 'discovery' | 'queueAgents'>,\n {data: rawData, masterInfo}: MasterDataResponse,\n) {\n const data = _.map(rawData, (payload) => payload.output);\n\n const masterToDataIndex: Record<string, number> = {};\n for (let i = 0; i < masterInfo.length; i++) {\n const {host, type, cellTag} = masterInfo[i];\n masterToDataIndex[type + cellTag + host] = i;\n }\n\n const primaryInstances = _.map(state.primary.instances, (instance) => {\n const {host, type, cellTag} = instance.toObject();\n const key = type + cellTag + host;\n return instance.clone().update(data[masterToDataIndex[key]]);\n });\n\n const primary: Required<MasterGroupData> = {\n instances: _.orderBy(primaryInstances, (instance) => instance.$address),\n cellTag: state.primary.cellTag!,\n quorum: getQuorum(primaryInstances),\n leader: getLeader(primaryInstances),\n };\n\n const secondary = _.map(state.secondary, (master) => {\n const instances = _.map(master.instances, (instance) => {\n const {host, type, cellTag} = instance.toObject();\n const key = type + cellTag + host;\n return instance.clone().update(data[masterToDataIndex[key]]);\n });\n const res: Required<MasterGroupData> = {\n instances: _.orderBy(instances, (instance) => instance.$address),\n cellTag: master.cellTag!,\n quorum: getQuorum(instances),\n leader: getLeader(instances),\n };\n return res;\n });\n\n const providersInstances = _.map(state.providers.instances, (instance) => {\n const {host, type, cellTag} = instance.toObject();\n const key = type + cellTag + host;\n return instance.clone().update(data[masterToDataIndex[key]]);\n });\n\n const providers = {\n instances: _.orderBy(providersInstances, (instance) => instance.$address),\n cellTag: state.providers.cellTag,\n quorum: getQuorum(providersInstances),\n leader: getLeader(providersInstances),\n };\n\n const discoveryInstances = _.map(state.discovery.instances, (instance) => {\n return instance.clone().update({state: instance.$state});\n });\n\n const discovery = {\n instances: _.orderBy(discoveryInstances, (instance) => instance.$address),\n cellTag: state.providers.cellTag,\n };\n\n const queueAgentInstances = _.map(state.queueAgents.instances, (instance) => {\n return instance.clone().update({state: instance.$state});\n });\n\n const queueAgents = {\n instances: _.orderBy(queueAgentInstances, (instance) => instance.$address),\n };\n\n const statusCounts: MastersState['counters']['states'] = calculateStatusCounts(data);\n\n return {\n counters: extractMasterCounters(primary, secondary, statusCounts),\n primary,\n secondary,\n providers,\n discovery,\n queueAgents,\n };\n}\n\nfunction masters(state = initialState, action: MastersStateAction): MastersState {\n switch (action.type) {\n case FETCH_MASTER_CONFIG.REQUEST:\n return {...state, fetchingConfig: true};\n case FETCH_MASTER_CONFIG.SUCCESS:\n return {\n ...state,\n ...processMastersConfig(state, action.data),\n mastersDataConfig: action.data,\n fetchingConfig: false,\n initialized: true,\n };\n case FETCH_MASTER_DATA.REQUEST:\n return {...state, fetchingData: true};\n case FETCH_MASTER_DATA.SUCCESS:\n return {\n ...state,\n ...processMastersData(state, action.data),\n masterData: action.data,\n fetchingData: false,\n };\n case FETCH_MASTER_DATA.FAILURE:\n return {...state, fetchingData: false, error: action.data};\n case SET_MASTER_ALERTS:\n return {...state, alerts: action.data};\n default:\n return state;\n }\n}\n\nexport type MastersStateAction =\n | Action<typeof FETCH_MASTER_CONFIG.REQUEST | typeof FETCH_MASTER_DATA.REQUEST>\n | ActionD<typeof FETCH_MASTER_CONFIG.SUCCESS, MastersConfigResponse>\n | ActionD<typeof FETCH_MASTER_DATA.SUCCESS, MasterDataResponse>\n | ActionD<typeof FETCH_MASTER_DATA.FAILURE, YTError>\n | ActionD<typeof SET_MASTER_ALERTS, MasterAlert[]>;\n\nexport default mergeStateOnClusterChange(initialState, {}, masters);\n"],"mappings":"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"}
@@ -1684,7 +1684,34 @@ export interface PoolInfo extends Omit<OperationInfo, 'type' | 'pool'> {
1684
1684
  children?: Array<PoolInfo>;
1685
1685
  leaves: Array<OperationInfo>;
1686
1686
  isEphemeral?: boolean;
1687
+ resources?: PoolResources;
1688
+ fifoIndex?: number;
1689
+ weight?: number;
1690
+ minShareRatio?: number;
1691
+ maxShareRatio?: number;
1692
+ fairShareRatio?: number;
1693
+ usageRatio?: number;
1694
+ demandRatio?: number;
1695
+ dominantResource?: number;
1696
+ runningOperationCount?: number;
1697
+ operationCount?: number;
1698
+ maxOperationCount?: number;
1699
+ childrenBurstCPU?: number;
1700
+ childrenFlowCPU?: number;
1701
+ accumulated?: number;
1702
+ accumulatedCpu?: number;
1703
+ burstDuration?: number;
1687
1704
  }
1705
+ export type PoolResources = Partial<Record<'cpu' | 'gpu' | 'user_memory' | 'user_slots', PoolResourceDetails>>;
1706
+ export type PoolResourceType = keyof PoolResources;
1707
+ export type PoolResourceDetails = {
1708
+ min?: number;
1709
+ usage?: number;
1710
+ limit?: number;
1711
+ demand?: number;
1712
+ detailed?: number;
1713
+ guaranteed?: number;
1714
+ };
1688
1715
  export declare const getPools: ((state: Omit<import("redux").CombinedState<{
1689
1716
  acl: any;
1690
1717
  aclFilters: import("../../reducers/acl/acl-filters").AclFiltersState;