Skip to content

Commit 91431be

Browse files
committed
update scheduler updates for manifest contract
1 parent 18e2e38 commit 91431be

3 files changed

Lines changed: 12 additions & 12 deletions

File tree

odorobo/src/actors/scheduler_actor/scheduling.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ impl SchedulerActor {
135135
let used_vcpus = agent.data.used_vcpus.saturating_add(pending_vcpus);
136136
let used_ram = agent.data.used_ram.as_u64().saturating_add(pending_ram);
137137
let requested_vcpus = msg.config.desired.compute.vcpus;
138-
let requested_memory = msg.config.desired.compute.memory.as_u64();
138+
let requested_memory = msg.config.desired.compute.memory_bytes;
139139
let agent_used_vcpus = used_vcpus.saturating_add(requested_vcpus);
140140

141141
if !has_capacity(
@@ -248,7 +248,7 @@ fn pending_resources_by_agent(
248248
totals.0 = totals.0.saturating_add(manifest.desired.compute.vcpus);
249249
totals.1 = totals
250250
.1
251-
.saturating_add(manifest.desired.compute.memory.as_u64());
251+
.saturating_add(manifest.desired.compute.memory_bytes);
252252
}
253253
}
254254
}
@@ -283,9 +283,9 @@ pub(super) fn affinity_delta(strictness: &AffinityStrictness, follows_rule: bool
283283
/// Evaluates a rule against the metadata objects in its selected affinity scope.
284284
///
285285
/// Requirements are OR-ed. For a requirement to match, every supplied metadata
286-
/// object must satisfy it; empty metadata therefore does not match. `inverse`
287-
/// negates the aggregate result, and a rule without requirements is false before
288-
/// inversion.
286+
/// object must satisfy it; empty metadata therefore does not match. The `anti`
287+
/// direction negates the aggregate result, and a rule without requirements is false
288+
/// before direction is applied.
289289
pub(super) fn evaluate_affinity_rule(
290290
metadata_tables: &MetadataTables<'_>,
291291
rule: &crate::manifest::AffinityRule,
@@ -313,7 +313,7 @@ pub(super) fn evaluate_affinity_rule(
313313
}
314314
}
315315

316-
if rule.inverse {
316+
if matches!(rule.direction, crate::manifest::AffinityDirection::Anti) {
317317
!follows_rule
318318
} else {
319319
follows_rule

odorobo/src/actors/scheduler_actor/tests.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ use super::{
77
};
88

99
use crate::manifest::{
10-
AffinityRequirement, AffinityRule, AffinityStrictness, AffinityType, Boot, Compute,
11-
DesiredState, Metadata, MetadataTable, Operator, VmManifest,
10+
AffinityDirection, AffinityRequirement, AffinityRule, AffinityStrictness, AffinityType, Boot,
11+
Compute, DesiredState, Metadata, MetadataTable, Operator, VmManifest,
1212
};
1313
use crate::messages::agent::AgentStatus;
1414
use crate::types::ObjectMetadata;
@@ -29,7 +29,7 @@ fn test_manifest(vcpus: u32, memory_bytes: u64) -> VmManifest {
2929
},
3030
compute: Compute {
3131
vcpus,
32-
memory: bytesize::ByteSize::b(memory_bytes),
32+
memory_bytes,
3333
..Default::default()
3434
},
3535
boot: Boot::default(),
@@ -491,7 +491,7 @@ fn evaluates_inverse_and_empty_requirements() {
491491
let rule = AffinityRule {
492492
strictness: AffinityStrictness::Required,
493493
affinity_type: AffinityType::Agent,
494-
inverse: true,
494+
direction: AffinityDirection::Anti,
495495
requirements: vec![requirement(Operator::In, &["frontend"])],
496496
};
497497
assert!(!evaluate_affinity_rule(
@@ -502,7 +502,7 @@ fn evaluates_inverse_and_empty_requirements() {
502502
let empty_rule = AffinityRule {
503503
strictness: AffinityStrictness::Required,
504504
affinity_type: AffinityType::Agent,
505-
inverse: false,
505+
direction: AffinityDirection::Normal,
506506
requirements: Vec::new(),
507507
};
508508
assert!(!evaluate_affinity_rule(&[], &empty_rule));

odoroboctl/src/cli.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ pub async fn run_command(cli: Cli) -> Result<()> {
113113
},
114114
compute: Compute {
115115
vcpus: 4,
116-
memory: ByteSize::gib(4),
116+
memory_bytes: ByteSize::gib(4).as_u64(),
117117
..Default::default()
118118
},
119119
storage: vec![Storage {

0 commit comments

Comments
 (0)