feat: add cloud_engine testnet type#9635
Merged
severin-amrein merged 9 commits intomasterfrom Mar 30, 2026
Merged
Conversation
The registry invariant requires CloudEngine subnets to have a free cycles cost schedule.
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new cloud_engine dynamic testnet configuration and extends the system-test InternetComputer builder / ic-prep plumbing to seed data center + node operator records into the initial registry and support per-node node-operator assignment.
Changes:
- Introduces
rs/tests/testnets/cloud_engine.rstestnet topology (System/NNS subnet + CloudEngine subnet distributed across 4 DCs + unassigned nodes) and wires it into Cargo/Bazel. - Extends
InternetComputer(system-test driver) withadd_data_center,add_node_operator, and per-nodenode_operator_principal_id. - Extends
ic-prep(IcConfig) to accept initial DC records and node operator entries and to avoid overwriting per-node operator IDs when applying the initial operator.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| rs/tests/testnets/cloud_engine.rs | New dynamic testnet definition, including DC + node operator seeding and per-node operator assignment. |
| rs/tests/testnets/Cargo.toml | Adds deps and registers the new cloud_engine binary. |
| rs/tests/testnets/BUILD.bazel | Adds a system_test_nns Bazel target for cloud_engine with required runtime deps. |
| rs/tests/driver/src/driver/ic.rs | Extends InternetComputer/Node builder types to support DC/operator registry seeding and per-node operator IDs. |
| rs/tests/driver/src/driver/bootstrap.rs | Plumbs DC/operator entries into IcConfig and passes per-node operator IDs into NodeConfiguration. |
| rs/prep/src/internet_computer.rs | Updates initial-node-operator behavior and adds IcConfig APIs to inject DC/node-operator registry entries. |
| Cargo.lock | Updates lockfile for new direct crate deps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
NikolaMilosa
approved these changes
Mar 27, 2026
severin-amrein
commented
Mar 27, 2026
pietrodimarco-dfinity
approved these changes
Mar 27, 2026
…gator - Add @dfinity/dre as code owner for cloud_engine.rs - Rename add_node_operator_entry to add_node_operator_record - Add rewardable_nodes (type4.1) to node operator config - Remove SNS_AGGREGATOR_WASM_PATH from runtime deps
basvandijk
approved these changes
Mar 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
cloud_enginetestnet with a 4-node System/NNS subnet, a 4-node CloudEngine subnet (1 node per DC across 4 datacenters), and 4 unassigned nodes (1 per DC)InternetComputerbuilder to support adding data center records and node operator entries directly to the initial registrynode_operator_principal_idassignment so nodes can be associated with different datacenters in the registryTest plan
ict testnet create cloud_engineand verify all nodes boot