Skip to content

feat(ic-admin): Added propose-to-update-standard-engine-replica-version subcommand.#10885

Merged
daniel-wong-dfinity-org-twin merged 3 commits into
masterfrom
ic-admin-propose-to-update-standard-engine-replica-version-daniel-wong
Jul 24, 2026
Merged

feat(ic-admin): Added propose-to-update-standard-engine-replica-version subcommand.#10885
daniel-wong-dfinity-org-twin merged 3 commits into
masterfrom
ic-admin-propose-to-update-standard-engine-replica-version-daniel-wong

Conversation

@daniel-wong-dfinity-org-twin

@daniel-wong-dfinity-org-twin daniel-wong-dfinity-org-twin commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin requested a review from a team as a code owner July 23, 2026 15:39
@github-actions github-actions Bot added the feat label Jul 23, 2026
github-actions[bot]

This comment was marked as resolved.

@zeropath-ai

zeropath-ai Bot commented Jul 23, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to a514985.

Security Overview
Detected Code Changes
Change Type Relevant files
Enhancement ► rs/registry/admin/bin/main.rs
    Add ProposeToUpdateStandardEngineReplicaVersion sub-command and related CLI parsing
► rs/registry/admin/bin/main.rs
    Handle ProposeToUpdateStandardEngineReplicaVersion in main match and action routing
► rs/registry/admin/bin/main.rs
    Implement ProposeToUpdateStandardEngineReplicaVersionCmd with fields new_replica_version_id, old_replica_version_id, deployment_progress
► rs/registry/admin/bin/main.rs
    Provide ProposalTitle implementation for the new sub-command
► rs/registry/admin/bin/main.rs
    Provide ProposalAction implementation to construct UpdateStandardEngineReplicaVersion action

@daniel-wong-dfinity-org-twin daniel-wong-dfinity-org-twin changed the title feat(ic-admin): Added propose-to-update-standard-engine-replica-version subcommand. DO NOT MERGE Builds on not yet merged PR 10884 feat(ic-admin): Added propose-to-update-standard-engine-replica-version subcommand. Jul 23, 2026
@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin dismissed github-actions[bot]’s stale review July 23, 2026 15:46

Only tool changed, no canister behavior change.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support in ic-admin for submitting the new governance proposal type UpdateStandardEngineReplicaVersion, enabling operators to propose rolling out a new replica version across a fraction of Cloud Engines.

Changes:

  • Introduces a new ic-admin subcommand: propose-to-update-standard-engine-replica-version.
  • Implements default proposal title generation and maps CLI flags into ProposalActionRequest::UpdateStandardEngineReplicaVersion.
  • Wires the new subcommand into the main CLI dispatch.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread rs/registry/admin/bin/main.rs
@bjoernek

Copy link
Copy Markdown
Contributor

title()deployment_progress * 100.0 is interpolated with {}, so some inputs render with float noise in the voter-facing title: 0.07 → "7.000000000000001%", 0.29 → "28.999999999999996%", 0.55 → "55.00000000000001%". Since this becomes the on-chain proposal title (used whenever --proposal-title isn't supplied), suggest {:.1} (→ "7.0", "29.0", "55.0") or {:.0}.

@bjoernek

Copy link
Copy Markdown
Contributor

Should ProposeToUpdateStandardEngineReplicaVersion also be added to the secret_key_pem / use_hsm allowlist (the match at main.rs:4602, alongside e.g. ProposeToFulfillSubnetRentalRequest)? As far as I can tell, invoking the new command with either production signing method would fall through to the wildcard panic! ("...only supported for methods that interact with NNS handlers"), and an anonymous invocation can't submit a proposal, so I'm not sure how it would be used outside test-neuron flows. Am I missing something?

Somewhat related: ProposeToBlessAlternativeGuestOsVersion looks like it's also absent from that allowlist on master, so maybe these newer commands are intentionally meant to bypass it? Would be good to understand the intended invocation path.

@daniel-wong-dfinity-org-twin

Copy link
Copy Markdown
Contributor Author

re formatting: Done.

@daniel-wong-dfinity-org-twin

Copy link
Copy Markdown
Contributor Author

re allowlist: Done.

@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin force-pushed the new-proposal-type-update-standard-engine-replica-version-daniel-wong branch from 514aa8c to 72fc571 Compare July 24, 2026 14:01
Base automatically changed from new-proposal-type-update-standard-engine-replica-version-daniel-wong to master July 24, 2026 14:59
@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin force-pushed the ic-admin-propose-to-update-standard-engine-replica-version-daniel-wong branch from 64b37fd to a514985 Compare July 24, 2026 15:08
@daniel-wong-dfinity-org-twin

Copy link
Copy Markdown
Contributor Author

Now that the previous PR is in, I rebased and force pushed this. Will set to merge when ready after stripping DO NOT MERGE from the title.

@daniel-wong-dfinity-org-twin daniel-wong-dfinity-org-twin changed the title DO NOT MERGE Builds on not yet merged PR 10884 feat(ic-admin): Added propose-to-update-standard-engine-replica-version subcommand. feat(ic-admin): Added propose-to-update-standard-engine-replica-version subcommand. Jul 24, 2026
@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin added this pull request to the merge queue Jul 24, 2026
Merged via the queue into master with commit 399671d Jul 24, 2026
38 of 39 checks passed
@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin deleted the ic-admin-propose-to-update-standard-engine-replica-version-daniel-wong branch July 24, 2026 15:51
pull Bot pushed a commit to bit-cook/ic that referenced this pull request Jul 24, 2026
…ReplicaVersion. (dfinity#10884)

[👈 Previous PR][prev] | [Next PR 👉][next]

[prev]: dfinity#10865
[next]: dfinity#10885

---------

Co-authored-by: Daniel Wong <daniel.wong@dfinity.org>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants