From c072dbcf5f7fd4ddb501bc25d43edf4859f4f2a7 Mon Sep 17 00:00:00 2001 From: JKC Date: Mon, 28 Aug 2023 22:02:10 +0530 Subject: [PATCH 1/2] one click upgrade --- docs/architecture/deployment/img/step1.png | Bin 0 -> 2995 bytes docs/architecture/deployment/img/step2.png | Bin 0 -> 5308 bytes docs/architecture/deployment/img/step3.png | Bin 0 -> 6702 bytes docs/architecture/deployment/img/step4.png | Bin 0 -> 5220 bytes docs/architecture/deployment/img/step5.png | Bin 0 -> 5716 bytes docs/architecture/deployment/img/step6.png | Bin 0 -> 6747 bytes docs/architecture/deployment/img/step7.png | Bin 0 -> 15573 bytes docs/architecture/deployment/img_2.png | Bin 0 -> 21504 bytes .../deployment/one-click-upgrade.md | 132 ++++++++++++++++++ 9 files changed, 132 insertions(+) create mode 100644 docs/architecture/deployment/img/step1.png create mode 100644 docs/architecture/deployment/img/step2.png create mode 100644 docs/architecture/deployment/img/step3.png create mode 100644 docs/architecture/deployment/img/step4.png create mode 100644 docs/architecture/deployment/img/step5.png create mode 100644 docs/architecture/deployment/img/step6.png create mode 100644 docs/architecture/deployment/img/step7.png create mode 100644 docs/architecture/deployment/img_2.png create mode 100644 docs/architecture/deployment/one-click-upgrade.md diff --git a/docs/architecture/deployment/img/step1.png b/docs/architecture/deployment/img/step1.png new file mode 100644 index 0000000000000000000000000000000000000000..15dcab87a46999258ab9f50937112092e0b85563 GIT binary patch literal 2995 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 B4h8@K literal 0 HcmV?d00001 diff --git a/docs/architecture/deployment/img/step3.png b/docs/architecture/deployment/img/step3.png new file mode 100644 index 0000000000000000000000000000000000000000..2f6f21ab82de113709ba7c85f2246ead02401b35 GIT binary patch literal 6702 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 literal 0 HcmV?d00001 diff --git a/docs/architecture/deployment/img/step4.png b/docs/architecture/deployment/img/step4.png new file mode 100644 index 0000000000000000000000000000000000000000..8f10f3f3827c5c20a43dfdf4b4efcb96af13d855 GIT binary patch literal 5220 zcmXv|1ymGl*IYtUy1Tm@0VRZ`8>BmzhJ^(dknV1f?vMrvX_f|QkaQ^tr9)Eq@%_(t zpL6caotbm*0{{SMZ9RS6EFd6Tz)Sr@XOJzQGswbLRhm!cMY?dd@wE8oy%ejxwUfvH zQvkpXWaark{tul%mj7FW?FRC6{?9{r>C_-6SF3-MEC7J;^8R%I0yzLcp!C97K_Hj^ zZvW?yzYI2r|H3aB3kWaYdsipd|4ur9+&tV~bY+m6mFo)g3^K<>d3S84G|C^dgaf+?*}`c`xrH^~q%DpPwatV)sL;T!h=XH(Fn(q|wYCss=5 z3^EVpaaEb^DX?3yd7^WBezX`WJ`~tNems^i`FrGap8O5zv&82nvKmO*tjj3Rx*7a+ z1vQ%8Ya}0|qGm_eB6;168+xmUeR?Azi@I++oz67tN;pC@vbo%AAt>ogb_>Bce}bcD zR0d?TbFu*ME)png$Zi4t!6kIA&cKivlJ231N^mb9UCH%kbkvWQAB?+YEf##Cmu;~& zkUyoap6W5By1G=cCpAv};$5M1yqRazEc0h`*U$&sjd{@OMB=i9+cm>r#}ZL+zkPhB zI;ptFdl&Vf*f^$SkvpBW9Z%5g(zxb^c9lBo-6H2gc=YO+(VcW{X} z&<9|d5r0+-q}LT?a%lwNGd(zkPYu!6DmvzL*6Q~pwZB81-Kr@%UAd@wqlM|CKo?Db z)NPg%=YB5#b_h`ff-Mw$<_& z<^y0TO?&`Kbn@qYJI%wGb)z6zm4$H3_AZ*9HT{jc(>7C!8VjQwegEu91LyMz~fv;XeWgmtOeEVyus$$Y_w?DIaDABNqjkGHlzwJqx#$xGElBgba>^d%0FxSKS zo(7oTEG4#qFx4S+%a1jc9x|Kn=Nd!y|ChJ`r}GpydLzdW1Ci zN?iE>>CH`oV34P*(xc;WlV&z=$E?}%siSl@|BvegjIs3;lgwWlkG-p@DH#&#Lbg&x zIuFK;F&a2-QT^y*c3(D@jU^v3I0EGLra;> zNCf5cpL4&{YZ(+EOSuSz4i?XN7?@2zxiiYk^(HHh^p`XN)xu~_VJ27*oCz2bUU`Od z^dox97qX8_F!}W}tgzCy@&%)5IgRcU6^RXFHnVJ9 z!!9Df1ki~NSDzH1IxcZGcI6uex-V0n2l{R1VSWPY+Uru_fx3xnvPcM-9PfQ?lMsiH z_gHQjCg#mq8Iaq>QRcfYg6ShEpnroA2`KXyV(5;kdv?~4Dld+hfZ z*FjE7;uwX%5n;*e--)g8PUAyw$Sa8H83M6kE01n6oT<1($*Y%zE6L z$u;dKDB+Pf@zrU5I6oji`CKmSe_T>E9+EfFK{TyGubx79svbs#=y}KAGi;(dQU58# zB8wL6;TofwF4XYnD?IDiv^OI+QUs6jmNWbgBS#wkXpvhhKWNe_<4JTjLAE~rq1I2S z>eKJq#VRM*salJ-)Z0P-qttsvB-#&_Kc&~M*aMDAd>$TK?sTN~(oWiQ9o9#dqlGHs zxS4EN$A1WgQzpn=bQp7KhpG1>#_A(gBTA;!?Hu!2e*Qz4*q2WK*HnlLs3>~IwfW(2 z0?S-)RODcYPtO2}+VQEYD|jEx>M;tjs$BOgk+`0@w`5MQtnzm%Qu-=`aBO^wjxcld zc|*kllUe*VfMbvsW`0G;iUYf4hA_wI6N&@gn@1GN-E;{nv0wV-WT7bxCz`R09-Kg& zM}uF4wpcSp-NKV}gIZ(o^qKcsZ~iX#_U2q+mbzWJ+iwO?*z(wbLwHpg𝔉8_c+e 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 OaW%Bk5a6ryzW)P65XMIU literal 0 HcmV?d00001 diff --git a/docs/architecture/deployment/img/step5.png b/docs/architecture/deployment/img/step5.png new file mode 100644 index 0000000000000000000000000000000000000000..526a5ef85cf85f73ef84dad7a7913967ff2493e0 GIT binary patch literal 5716 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 Tw2ebVrPk1`tnZZHm+Aijij^?2 literal 0 HcmV?d00001 diff --git a/docs/architecture/deployment/img_2.png b/docs/architecture/deployment/img_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2e8b7060d5b439e83f5c591d706737ca846a6b6e GIT binary patch literal 21504 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 + + +#### Step 2: Click on “Upgrade Version” + +1. On clicking the Settings icon, a page with various tabs will open +2. Click on the “Admin” tab + * This opens a tabular structure, with a list of users and when were those created in the system + * On the right top corner of this table, you’ll find the button “Upgrade Version” + * Click on “Upgrade Version” + +step2 + + +#### Step 3: Load the “Upgrade Version” pop-up + +1. On clicking the “Upgrade Version”, a pop-up will appear on the screen +2. The pop-up contains a text box “Version” + +step3 + + +#### Step 4: Select from the list of versions releases + +1. On clicking upon the inside of the “Version” text box, the user will see the list of releases from the last release the customer is on currently to the latest release deployed by Prophecy. +2. Refer to the image below + +step4 + + +#### Step 5: Select the version user wants to upgrade to + +1. Select the version user wants to platform to be upgraded to +2. Since prophecy can connect to URL +3. Since Prophecy can connect to its Helm repository, we’ll get list of all versions that are available in the drop-down + +step5 + + +#### Step 6: Click on Upgrade + +1. Since it is a non-dark cluster, the selected package is retrieved from Prophecy’s Helm repository +2. Click on Upgrade + +step6 + + +#### Refer [Appendix B for Disable Rollback](#appendix---a--one-click-downgrade) + +On clicking Upgrade, the customer will get to see the following screen + +step7 + + +### One-Click Upgrade on Dark Clusters (not connected to internet) + +* These clusters do not have access to the internet, hence users can’t see what all versions are released. +* In this case, the Version list would be empty + 1. hence, the user can manually put the release number in the “Version” Text box and can trigger the “Upgrade” +* We package the helm charts with one Prophecy service, named Athena, not to be confused with AWS Athena. + 1. Helm charts are basically the next package to which to be upgraded. + + +### Appendix - A | One-Click Downgrade + +--- + +1. Consider a scenario wherein the version selected for upgrade is not stable or say the latest released version has some build verification test failure, that results into the upgrade failure +* Now, the user would want to downgrade to the previous version + 1. If the version to which the user wants to downgrade is among the latest version, they can select from the Version drop-down options. + 2. Else, for the older version they need to manually enter the version + +Note: + +1. We do not recommend and expect the user to downgrade without asking the Prophecy Cloud team, as things might not be backward compatible and the environment may become unstable. + + +### Appendix - B | Disable Rollback + +--- + +1. In an event of upgrade failure, the rollback to previous stable version will take place. +2. To prevent this rollback from happening, **disable rollback** functionality can be used. +3. Therefore, when Disable Rollback is active, the upgrade failure would not result in rollback to previous stable version + +Note: + +1. Though exposed to customer, it is **not** recommended for them to use Disable Rollback. This functionality is mainly for debugging purposes to reproduce the failure scenario and to analyze the root cause for the upgrade failure by the Prophecy team. From 8a4f0919255814b9a0e1006ea944d5c52cb4de89 Mon Sep 17 00:00:00 2001 From: atbida Date: Wed, 6 Sep 2023 23:31:51 -0500 Subject: [PATCH 2/2] adjusted vernacular to be more coloquial --- .../deployment/one-click-upgrade.md | 87 +++++++------------ 1 file changed, 33 insertions(+), 54 deletions(-) diff --git a/docs/architecture/deployment/one-click-upgrade.md b/docs/architecture/deployment/one-click-upgrade.md index d08987b3a6..0f145d7aae 100644 --- a/docs/architecture/deployment/one-click-upgrade.md +++ b/docs/architecture/deployment/one-click-upgrade.md @@ -3,24 +3,22 @@ title: "One-click Upgrade" id: One-click-Upgrade description: One-click Upgrade sidebar_position: 2 -tags: -- deployment -- upgrade -- one-click -- one-click upgrade - - +tags: + - deployment + - upgrade + - one-click + - one-click upgrade --- 1. With the introduction of the One-Click Upgrade process, any customer can upgrade their cluster to the latest released version with one single click on the UI. -2. The platform will be upgraded to the released selected and chosen for an upgrade without any hassle of communicating over calls or emails -3. For One-Click Upgrade, the prophecy IDE user should be an Admin user +2. The platform will be upgraded to the release selected and chosen for an upgrade without any hassle of communicating over calls or emails +3. For One-Click Upgrade, the Prophecy IDE user should be an Admin user ## Benefits of this new solution -1. This whole process is a self-served process and can be carried on by customers by themselves or reach out to us at support@prophecy.io if you need assistance. -3. No sophisticated tools, like Helm, kubectl, etc., are required anymore for the upgrade -4. No Kubernetes access is necessary for the upgrade +1. With One-Click upgrade, Prophecy Admins can follow the steps below to upgrade Prophecy clusters. Please do reach out to us at Support@Prophecy.io for assistance. +2. No sophisticated tools, like Helm, kubectl, etc., are required anymore for the upgrade +3. No Kubernetes access is necessary for the upgrade ## How to do it? @@ -29,13 +27,12 @@ One-Click Upgrade follows slightly different steps based on the type of Prophecy 1. **Non-Dark Cluster** - The Kubernetes cluster where Prophecy backend is running, has access to Prophecy Helm Repository 1. Here, Prophecy pulls the update from the [Prophecy Helm Repository](https://prophecy-chart.s3.us-west-2.amazonaws.com/) 2. [One-Click Upgrade on Non-Dark Cluster (connected to internet)](#one-click-upgrade-on-non-dark-cluster-connected-to-internet) -2. **Dark Cluster** - The Kubernetes cluster where Prophecy backend is running, does not have access to [Prophecy Helm Repository](https://prophecy-chart.s3.us-west-2.amazonaws.com/) +2. **Dark Cluster** - The Kubernetes cluster where Prophecy backend is running, does not have access to [Prophecy Helm Repository](https://prophecy-chart.s3.us-west-2.amazonaws.com/) 1. Here, the update is triggered using the Helm package inside the Prophecy platform service (named Athena) 2. [One-Click Upgrade on Dark Clusters (not connected to internet)](#one-click-upgrade-on-dark-clusters-not-connected-to-internet) ### One-Click Upgrade on Non-Dark Cluster (connected to internet) - #### Step 1: Click on Settings 1. Go to the left bottom corner and click on the three icon @@ -44,18 +41,16 @@ One-Click Upgrade follows slightly different steps based on the type of Prophecy step1 - #### Step 2: Click on “Upgrade Version” 1. On clicking the Settings icon, a page with various tabs will open 2. Click on the “Admin” tab - * This opens a tabular structure, with a list of users and when were those created in the system - * On the right top corner of this table, you’ll find the button “Upgrade Version” - * Click on “Upgrade Version” + - This opens a tabular structure, with a list of users and when were those created in the system + - On the right top corner of this table, you’ll find the button “Upgrade Version” + - Click on “Upgrade Version” step2 - #### Step 3: Load the “Upgrade Version” pop-up 1. On clicking the “Upgrade Version”, a pop-up will appear on the screen @@ -63,61 +58,45 @@ One-Click Upgrade follows slightly different steps based on the type of Prophecy step3 +#### Step 4: Select from the list of versioned releases -#### Step 4: Select from the list of versions releases - -1. On clicking upon the inside of the “Version” text box, the user will see the list of releases from the last release the customer is on currently to the latest release deployed by Prophecy. -2. Refer to the image below +1. Click the “Version” text box. Since Prophecy can connect to its Helm repository, the dropdown will display a list of all available versions. +2. Select the desired version step4 - -#### Step 5: Select the version user wants to upgrade to - -1. Select the version user wants to platform to be upgraded to -2. Since prophecy can connect to URL -3. Since Prophecy can connect to its Helm repository, we’ll get list of all versions that are available in the drop-down - -step5 - - -#### Step 6: Click on Upgrade +#### Step 5: Click Upgrade 1. Since it is a non-dark cluster, the selected package is retrieved from Prophecy’s Helm repository -2. Click on Upgrade +2. Click Upgrade step6 - #### Refer [Appendix B for Disable Rollback](#appendix---a--one-click-downgrade) -On clicking Upgrade, the customer will get to see the following screen +The following screen appears during the upgrade. Afterward, try out Prophecy's new features. step7 - ### One-Click Upgrade on Dark Clusters (not connected to internet) -* These clusters do not have access to the internet, hence users can’t see what all versions are released. -* In this case, the Version list would be empty - 1. hence, the user can manually put the release number in the “Version” Text box and can trigger the “Upgrade” -* We package the helm charts with one Prophecy service, named Athena, not to be confused with AWS Athena. - 1. Helm charts are basically the next package to which to be upgraded. +- These clusters do not have access to the internet, so the list of released versions is not accessible. +- The Version list would be empty; just enter the release number in the `Version` Text box and trigger the `Upgrade` +- We package the helm charts with Prophecy Athena Service, not to be confused with AWS Athena. + 1. Helm charts are basically the next package to which to be upgraded. - ### Appendix - A | One-Click Downgrade --- -1. Consider a scenario wherein the version selected for upgrade is not stable or say the latest released version has some build verification test failure, that results into the upgrade failure -* Now, the user would want to downgrade to the previous version - 1. If the version to which the user wants to downgrade is among the latest version, they can select from the Version drop-down options. - 2. Else, for the older version they need to manually enter the version - -Note: +1. If there is an upgrade failure, one option is to downgrade to the previous version. + 1. If the desired downgrade version is recent, select from the Version drop-down options. + 2. Else manually enter the version -1. We do not recommend and expect the user to downgrade without asking the Prophecy Cloud team, as things might not be backward compatible and the environment may become unstable. +:::caution +Although the downgrade button is available, we recommend instead asking the Prophecy team for help. Prophecy is frequently rolling out new features and we would love to assist to ensure a smooth transition. +::: ### Appendix - B | Disable Rollback @@ -127,6 +106,6 @@ Note: 2. To prevent this rollback from happening, **disable rollback** functionality can be used. 3. Therefore, when Disable Rollback is active, the upgrade failure would not result in rollback to previous stable version -Note: - -1. Though exposed to customer, it is **not** recommended for them to use Disable Rollback. This functionality is mainly for debugging purposes to reproduce the failure scenario and to analyze the root cause for the upgrade failure by the Prophecy team. +:::warning +Disabling rollback is **not** recommended. This functionality is mainly for troubleshooting purposes by the Prophecy team. +:::