Akash version 0.16.3 will introduce changes in CRDs that need to be applied in order to continue operations.
All steps below MUST be executed in the same order as declared and applied to your environment. If any step fails STOP and reach out to the Akash team.
Precursor to Upgrade - Orphan Manifest Purge
Create Script File
1
cd ~
2
​
3
vi manifest-purge.sh
Copied!
Populate Script File
1
#!/usr/bin/env bash
2
​
3
kubectl get mani -n lease -o 'custom-columns=name:{.metadata.name}' --no-headers | \
4
while read ns; do
5
​
6
# if ns exists, it's a fresh manifest.
7
if kubectl get ns "$ns" >/dev/null 2>&1; then
8
echo "FOUND: $ns"
9
continue
10
fi
11
​
12
# make sure it's a NotFound error before deleting.
13
nserr=$(kubectl get ns "$ns" 2>&1)
14
if [[ "$nserr" == *NotFound* ]]; then
15
echo "GONE: $ns"
16
kubectl delete mani "$ns" -n lease
17
continue
18
fi
19
done
Copied!
Make Script Executable
1
chmod +x ~/manifest-purge.sh
Copied!
Execute Script
1
./manifest-purge.sh
Copied!
Provider Service Running on Bare Metal/VM
STEP 1 - Upgrade RPC node to 0.16.3
If you are using 3rd-party RPC node ensure upgrade has been applied.
If you are using your own RPC node - as recommended for Providers - ensure the node has been upgraded.
STEP 2 - Stop provider service
The Akash Provider service is most likely controlled by systemd and if so can be stopped as shown below
1
systemctl stop akash-provider
Copied!
STEP 3 - Upgrade Akash Version
Download and extract the v0.16.3 from under the Assets drop-down menu here https://github.com/ovrclk/akash/releases/tag/v0.16.3 for your OS & Architecture.
Make a test deployment and ensure the DSEQ hits provider logs and that you can create deployment/lease and send manifest
1
journalctl -u akash-provider --since '5 min ago' -f
Copied!
Provider Service Running in Kubernetes via Helm Charts
If you are using Helm Charts for installing the Akash Provider and wishing to upgrade to 0.16.3, then run the same commands you have previously used with adding --set image.tag="0.16.3" on the command line like in the example below.
STEP 1 - Upgrade RPC node to 0.16.3
If you are using a 3rd-party RPC node ensure upgrade has been applied.
If you are using your own RPC node - as recommended for Providers - ensure the node has been upgraded.
Migrate command creates a directory to backup kubernetes objects. By default it is the current directory. It can be changed with --k8s-crd-migrate-path flag Directory content is preserved after success. Delete it IF and ONLY IF migration has been successful.