Incident Handling with the New Boundary Node Architecture

Hey @Lorimer

I fully agree with you that ideally we could make a proposal to directly install a canister in a subnet under the control of the NNS. Unfortunately, this is currently not supported as long as the canister is not installed in the NNS subnet. If the canister is being installed on the NNS subnet, one could use the NNS Canister Install proposal under the System Canister Management topic.

If one wants to set up a NNS controlled canister on another subnet, one has to follow this indirect approach:

  1. Authorize a prinicpal using a proposal on the target subnet to be able to create a canister.
  2. Use the principal to create a canister on the subnet. At this point that principal is the controller of the canister.
  3. Remove the authorization using a proposal.
  4. Add NNS root as a controller to the created canister and remove oneself.
  5. Then, one can make a proposal to upgrade the canister in reinstall mode, such that the canister state is completely wiped and reinstalled.

After these six steps one has a NNS controlled canister with clean state. This approach is a bit cumbersome, but unfortunately, currently the only way as there hasn’t been time to extend the approach to install canisters on the NNS subnet. The same approach as we intend to take for the rate-limiting canister was also taken when the cycles ledger canister was installed (refer to this thread).

Let me know if that makes sense.

2 Likes