mirror of
https://github.com/wassname/ray.git
synced 2026-06-27 20:22:39 +08:00
[Placement group] Input validation (#11152)
* Add a basic input validation. * Addressed code review.
This commit is contained in:
@@ -32,11 +32,17 @@ def test_placement_group_pack(ray_start_cluster):
|
||||
ray.init(address=cluster.address)
|
||||
|
||||
placement_group = ray.util.placement_group(
|
||||
name="name", strategy="PACK", bundles=[{
|
||||
"CPU": 2
|
||||
}, {
|
||||
"CPU": 2
|
||||
}])
|
||||
name="name",
|
||||
strategy="PACK",
|
||||
bundles=[
|
||||
{
|
||||
"CPU": 2,
|
||||
"GPU": 0 # Test 0 resource spec doesn't break tests.
|
||||
},
|
||||
{
|
||||
"CPU": 2
|
||||
}
|
||||
])
|
||||
ray.get(placement_group.ready())
|
||||
actor_1 = Actor.options(
|
||||
placement_group=placement_group,
|
||||
|
||||
@@ -77,8 +77,16 @@ class PlacementGroupSpecBuilder {
|
||||
auto mutable_bundle_id = message_bundle->mutable_bundle_id();
|
||||
mutable_bundle_id->set_bundle_index(i);
|
||||
mutable_bundle_id->set_placement_group_id(placement_group_id.Binary());
|
||||
message_bundle->mutable_unit_resources()->insert(resources.begin(),
|
||||
resources.end());
|
||||
auto mutable_unit_resources = message_bundle->mutable_unit_resources();
|
||||
for (auto it = resources.begin(); it != resources.end();) {
|
||||
auto current = it++;
|
||||
// Remove a resource with value 0 because they are not allowed.
|
||||
if (current->second == 0) {
|
||||
resources.erase(current);
|
||||
} else {
|
||||
mutable_unit_resources->insert({current->first, current->second});
|
||||
}
|
||||
}
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user