Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
1c9d172
[multicast] implicit group lifecycle with IP pool integration
zeeshanlakhani Nov 29, 2025
f7b87b4
[follow-up] link gateway should be unicast default pool only
zeeshanlakhani Dec 1, 2025
1e3b137
Merge remote-tracking branch 'origin/main' into zl/mcast-implicit-lif…
zeeshanlakhani Dec 2, 2025
4b62ccb
Merge remote-tracking branch 'origin/main' into zl/mcast-implicit-lif…
zeeshanlakhani Dec 3, 2025
655e602
[update] auto-select appropriate SSM/ASM pool when allocating multica…
zeeshanlakhani Dec 3, 2025
7def773
[fix] auth ordering
zeeshanlakhani Dec 5, 2025
f28aa9c
Merge remote-tracking branch 'origin/main' into zl/mcast-implicit-lif…
zeeshanlakhani Dec 5, 2025
bad9f11
[api] version multicast endpoints for implicit group lifecycle
zeeshanlakhani Dec 5, 2025
7b673a5
Merge remote-tracking branch 'origin/main' into zl/mcast-implicit-lif…
zeeshanlakhani Dec 6, 2025
c8242bc
[merge] external api clarity and udpates
zeeshanlakhani Dec 6, 2025
bc472b3
[fmt] ..
zeeshanlakhani Dec 6, 2025
b12e8c1
[fix] minor updates and delegation for API
zeeshanlakhani Dec 6, 2025
709c568
[multicast] Relax multicast address restrictions for flexibility
zeeshanlakhani Dec 9, 2025
39a016a
[dep] oxnet update
zeeshanlakhani Dec 9, 2025
07a36a1
[nit] expose vni
zeeshanlakhani Dec 9, 2025
d940ab3
[review] source IPs per member + xor with salt underlay mapping
zeeshanlakhani Dec 16, 2025
3d4230c
Merge remote-tracking branch 'origin/main' into zl/mcast-implicit-lif…
zeeshanlakhani Dec 16, 2025
dc791eb
[hakari] ..
zeeshanlakhani Dec 16, 2025
57fc06e
[fix] endpoint
zeeshanlakhani Dec 16, 2025
0e0737e
Merge remote-tracking branch 'origin/main' into zl/mcast-implicit-lif…
zeeshanlakhani Dec 17, 2025
52a3d65
Merge remote-tracking branch 'origin/main' into zl/mcast-implicit-lif…
zeeshanlakhani Dec 17, 2025
9794876
[multicast] put_upsert test helper, pool selection tests, and ASM sou…
zeeshanlakhani Dec 17, 2025
68a141c
[minor] missing wait
zeeshanlakhani Dec 17, 2025
f7f3c39
[minor] test fixup
zeeshanlakhani Dec 17, 2025
16b8f12
[perf-cleanup] remove redundant tests and update mcast polling
zeeshanlakhani Dec 19, 2025
4853607
Merge remote-tracking branch 'origin/main' into zl/mcast-test-perf
zeeshanlakhani Jan 11, 2026
e97f1b6
[multicast] further test consolidation and test doc fixes
zeeshanlakhani Jan 12, 2026
837a4d5
[openapi] minor update
zeeshanlakhani Jan 12, 2026
7501c9b
Merge remote-tracking branch 'origin/main' into zl/mcast-test-perf
zeeshanlakhani Jan 16, 2026
aaea3d2
[cleanup] stopped instance wait/vmm check
zeeshanlakhani Jan 16, 2026
e87031f
[fmt]
zeeshanlakhani Jan 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions clients/sled-agent-client/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,13 @@ impl ApiVersionHeader for reqwest::RequestBuilder {
pub trait TestInterfaces {
async fn vmm_single_step(&self, id: PropolisUuid);
async fn vmm_finish_transition(&self, id: PropolisUuid);
/// Essentially like `vmm_finish_transition`, but returns an error instead
/// of panicking if the request fails. Useful when the VMM may have been
/// removed.
async fn try_vmm_finish_transition(
&self,
id: PropolisUuid,
) -> Result<(), reqwest::Error>;
async fn vmm_simulate_migration_source(
&self,
id: PropolisUuid,
Expand Down Expand Up @@ -385,6 +392,21 @@ impl TestInterfaces for Client {
.expect("instance_finish_transition() failed unexpectedly");
}

async fn try_vmm_finish_transition(
&self,
id: PropolisUuid,
) -> Result<(), reqwest::Error> {
let baseurl = self.baseurl();
let client = self.client();
let url = format!("{baseurl}/vmms/{id}/poke");
client
.post(url)
.api_version_header(self.api_version())
.send()
.await
.map(|_| ())
}

async fn disk_finish_transition(&self, id: Uuid) {
let baseurl = self.baseurl();
let client = self.client();
Expand Down
Loading
Loading