Akash v0.28.0 Node Upgrade Guide
This document provides guidelines for node operators upgrading to version 0.28.0
In the sections that follow both
non-Cosmovisorupgrade paths are provided. Prior to detailing specifics steps for these upgrade paths, in this section we cover steps required regardless of upgrade path chosen.
NOTE - The following steps are not required if the auto-download option is enabled for Cosmovisor.
The following instructions assume the
cosmovisorbinaries are already installed and cosmovisor is set up as a systemd service.
The section that follows will detail the install/configuration of Cosmovisor. If additional details are necessary, visit Start a node with Cosmovisorfor instructions on how to install and set up the binaries.
NOTE - Cosmovisor 1.0 is required
Note: The following steps are not required if Cosmovisor v1.0 is already installed and configured to your preferred settings.
cosmovisorby running the following command:
Check to ensure the installation was successful:
DAEMON_NAME=akash DAEMON_HOME=~/.akash cosmovisor version
cosmovisorsystemd service file and make sure the environment variables are set to the appropriate values(the following example includes the recommended settings).
- NOTE - It is preferable if you start your service under a dedicated non-system user other than root.
- NOTE -
DAEMON_SHUTDOWN_GRACE(optional, default none), if set, send interrupt to binary and wait the specified time to allow for cleanup/cache flush to disk before sending the kill signal. The value must be a duration (e.g. 1s).
Description=Akash with cosmovisor
ExecStart=/root/go/bin/cosmovisor run start
Cosmovisor can be configured to automatically download upgrade binaries. It is recommended that validators do not use the auto-download option and that the upgrade binary is compiled and placed manually.
If you would like to enable the auto-download option, update the following environment variable in the systemd configuration file:
Cosmovisor will automatically create a backup of the data directory at the time of the upgrade and before the migration.
If you would like to disable the auto-backup, update the following environment variable in the systemd configuration file:
Move the file to the systemd directory:
sudo mv cosmovisor.service /etc/systemd/system/akash.service
cosmovisorto ensure the environment variables have been updated:
systemctl start akash
systemctl enable akash
Check the status of the
sudo systemctl status cosmovisor
cosmovisorto start automatically when the machine reboots:
sudo systemctl enable cosmovisor.service
Skip this section if you have enabled DAEMON_ALLOW_DOWNLOAD_BINARIES cosmovisor parameter. It will automatically create the correct path and download the binary based on the plan info from the govt proposal.
This next step assumes that the akash binary was built from source and stored in the current (i.e., akash) directory:
mkdir -p $HOME/.akash/cosmovisor/upgrades/v0.28.0/bin
cp ./.cache/bin $HOME/.akash/cosmovisor/upgrades/v0.28.0/bin
At the proposed block height,
cosmovisorwill automatically stop the current binary (v0.26.X), set the upgrade binary as the new current binary (v0.28.0), and then restart the node.\
Using Cosmovisor to perform the upgrade is not mandatory.
Node operators also have the option to manually update the
akashbinary at the time of the upgrade. Doing it before the upgrade height will stop the node.
When the chain halts at the proposed upgrade height, stop the current process running
Update configuration with
Restart the process running
NOTE - we highly recommend downloading a complied Akash binary over building the binary from source
if using direnv first time (or cloning sources on to a new host) you should see following message after entering source dir:
direnv: error .envrc is blocked. Run `direnv allow` to approve its content
if no such message, most like direnv is not hooked to the shell
git clone --depth 1 --branch v0.28.2 https://github.com/akash-network/node
After build artefacts are located in