Idea #10290
closed
[Crunch2] Move "partitions" out of runtime_constraints
Added by Peter Amstutz about 8 years ago.
Updated about 8 years ago.
Assigned To:
Radhika Chippada
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.
- Description updated (diff)
Add a new hash scheduling_parameters and move "partitions" to it. Value remains array of strings.
Update tests.
Document new field.
- Target version set to 2016-11-23 sprint
- Description updated (diff)
- Assigned To set to Radhika Chippada
- Description updated (diff)
- Description updated (diff)
- Status changed from New to In Progress
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.
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.
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.
- Status changed from In Progress to Resolved
- % Done changed from 0 to 100
Applied in changeset arvados|commit:02010431f52911a6ff908e673c534291beb929ac.
- 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>">
Updated container_requests_controller and added a controller test at ddce4f6de. Thanks.
Radhika Chippada wrote:
Updated container_requests_controller and added a controller test at ddce4f6de. Thanks.
LGTM please merge
- Status changed from Feedback to Resolved
- % Done changed from 50 to 100
Applied in changeset arvados|commit:b6bc9bbe45a68a07b1ea8139e1f4d698873739a7.
Also available in: Atom
PDF