From 6ca6df16c392c167503d8efb8e104d5ddd3c5535 Mon Sep 17 00:00:00 2001 From: Eslam-Nawara Date: Sun, 10 Nov 2024 13:17:05 +0200 Subject: [PATCH 1/2] update release docs to update chain version before creating release --- docs/release/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/release/readme.md b/docs/release/readme.md index 5595465e3..7439edb59 100644 --- a/docs/release/readme.md +++ b/docs/release/readme.md @@ -16,6 +16,8 @@ A `tag link` is a link that exists in a repo to a tag in another repo. We then u For example a `development` tag link from tf-zos will point to a tag (say `61cc487`) under tf-autobuilder. What does that mean? it means the development env zos is using this build tag, and the flists installed (and used by the zos nodes) in development are installed from that build tag. +Before createing a new release we need to make sure that the chain(substrate client) is up to date. + On creating a new release, the build tag will get that exact release version (say v3.20.0), instead of a commit short hash. For more details on how the system updates itself please check [upgrade documentation](../internals/identity/upgrade.md). @@ -34,8 +36,6 @@ On creating a release it's exactly the same as above except the tag will be the production -> ../tf-autobuilder/v3.4.5 ``` -> NOTE: during the writing of this docs, not all networks are using this release pipeline and they might still using the old style. Hopefully this will phaseout as soon as possible to use the procedure described in this document. - ## Creating the links Now, once a release is created the links from the tag links (qa, testing, production) are not auto-created by the build pipeline. Instead, these has to be created by other means when the operators decide it's right time to deploy a certain version to a certain network. Once decided the link then must be created. This brings us to the `zos-update-worker` From 44d6460eeb3a2334f6f8289f981855c965f0e4fd Mon Sep 17 00:00:00 2001 From: Eslam-Nawara Date: Sun, 10 Nov 2024 13:51:02 +0200 Subject: [PATCH 2/2] add safe to upgrade to release docs --- docs/release/readme.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/release/readme.md b/docs/release/readme.md index 7439edb59..b208fcc64 100644 --- a/docs/release/readme.md +++ b/docs/release/readme.md @@ -17,6 +17,10 @@ A `tag link` is a link that exists in a repo to a tag in another repo. We then u For example a `development` tag link from tf-zos will point to a tag (say `61cc487`) under tf-autobuilder. What does that mean? it means the development env zos is using this build tag, and the flists installed (and used by the zos nodes) in development are installed from that build tag. Before createing a new release we need to make sure that the chain(substrate client) is up to date. +```sh +cd pkg +go get 'github.com/threefoldtech/tfchain/clients/tfchain-client-go@' +``` On creating a new release, the build tag will get that exact release version (say v3.20.0), instead of a commit short hash. @@ -43,3 +47,14 @@ Now, once a release is created the links from the tag links (qa, testing, produc The update worker is a very simple process that watches changes to `tfchain` version as updated by the Council. and apply the correct link. Say the worker finds out that the zos version on production tfchain is set to `v3.4.5` then it will simply make sure the link from `production` is correctly pointing to the correct release tag. If not, will create that link. + +On updates using motions we need to set zos3 and zos4 version and if the new release is safe to upgrade to. For example: +```json +{"safe_to_upgrade": true, "version":"v3.12.5", "version_light": "v0.1.1"} +``` +- safe_to_upgrade: if the flag is set this indicates that it is safe to update all nodes in the network to this release, if not then the nodes specified in zos-config are the only ones that is getting the upgrade. + +For example [here](https://github.com/threefoldtech/zos-config/blob/1a2d1339b219775ca4359535793f067630ed9062/qa.json#L68) if safe_to_upgrade is not set the only farms getting the new upgrade are the mentioned farms other farms in qa are not. + +- version: is zos3 version +- version_light: is zos4(zos light) version