Skip to content

Variable slot pricing - update and fix breaking API changes#2230

Merged
cRui861 merged 11 commits intomasterfrom
variable-slot-pricing
Oct 29, 2020
Merged

Variable slot pricing - update and fix breaking API changes#2230
cRui861 merged 11 commits intomasterfrom
variable-slot-pricing

Conversation

@cRui861
Copy link
Member

@cRui861 cRui861 commented Oct 22, 2020

Updates for variable slot pricing feature in BatchService API version 2020-09-01.12.0:

  • Replace property maxTasksPerNode with taskSlotsPerNode on the pool
  • Change the response type of GetTaskCounts to return TaskCountsResult, which is a complex object containing the previous TaskCounts object and a new TaskSlotCounts object providing similar information in the context of slots being used
  • Add property requiredSlots to the task allowing user to specify how many slots on a node it should take up

@bgklein
Copy link
Contributor

bgklein commented Oct 24, 2020

Only glimpsed over the code, but does this address the pool view (of nodes in the pool) where currently running tasks are displayed as a percentage of the VM as green?

@cRui861
Copy link
Member Author

cRui861 commented Oct 28, 2020

Only glimpsed over the code, but does this address the pool view (of nodes in the pool) where currently running tasks are displayed as a percentage of the VM as green?

There are plans to add the task slot counts in the heatmap UI within the Pool blade but it'll probably come in a separate PR.

@codecov
Copy link

codecov bot commented Oct 29, 2020

Codecov Report

Merging #2230 into master will increase coverage by 0.02%.
The diff coverage is 82.92%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2230      +/-   ##
==========================================
+ Coverage   65.14%   65.16%   +0.02%     
==========================================
  Files         899      903       +4     
  Lines       25660    25688      +28     
  Branches     5092     5098       +6     
==========================================
+ Hits        16715    16739      +24     
- Misses       8945     8949       +4     
Impacted Files Coverage Δ
...ob/action/add/job-manager-task-picker.component.ts 26.66% <0.00%> (-1.91%) ⬇️
...raphs/job-graphs-home/job-graphs-home.component.ts 12.74% <0.00%> (ø)
...l/action/add/pool-create-basic-dialog.component.ts 10.22% <ø> (ø)
...pp/components/pool/graphs/pool-graphs.component.ts 15.38% <0.00%> (ø)
...ponents/task/action/add/add-task-form.component.ts 18.75% <ø> (ø)
src/app/decorators/task-decorator.ts 0.00% <0.00%> (ø)
src/app/models/forms/create-pool-model.ts 8.33% <ø> (ø)
src/app/models/forms/create-task-model.ts 0.00% <ø> (ø)
src/app/services/azure-batch/job/job.service.ts 55.31% <0.00%> (ø)
src/common/constants/constants.ts 100.00% <ø> (ø)
... and 22 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f6f09e0...2dfe7a7. Read the comment docs.

this._baseFormControls["displayName"] = [null];
this._baseFormControls["killJobOnCompletion"] = [true];
this._baseFormControls["runExclusive"] = [true];
this._baseFormControls["requiredSlots"] = [1, [Validators.required, Validators.min(1)]];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We may want to add a max value validator based on pool taskSlotsPerNode settings, but it can be done in another PR.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The max value validator based on pool taskSlotsPerNode would be based on the VM sizes chosen for that specific pool right? Do you know how that is determined? Like if there is information that I can pull that has a correspondence between the VM size and the max value for the taskSlotsPerNode?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The max value for taskSlotsPerNode is 4 x number of VM cores, when vmSize is not specified, the max value is 256

@cRui861 cRui861 merged commit a7b7dd0 into master Oct 29, 2020
@cRui861 cRui861 deleted the variable-slot-pricing branch October 29, 2020 22:58
@cRui861 cRui861 modified the milestone: 2.8.0 Jan 14, 2021
@cRui861
Copy link
Member Author

cRui861 commented Jan 15, 2021

Fixed #2251

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants