Story #10290

[Crunch2] Move "partitions" out of runtime_constraints

Added by Peter Amstutz about 5 years ago. Updated almost 5 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Radhika Chippada
Category:
-
Target version:
Start date:
11/11/2016
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
Story points:
1.0

Description

runtime_constraints has the following semantics:

Restrict the container's access to compute resources and the outside world (in addition to its explicitly stated inputs and output). -- Each key is the name of a capability, like "internet" or "API" or "clock". The corresponding value is true (the capability must be available in the container's runtime environment) or false (must not) or a value or an array of two numbers indicating an inclusive range. Numeric values are given in basic units (e.g., RAM is given in bytes, not KB or MB or MiB). If a key is omitted, availability of the corresponding capability is acceptable but not necessary.

The "partitions" field of Container/ContainerRequest does not fit these semantics. It should move to the new scheduling_parameters hash.

See Containers API

API server, arvados-cwl-runner and crunch-dispatch-slurm need to be updated accordingly.


Subtasks

Task #10523: Update documentationResolvedRadhika Chippada

Task #10500: Review branch 10290-container-partitionsResolvedRadhika Chippada

Associated revisions

Revision 02010431
Added by Radhika Chippada almost 5 years ago

closes #10290
Merge branch '10290-container-partitions'

Revision b6bc9bbe
Added by Radhika Chippada almost 5 years ago

closes #10290
Merge branch '10290-container-partitions'

Revision 4f678d4c
Added by Radhika Chippada almost 5 years ago

refs #10290
Merge branch '10290-scheduling-parameters-doc'

History

#1 Updated by Peter Amstutz about 5 years ago

  • Description updated (diff)

#2 Updated by Tom Morris about 5 years ago

  • Story points set to 1.0

Add a new hash scheduling_parameters and move "partitions" to it. Value remains array of strings.

Update tests.

Document new field.

#3 Updated by Tom Morris almost 5 years ago

  • Target version set to 2016-11-23 sprint

#4 Updated by Tom Clegg almost 5 years ago

  • Description updated (diff)

#5 Updated by Radhika Chippada almost 5 years ago

  • Assigned To set to Radhika Chippada

#6 Updated by Tom Clegg almost 5 years ago

  • Description updated (diff)

#7 Updated by Peter Amstutz almost 5 years ago

  • Description updated (diff)

#8 Updated by Radhika Chippada almost 5 years ago

  • Status changed from New to In Progress

#9 Updated by Radhika Chippada almost 5 years ago

At 5cd2757a

  • Added scheduling_parameters map to containers and container_requests. Added test(s) to container_requests test. Updated arvados-cwl-runner and crunch_dispatch_slurm and tests.
  • Documentation is not updated since major updates are happening in #10346. Will add a subtask and handle it after 10346 is completed.

#10 Updated by Peter Amstutz almost 5 years ago

test_container.py:146

        for key in call_args:
            self.assertEqual(call_args[key], call_kwargs[key])

This doesn't seem right, it declares call_body above but doesn't use it for comparison. Shouldn't it be doing something like self.assertEqual(call_body, call_kwargs["body"]) ?

rest LGTM.

#11 Updated by Radhika Chippada almost 5 years ago

Peter said:

test_container.py -- This doesn't seem right, it declares call_body above but doesn't use it for comparison. Shouldn't it be doing something like self.assertEqual(call_body, call_kwargs["body"]) ?

Oops, that's silly. Updated the test assertions to compare call body. Thanks.

#12 Updated by Radhika Chippada almost 5 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100

Applied in changeset arvados|commit:02010431f52911a6ff908e673c534291beb929ac.

#13 Updated by Peter Amstutz almost 5 years ago

  • Status changed from Resolved to Feedback

When submitting a container request:

<HttpError 422 when requesting https://192.168.5.2:8000/arvados/v1/container_requests?alt=json returned "#<ActiveRecord::RecordInvalid: Validation failed: Scheduling parameters must be a Hash, not a ActiveSupport::HashWithIndifferentAccess>">

#14 Updated by Radhika Chippada almost 5 years ago

Updated container_requests_controller and added a controller test at ddce4f6de. Thanks.

#15 Updated by Peter Amstutz almost 5 years ago

Radhika Chippada wrote:

Updated container_requests_controller and added a controller test at ddce4f6de. Thanks.

LGTM please merge

#16 Updated by Radhika Chippada almost 5 years ago

  • Status changed from Feedback to Resolved
  • % Done changed from 50 to 100

Applied in changeset arvados|commit:b6bc9bbe45a68a07b1ea8139e1f4d698873739a7.

Also available in: Atom PDF