From 374df4f85ad08945659211491ce45bc592ad971c Mon Sep 17 00:00:00 2001 From: Prathamesh Musale Date: Fri, 9 Aug 2024 14:40:23 +0530 Subject: [PATCH] Add instructions to update stage0 deployment --- ops/deployments-from-scratch.md | 120 ++++++++++++++++---------------- ops/update-deployments.md | 72 +++++++++++++++++++ 2 files changed, 132 insertions(+), 60 deletions(-) create mode 100644 ops/update-deployments.md diff --git a/ops/deployments-from-scratch.md b/ops/deployments-from-scratch.md index 65b92dc..aa71275 100644 --- a/ops/deployments-from-scratch.md +++ b/ops/deployments-from-scratch.md @@ -21,20 +21,20 @@ * Target dir: `/srv/laconicd/stage0-deployment` - * Cleanup an existing deployment if required: +* Cleanup an existing deployment if required: - ```bash - cd /srv/laconicd + ```bash + cd /srv/laconicd - # Stop the deployment - laconic-so deployment --dir stage0-deployment stop --delete-volumes + # Stop the deployment + laconic-so deployment --dir stage0-deployment stop --delete-volumes - # Remove the deployment dir - sudo rm -rf stage0-deployment + # Remove the deployment dir + sudo rm -rf stage0-deployment - # Remove the existing spec file - rm stage0-spec.yml - ``` + # Remove the existing spec file + rm stage0-spec.yml + ``` ### Setup @@ -146,20 +146,20 @@ * Target dir: `/srv/app/onboarding-app-deployment` - * Cleanup an existing deployment if required: +* Cleanup an existing deployment if required: - ```bash - cd /srv/app + ```bash + cd /srv/app - # Stop the deployment - laconic-so deployment --dir onboarding-app-deployment + # Stop the deployment + laconic-so deployment --dir onboarding-app-deployment - # Remove the deployment dir - sudo rm -rf onboarding-app-deployment + # Remove the deployment dir + sudo rm -rf onboarding-app-deployment - # Remove the existing spec file - rm onboarding-app-spec.yml - ``` + # Remove the existing spec file + rm onboarding-app-spec.yml + ``` ### Setup @@ -260,20 +260,20 @@ * Target dir: `/srv/wallet/laconic-wallet-web-deployment` - * Cleanup an existing deployment if required: +* Cleanup an existing deployment if required: - ```bash - cd /srv/wallet + ```bash + cd /srv/wallet - # Stop the deployment - laconic-so deployment --dir laconic-wallet-web-deployment + # Stop the deployment + laconic-so deployment --dir laconic-wallet-web-deployment - # Remove the deployment dir - sudo rm -rf laconic-wallet-web-deployment + # Remove the deployment dir + sudo rm -rf laconic-wallet-web-deployment - # Remove the existing spec file - rm laconic-wallet-web-spec.yml - ``` + # Remove the existing spec file + rm laconic-wallet-web-spec.yml + ``` ### Setup @@ -359,20 +359,20 @@ * Target dir: `/srv/laconicd/stage1-deployment` - * Cleanup an existing deployment if required: +* Cleanup an existing deployment if required: - ```bash - cd /srv/laconicd + ```bash + cd /srv/laconicd - # Stop the deployment - laconic-so deployment --dir stage1-deployment stop --delete-volumes + # Stop the deployment + laconic-so deployment --dir stage1-deployment stop --delete-volumes - # Remove the deployment dir - sudo rm -rf stage1-deployment + # Remove the deployment dir + sudo rm -rf stage1-deployment - # Remove the existing spec file - rm stage1-spec.yml - ``` + # Remove the existing spec file + rm stage1-spec.yml + ``` ### Setup @@ -437,20 +437,20 @@ * Target dir: `/srv/faucet/laconic-faucet-deployment` - * Cleanup an existing deployment if required: +* Cleanup an existing deployment if required: - ```bash - cd /srv/faucet + ```bash + cd /srv/faucet - # Stop the deployment - laconic-so deployment --dir laconic-faucet-deployment stop + # Stop the deployment + laconic-so deployment --dir laconic-faucet-deployment stop - # Remove the deployment dir - sudo rm -rf laconic-faucet-deployment + # Remove the deployment dir + sudo rm -rf laconic-faucet-deployment - # Remove the existing spec file - rm laconic-faucet-spec.yml - ``` + # Remove the existing spec file + rm laconic-faucet-spec.yml + ``` ### Setup @@ -561,20 +561,20 @@ * Target dir: `/srv/console/laconic-console-deployment` - * Cleanup an existing deployment if required: +* Cleanup an existing deployment if required: - ```bash - cd /srv/console + ```bash + cd /srv/console - # Stop the deployment - laconic-so deployment --dir laconic-console-deployment stop --delete-volumes + # Stop the deployment + laconic-so deployment --dir laconic-console-deployment stop --delete-volumes - # Remove the deployment dir - sudo rm -rf laconic-console-deployment + # Remove the deployment dir + sudo rm -rf laconic-console-deployment - # Remove the existing spec file - rm laconic-console-spec.yml - ``` + # Remove the existing spec file + rm laconic-console-spec.yml + ``` ### Setup diff --git a/ops/update-deployments.md b/ops/update-deployments.md new file mode 100644 index 0000000..9fcbf42 --- /dev/null +++ b/ops/update-deployments.md @@ -0,0 +1,72 @@ +# update-deployments + +Instructions to reset / update the deployments + +## Login + +* Log in as `dev` user on the deployments VM + +* All the deployments are placed in the `/srv` directory: + + ```bash + cd /srv + ``` + +## stage0 laconicd + +* Deployment dir: `/srv/laconicd/stage0-deployment` + +* Fetch and build with updated source code: + + ```bash + # laconicd source + cd ~/cerc/laconicd + + # Pull latest changes + git pull + + # Confirm the latest commit hash + git log + + # Rebuild the containers + cd /srv/laconicd + + laconic-so --stack ~/cerc/fixturenet-laconicd-stack/stack-orchestrator/stacks/fixturenet-laconicd build-containers --force-rebuild + ``` + +* Reset the data directory: + + ```bash + # Stop the deployment + laconic-so deployment --dir stage0-deployment stop --delete-volumes + + # Remove and recreate the required data dir + sudo rm -rf stage0-deployment/data/laconicd-data + mkdir stage0-deployment/data/laconicd-data + ``` + +* Restart the deployment: + + ```bash + laconic-so deployment --dir stage0-deployment start + + # Follow logs for laconicd container, check that new blocks are getting created + laconic-so deployment --dir stage0-deployment logs laconicd -f + ``` + +* Since the stage0 laconicd chain has been reset, reset the faucet deployment with new faucet key: + + ```bash + cd /srv/faucet + + export FAUCET_ACCOUNT_PK=$(laconic-so deployment --dir /srv/laconicd/stage0-deployment exec laconicd "echo y | laconicd keys export alice --keyring-backend test --unarmored-hex --unsafe") + + cat < laconic-faucet-deployment/config.env + CERC_FAUCET_KEY=$FAUCET_ACCOUNT_PK + EOF + + # Restart the deployment + laconic-so deployment --dir laconic-faucet-deployment stop + + laconic-so deployment --dir laconic-faucet-deployment start + ```