##// END OF EJS Templates
dev: added s3 backend for development
dev: added s3 backend for development

File last commit:

r389:11798232
r486:2a0080d9
Show More
upgrade.rst
101 lines | 2.9 KiB | text/x-rst | RstLexer
docs: added initial version of documentation
r276 .. _upgrade:
Upgrade rcstack
===============
docs(upgrade): added additional step for upgrade doc
r287 It's usually recommended to start with updating the installer itself by running:
docs: added initial version of documentation
r276
.. code-block:: bash
./rcstack self-update
docs(misc): various docs improvements
r389 .. note::
It's possible to change the update channel, or update to only specific versions. This can be done by providing
extra flags to self-update
.. code-block:: bash
# upgrade to master branch release line
./rcstack self-update --force --cli-revision master --docker-revision master
# upgrade to a specific version corresponding to a git tag
./rcstack self-update --force --cli-revision v5.3.0 --docker-revision v5.3.0
Upgrade of services
===================
docs: added initial version of documentation
r276 Then upgrade each stack based on instructions provided from the help output:
.. code-block:: bash
docs(upgrade): added information about faster upgrade
r295 ./rcstack stack-upgrade <STACK_NAME>
docs: added initial version of documentation
r276
.. note::
./rcstack stack-upgrade rhodecode is a 0 downtime upgrade procedure.
docs(upgrade): explain how to avoid scale 2x on upgrade
r365 This will spawn 2x more nodes to perform the upgrade and then remove the old instances.
This way all incoming traffic will be handled continuously without any interruptions on upgrade
Example for full upgrade procedure:
.. code-block:: bash
./rcstack self-update
./rcstack stack-upgrade router
./rcstack stack-upgrade services
./rcstack stack-upgrade rhodecode
./rcstack stack-upgrade metrics
.. note::
./rcstack stack-upgrade does scaling of services which might use more RAM to handle the double instance amount.
To avoid that stop each stack before running stack upgrade. This way services get upgraded without 2x scaling.
This method however would cause a downtime.
.. code-block:: bash
./rcstack self-update
./rcstack stack router down && ./rcstack stack-upgrade router
./rcstack stack services down && ./rcstack stack-upgrade services
./rcstack stack rhodecode down && ./rcstack stack-upgrade rhodecode
./rcstack stack metrics down && ./rcstack stack-upgrade metrics
docs: added initial version of documentation
r276
docs(upgrade): added information about faster upgrade
r295 The above upgrade uses default timeouts to wait for any currently ongoing traffic to stop to kill the workers.
There are two additional flags that can be used for a faster upgrade that could let to end users errors, or small downtime
but will enforce the upgrade to be performed as fast as possible.
docs(upgrade): explain how to avoid scale 2x on upgrade
r365 Fast upgrade with max 65s wait time after new upgraded containers start, and wait 5s before force killing old
containers. This is still 0 downtime upgrade, but stoping existing containers is forced to 5s
which might result in killed ongoing connections
docs(upgrade): added information about faster upgrade
r295
.. code-block:: bash
docs(upgrade): explain how to avoid scale 2x on upgrade
r365 ./rcstack stack-upgrade rhodecode --stop-wait 65 --docker-stop-wait 5
docs(upgrade): added information about faster upgrade
r295
docs(upgrade): added additional step for upgrade doc
r287
docs(misc): various docs improvements
r389 Install specific version of RhodeCode
+++++++++++++++++++++++++++++++++++++
docs(upgrade): added additional step for upgrade doc
r287
In order to run a specific version of RhodeCode stack simply follow this:
.. code-block:: bash
./rcstack cli set-runtime-image 5.0.0
./rcstack stack all down
./rcstack stack all up -d