Difference between revisions of "Node Provider Maintenance Guide"
m |
m |
||
Line 1: | Line 1: | ||
− | = | + | == Submitting NNS proposals == |
+ | Here are some NNS proposals you may have to submit after onboarding nodes. | ||
− | == | + | === Adjusting the node allowance in a Data Center === |
+ | To adjust the node allowance for an existing node operator record, you would need to use the <code>propose-to-update-node-operator-config</code> subcommand of the <code>ic-admin</code> tool. Here's a step-by-step guide on how to do this: | ||
+ | |||
+ | 1. '''Gather Necessary Information:''' Ensure you have the following details: | ||
+ | |||
+ | * <code>NODE_OPERATOR_ID</code>: The principal ID of the node operator whose allowance you want to change. | ||
+ | * <code>NODE_ALLOWANCE</code>: The new number of nodes that the node operator is allowed to add. | ||
+ | * <code>NEURON_ID</code>: The ID of the neuron that will propose this change. | ||
+ | * <code>DC_ID</code> data center ID where nodes should be added. | ||
+ | |||
+ | 2. '''Prepare the Command''': Construct the <code>ic-admin</code> command using the gathered information. Here's an example template: | ||
+ | $ ./ic-admin \ | ||
+ | --nns-url <nowiki>https://ic0.app</nowiki> \ | ||
+ | propose-to-update-node-operator-config \ | ||
+ | --node-operator-id $NODE_OPERATOR_ID \ | ||
+ | --proposer $NEURON_ID \ | ||
+ | --node-allowance $NEW_NODE_ALLOWANCE \ | ||
+ | [Other Options as Required] | ||
+ | Replace <code>$NODE_OPERATOR_ID</code>, <code>$NEURON_ID</code>, and <code>$NEW_NODE_ALLOWANCE</code> with the actual values. Include additional options as needed, such as `--dc-id` if you're specifying a particular data center. | ||
+ | |||
+ | 3. '''Summary and Proposal Details''': Add a summary and any other proposal details. This could include the reason for the allowance change, expected impacts, etc. These can be added using `--summary` or `--summary-file` options. | ||
+ | |||
+ | 4. '''Dry Run (recommended)''': If you want to preview the proposal without actually submitting it, you can add the `--dry-run` flag to the command. This is useful for checking the proposal payload and ensuring everything is correct before the actual submission. | ||
+ | |||
+ | 5. '''Execute the Command''': Once you are sure about the command and the details, execute it in your terminal. This will submit a proposal to update the node operator's configuration, including the node allowance. | ||
+ | |||
+ | 6. '''Monitor and Voting''': After submitting the proposal, it will typically go through a voting process by the governance system. You should monitor this to see if the proposal gets accepted or rejected. | ||
+ | |||
+ | 7. '''Verification (Post-Approval)''': If the proposal is approved, you may want to verify that the node allowance has been updated as expected. This might involve querying the node operator's record or using other `ic-admin` subcommands for confirmation. | ||
+ | |||
+ | |||
+ | |||
+ | Note that the exact command and options will vary based on your specific configuration and requirements. Make sure to replace placeholders with actual values relevant to your setup. | ||
+ | |||
+ | To see all available options, you can run: | ||
+ | $ ic-admin --nns-url <nowiki>https://ic0.app</nowiki> propose-to-update-node-operator-config --help | ||
+ | |||
+ | == Joining the Node Provider Matrix Channel == | ||
Node Providers are encouraged to join the dedicated [[Node Provider Matrix channel]]. This platform is essential for discussing maintenance-related queries and sharing insights about node operations. | Node Providers are encouraged to join the dedicated [[Node Provider Matrix channel]]. This platform is essential for discussing maintenance-related queries and sharing insights about node operations. | ||
− | = Communication Guidelines = | + | === Communication Guidelines === |
* '''Active Participation''': Ensure your notifications are enabled to receive new messages promptly. Your input or intervention might be crucial, especially in urgent situations. | * '''Active Participation''': Ensure your notifications are enabled to receive new messages promptly. Your input or intervention might be crucial, especially in urgent situations. | ||
* '''Regular Operations''': Regularly monitor the health of your node. Node health status is available on the public dashboard, which. Example: [https://dashboard.internetcomputer.org/node/b5d56-nm7ae-p24jg-t25gp-5bmhb-rjbnt-3dmoq-goqby-5tf6c-ygnnu-aqe node status]. | * '''Regular Operations''': Regularly monitor the health of your node. Node health status is available on the public dashboard, which. Example: [https://dashboard.internetcomputer.org/node/b5d56-nm7ae-p24jg-t25gp-5bmhb-rjbnt-3dmoq-goqby-5tf6c-ygnnu-aqe node status]. | ||
− | = Tools and Resources = | + | == Tools and Resources == |
Several node providers have generously shared tools to facilitate monitoring node health. These tools can provide notifications in case of node issues. | Several node providers have generously shared tools to facilitate monitoring node health. These tools can provide notifications in case of node issues. | ||
− | == Aviate Labs Node Monitor == | + | === Aviate Labs Node Monitor === |
* '''Turnkey Solution''': Receive email alerts for unhealthy nodes. | * '''Turnkey Solution''': Receive email alerts for unhealthy nodes. | ||
* '''Link''': [https://www.aviatelabs.co/node-monitor AviateLabs Node Monitor] | * '''Link''': [https://www.aviatelabs.co/node-monitor AviateLabs Node Monitor] | ||
− | == DIY Node Monitoring == | + | === DIY Node Monitoring === |
* '''GitHub Repository''': Run your own node monitoring system. | * '''GitHub Repository''': Run your own node monitoring system. | ||
* '''Link''': [https://github.com/aviate-labs/node-monitor Aviate Labs GitHub] | * '''Link''': [https://github.com/aviate-labs/node-monitor Aviate Labs GitHub] | ||
− | == Prometheus Exporter for Node Status == | + | === Prometheus Exporter for Node Status === |
* '''GitHub Repository''': A tool for exporting node status to a Prometheus-compatible format. | * '''GitHub Repository''': A tool for exporting node status to a Prometheus-compatible format. | ||
* '''Link''': [https://github.com/virtualhive/ic-node-status-prometheus-exporter IC Node Status Prometheus Exporter] | * '''Link''': [https://github.com/virtualhive/ic-node-status-prometheus-exporter IC Node Status Prometheus Exporter] | ||
− | = Additional Notes = | + | == Additional Notes == |
* '''Screenshots''': Include screenshots of the node status from the public dashboard for reference and troubleshooting. | * '''Screenshots''': Include screenshots of the node status from the public dashboard for reference and troubleshooting. | ||
− | |||
In case you observe issues, follow: [[Unhealthy Nodes]] and [[Node Provider Troubleshooting]] | In case you observe issues, follow: [[Unhealthy Nodes]] and [[Node Provider Troubleshooting]] |
Revision as of 10:33, 17 November 2023
Submitting NNS proposals
Here are some NNS proposals you may have to submit after onboarding nodes.
Adjusting the node allowance in a Data Center
To adjust the node allowance for an existing node operator record, you would need to use the propose-to-update-node-operator-config
subcommand of the ic-admin
tool. Here's a step-by-step guide on how to do this:
1. Gather Necessary Information: Ensure you have the following details:
NODE_OPERATOR_ID
: The principal ID of the node operator whose allowance you want to change.NODE_ALLOWANCE
: The new number of nodes that the node operator is allowed to add.NEURON_ID
: The ID of the neuron that will propose this change.DC_ID
data center ID where nodes should be added.
2. Prepare the Command: Construct the ic-admin
command using the gathered information. Here's an example template:
$ ./ic-admin \ --nns-url https://ic0.app \ propose-to-update-node-operator-config \ --node-operator-id $NODE_OPERATOR_ID \ --proposer $NEURON_ID \ --node-allowance $NEW_NODE_ALLOWANCE \ [Other Options as Required]
Replace $NODE_OPERATOR_ID
, $NEURON_ID
, and $NEW_NODE_ALLOWANCE
with the actual values. Include additional options as needed, such as `--dc-id` if you're specifying a particular data center.
3. Summary and Proposal Details: Add a summary and any other proposal details. This could include the reason for the allowance change, expected impacts, etc. These can be added using `--summary` or `--summary-file` options.
4. Dry Run (recommended): If you want to preview the proposal without actually submitting it, you can add the `--dry-run` flag to the command. This is useful for checking the proposal payload and ensuring everything is correct before the actual submission.
5. Execute the Command: Once you are sure about the command and the details, execute it in your terminal. This will submit a proposal to update the node operator's configuration, including the node allowance.
6. Monitor and Voting: After submitting the proposal, it will typically go through a voting process by the governance system. You should monitor this to see if the proposal gets accepted or rejected.
7. Verification (Post-Approval): If the proposal is approved, you may want to verify that the node allowance has been updated as expected. This might involve querying the node operator's record or using other `ic-admin` subcommands for confirmation.
Note that the exact command and options will vary based on your specific configuration and requirements. Make sure to replace placeholders with actual values relevant to your setup.
To see all available options, you can run:
$ ic-admin --nns-url https://ic0.app propose-to-update-node-operator-config --help
Joining the Node Provider Matrix Channel
Node Providers are encouraged to join the dedicated Node Provider Matrix channel. This platform is essential for discussing maintenance-related queries and sharing insights about node operations.
Communication Guidelines
- Active Participation: Ensure your notifications are enabled to receive new messages promptly. Your input or intervention might be crucial, especially in urgent situations.
- Regular Operations: Regularly monitor the health of your node. Node health status is available on the public dashboard, which. Example: node status.
Tools and Resources
Several node providers have generously shared tools to facilitate monitoring node health. These tools can provide notifications in case of node issues.
Aviate Labs Node Monitor
- Turnkey Solution: Receive email alerts for unhealthy nodes.
- Link: AviateLabs Node Monitor
DIY Node Monitoring
- GitHub Repository: Run your own node monitoring system.
- Link: Aviate Labs GitHub
Prometheus Exporter for Node Status
- GitHub Repository: A tool for exporting node status to a Prometheus-compatible format.
- Link: IC Node Status Prometheus Exporter
Additional Notes
- Screenshots: Include screenshots of the node status from the public dashboard for reference and troubleshooting.
In case you observe issues, follow: Unhealthy Nodes and Node Provider Troubleshooting