I’m facing the error No subnets in which to create a canister. when attempting to create a canister with the CMC I deployed locally. I suspect I didn’t deploy it with the appropriate parameters.
What are the expected parameters to deploy a functional CMC locally?
Those are the one I use.
And those are the parameters I use to call create_canister on the CMC:
Give that I pass no selection, I’m landing I guess in the automatic selection of the subnet related to the caller, therefore assuming something wrong in the configuration.
What the heck are the arguments for the proposal function ID 14 (SetAuthorizedSubnetworks)?
I’ve been trying for an hour or more to replicate what I found in the source code of the CMC and I always end facing deserialization error when the proposal is executed.
juno-console-1 | 2024-10-13 13:24:00.192752384 UTC: [Canister rrkah-fqaaa-aaaaa-aaaaq-cai] [Governance] Execution of proposal: 1 failed. Reason: GovernanceError { error_type: External, error_message: "Error executing ExecuteNnsFunction proposal. Rejection message: IC0503: Error from Canister rkp4c-7iaaa-aaaaa-aaaca-cai: Canister called ic0.trap with message: Panicked at ‘Deserialization Failed: "Fail to decode argument 0 from table2 to record { who : opt principal; subnets : vec principal }"’, rs/rust_canisters/dfn_core/src/endpoint.rs:33:41.\nConsider gracefully handling failures from this canister or altering the canister to handle exceptions.
juno-console-1 | 2024-10-13 13:33:58.349724925 UTC: [Canister rkp4c-7iaaa-aaaaa-aaaca-cai] Panicked at ‘Deserialization Failed: “Fail to decode argument 0 from table3 to record { who : opt principal; subnets : vec principal }”’, rs/rust_canisters/dfn_core/src/endpoint.rs:33:41
The subnets definition as in the source code of the CMC is correct but, the issue was the subnet ID which was encoded to an invalid principal (never saw that before).