diff --git a/content/administration/odoo_online.rst b/content/administration/odoo_online.rst index 5621f0115..312896411 100644 --- a/content/administration/odoo_online.rst +++ b/content/administration/odoo_online.rst @@ -46,7 +46,7 @@ Trigger a database upgrade. .. seealso:: For more information about the upgrade process, check out the :ref:`Odoo Online upgrade - documentation `. + documentation `. .. _odoo_online/duplicate: diff --git a/content/administration/upgrade.rst b/content/administration/upgrade.rst index 4d326716d..049131097 100644 --- a/content/administration/upgrade.rst +++ b/content/administration/upgrade.rst @@ -2,31 +2,55 @@ Upgrade ======= -An upgrade is the process of moving your database from an older version to a newer :doc:`supported -version ` (e.g., Odoo 14.0 to Odoo 16.0). Frequently upgrading is essential as -each version comes with new and improved features, bug fixes, and security patches. +An upgrade involves moving a database from an older version to a newer supported version (e.g., from +Odoo 15.0 to Odoo 17.0). Regular upgrades are crucial as each version offers new features, bug +fixes, and security patches. Using a :doc:`supported version ` is strongly +recommended. Each major version is supported for three years. -.. _upgrade_faq/rolling_release: +Depending on the hosting type and Odoo version used, a database upgrade can be **mandatory**. + +.. tabs:: + + .. group-tab:: Odoo Online + + - If a database is on a **major version** (e.g., 15.0, 16.0, 17.0), an upgrade is mandatory + every two years. + - If a database is on a **minor version** (e.g., 17.1, 17.2, 17.4), an upgrade is mandatory + a few weeks after the next version is released. Minor versions are usually released every + three months. + + .. group-tab:: Odoo.sh + + After the initial three years of support, you will have another two years to complete the + upgrade. You will be notified when an upgrade is required. + + .. image:: upgrade/odoo-sh-message.png + :alt: The "unsupported version" popup on Odoo.sh. + + .. group-tab:: On-premise + + You can stay on the same version indefinitely, even if it is not recommended. Note that the + smaller the version gap, the easier the upgrade should be. .. spoiler:: Automatic upgrades: Odoo Online's Rolling Release process - The Rolling Release process allows Odoo Online customers to upgrade their database directly from - a message prompt sent to the database administrator as soon as a new version is released. The - invitation to upgrade is only sent if no issues are detected during the automatic tests. + You will receive a notification in your database a few weeks before a mandatory upgrade will be + automatically carried out. You are in control of the process as long as the deadline is not + reached. .. image:: upgrade/rr-upgrade-message.png :alt: The upgrade message prompt on the top right of the database - It is strongly recommended to manually :ref:`test the upgrade first `. - Clicking :guilabel:`I want to test first` redirects to `the database manager - `_, where it is possible to request an upgraded test database - and check it for any discrepancies. + Concretely, Odoo’s Upgrade Team performs a silent test upgrade of every database that should be + upgraded. If the test is successful and lasts less than 20 minutes, you can directly trigger the + upgrade from the database. If the test fails, you can test an upgrade using the `database manager + `_. - It is **not** recommended to click :guilabel:`Upgrade Now` without testing first, as it - immediately triggers the live production database upgrade. + When you are invited to upgrade, it is strongly recommended to :ref:`request an upgraded test + database ` first and spend time :ref:`testing ` it. - If the Rolling Release process detects an issue with the upgrade, it will be deactivated until - the issue is resolved. + An automatic upgrade to the next version will be triggered if no action is taken before the + specified due date. An upgrade does not cover: @@ -40,36 +64,40 @@ An upgrade does not cover: If your database contains custom modules, it cannot be upgraded until a version of your custom modules is available for the target version of Odoo. For customers maintaining their own custom modules, we recommend to parallelize the process by :ref:`requesting an upgraded database - ` while also :doc:`upgrading the source code of your custom + ` while also :doc:`upgrading the source code of your custom modules `. +.. _upgrade-nutshell: + Upgrading in a nutshell ------------------------ +======================= #. Request an upgraded test database (see :ref:`obtaining an upgraded test database - `). + `). #. If applicable, upgrade the source code of your custom module to be compatible with the new version of Odoo (see :doc:`/developer/howtos/upgrade_custom_db`). #. Thoroughly test the upgraded database (see :ref:`testing the new version of the database - `). -#. Report any issue encountered during the testing to Odoo by `submitting a ticket for an issue - related to my future upgrade (I am testing an upgrade) `_. + `). +#. Report any issue encountered during the testing to Odoo by going to the `Support page and + selecting "An issue related to my future upgrade (I am testing an upgrade)" + `_. #. Once all issues are resolved and you are confident that the upgraded database can be used as your main database without any issues, plan the upgrade of your production database. #. Request the upgrade for the production database, rendering it unavailable for the time it takes - to complete the process (see :ref:`upgrading the production database `). -#. Report any issue encountered during the upgrade to Odoo by `submitting a ticket for an issue - related to my upgrade (production) `_. + to complete the process (see :ref:`upgrading the production database `). +#. Report any issue encountered during the upgrade to Odoo by going to the `Support page and + selecting "An issue related to my upgrade (production)" + `_. -.. _upgrade/request-test-database: +.. _upgrade-request-test: Obtaining an upgraded test database ------------------------------------ +=================================== -The `Upgrade page `_ is the main platform for requesting an upgraded +The `Upgrade page `_ is the main platform for requesting an upgraded database. However, depending on the hosting type, you can upgrade from the command line -(on-premise), the `Odoo Online database manager `_, or your `Odoo.sh -project `_. +(on-premise), the Odoo Online `database manager `_, or your +`Odoo.sh project `_. .. note:: The Upgrade platform follows the same `Privacy Policy `_ as the @@ -81,7 +109,7 @@ project `_. .. group-tab:: Odoo Online Odoo Online databases can be manually upgraded via the `database manager - `_. + `_. The database manager displays all databases associated with the user's account. Databases not on the most recent version of Odoo display an arrow in a circle icon next to their name, @@ -115,8 +143,7 @@ project `_. .. image:: upgrade/odoo-sh-staging.png :alt: Odoo.sh project and tabs - The **latest production daily automatic backup** is then sent to the `upgrade platform - `_. + The **latest production daily automatic backup** is then sent to the Upgrade platform. Once the upgrade platform is done upgrading the backup and uploading it on the branch, it is put in a **special mode**: each time a **commit is pushed** on the branch, a **restore @@ -149,7 +176,7 @@ project `_. $ python <(curl -s https://upgrade.odoo.com/upgrade) --help An upgraded test database can also be requested via the `Upgrade page - `_. + `_. .. important:: In databases where custom modules are installed, their source code must be up-to-date with @@ -175,22 +202,20 @@ project `_. .. note:: You can request multiple test databases if you wish to test an upgrade more than once. -.. _upgrade/upgrade_report: - .. note:: When an upgrade request is completed, an upgrade report is attached to the successful upgrade email, and it becomes available in the Discuss app for users who are part of the "Administration / Settings" group. This report provides important information about the changes introduced by the new version. -.. _upgrade/test_your_db: +.. _upgrade-testing: Testing the new version of the database ---------------------------------------- +======================================= -It is essential to spend some time testing the upgraded test database to ensure that you are not -stuck in your day-to-day activities by a change in views, behavior, or an error message once the -upgrade goes live. +It is essential to test the upgraded test database to ensure that you are not stuck in your +day-to-day activities by a change in views, behavior, or an error message once the upgrade goes +live. .. note:: Test databases are neutralized, and some features are disabled to prevent them from impacting the @@ -245,9 +270,10 @@ working correctly and to get more familiar with the new version. This list is **not** exhaustive. Extend the example to your other apps based on your use of Odoo. If you face an issue while testing your upgraded test database, you can request the assistance of -Odoo by `submitting a ticket for an issue related to my future upgrade (I am testing an upgrade) -`_. In any case, it is essential to report any problem -encountered during the testing to fix it before upgrading your production database. +Odoo by going to the `Support page and selecting "An issue related to my future upgrade (I am +testing an upgrade)" `_. In any case, it is essential to +report any problem encountered during the testing to fix it before upgrading your production +database. You might encounter significant differences with standard views, features, fields, and models during testing. Those changes cannot be reverted on a case-by-case basis. However, if a change introduced @@ -265,12 +291,12 @@ module to make it compatible with the new version of Odoo. - Server actions in the action menu on form views, as well as by selecting multiple records on list views -.. _upgrade/upgrade-prod: +.. _upgrade-production: Upgrading the production database ---------------------------------- +================================= -Once the :ref:`tests ` are completed and you are confident that the upgraded +Once the :ref:`tests ` are completed and you are confident that the upgraded database can be used as your main database without any issues, it is time to plan the go-live day. Your production database will be unavailable during its upgrade. Therefore, we recommend planning @@ -288,15 +314,15 @@ day before upgrading the production database is also recommended.** - Business interruptions (e.g., no longer having the possibility to validate an action) - Poor customer experience (e.g., an eCommerce website that does not work correctly) -The process of upgrading a production database is similar to upgrading a test database with a few -exceptions. +The process of upgrading a production database is similar to upgrading a test database, but with a +few exceptions. .. tabs:: .. group-tab:: Odoo Online The process is similar to :ref:`obtaining an upgraded test database - `, except for the purpose option, which must be set to + `, except for the purpose option, which must be set to :guilabel:`Production` instead of :guilabel:`Test`. .. warning:: @@ -306,8 +332,8 @@ exceptions. .. group-tab:: Odoo.sh - The process is similar to :ref:`obtaining an upgraded test database - ` on the :guilabel:`Production` branch. + The process is similar to :ref:`obtaining an upgraded test database ` on + the :guilabel:`Production` branch. .. image:: upgrade/odoo-sh-prod.png :alt: View from the upgrade tab @@ -337,7 +363,8 @@ exceptions. $ python <(curl -s https://upgrade.odoo.com/upgrade) production -d -t An upgraded production database can also be requested via the `Upgrade page - `_. + `_. + Once the database is uploaded, any modification to your production database will **not** be present on your upgraded database. This is why we recommend not using it during the upgrade process. @@ -347,14 +374,14 @@ exceptions. a filestore. Therefore, the upgraded database filestore must be merged with the production filestore before deploying the new version. -In case of an issue with your production database, you can request the assistance of Odoo by -`submitting a ticket for an issue related to my upgrade (production) -`_. +In case of an issue with your production database, you can request the assistance of Odoo by going +to the `Support page and selecting "An issue related to my future upgrade (I am testing an upgrade)" +`_. -.. _upgrade/sla: +.. _upgrade-sla: Service-level agreement (SLA) ------------------------------ +============================= With Odoo Enterprise, upgrading a database to the most recent version of Odoo is **free**, including any support required to rectify potential discrepancies in the upgraded database. @@ -363,8 +390,10 @@ Information about the upgrade services included in the Enterprise Licence is ava :ref:`Odoo Enterprise Subscription Agreement `. However, this section clarifies what upgrade services you can expect. +.. _upgrade-sla-covered: + Upgrade services covered by the SLA -=================================== +----------------------------------- Databases hosted on Odoo's cloud platforms (Odoo Online and Odoo.sh) or self-hosted (On-Premise) can benefit from upgrade services at all times for: @@ -378,8 +407,10 @@ benefit from upgrade services at all times for: Upgrade services are limited to the technical conversion and adaptation of a database (standard modules and data) to make it compatible with the version targeted by the upgrade. +.. _upgrade-sla-not-covered: + Upgrade services not covered by the SLA -======================================= +--------------------------------------- The following upgrade-related services are **not** included: diff --git a/content/administration/upgrade/odoo-sh-message.png b/content/administration/upgrade/odoo-sh-message.png new file mode 100644 index 000000000..db8c7ec48 Binary files /dev/null and b/content/administration/upgrade/odoo-sh-message.png differ diff --git a/content/administration/upgrade/rr-upgrade-message.png b/content/administration/upgrade/rr-upgrade-message.png index 109f8e846..c906c8c4e 100644 Binary files a/content/administration/upgrade/rr-upgrade-message.png and b/content/administration/upgrade/rr-upgrade-message.png differ diff --git a/content/developer/howtos/upgrade_custom_db.rst b/content/developer/howtos/upgrade_custom_db.rst index 47db26402..2aec000db 100644 --- a/content/developer/howtos/upgrade_custom_db.rst +++ b/content/developer/howtos/upgrade_custom_db.rst @@ -9,7 +9,7 @@ for guidance on how to upgrade a database without customized modules. We consider a custom module, any module that extends the standard code of Odoo and that was not built with the Studio app. Before upgrading such a module, or before requesting its upgrade, have a -look at the :ref:`upgrade/sla` to make sure who's responsible for it. +look at the :ref:`upgrade-sla` to make sure who's responsible for it. While working on what we refer to as the **custom upgrade** of your database, keep in mind the goals of an upgrade: @@ -60,8 +60,8 @@ Step 2: Request an upgraded database Once the developments have stopped for the custom modules and the implemented features have been challenged to remove redundancy and unnecessary code, the next step is to request an upgraded test -database. To do so, follow the steps mentioned in :ref:`upgrade/request-test-database`, depending on -the hosting type of your database. +database. To do so, follow the steps mentioned in :ref:`upgrade-request-test`, depending on the +hosting type of your database. The purpose of this stage is not to start working with the custom modules in the upgraded database, but to make sure the standard upgrade process works seamlessly, and the test database is delivered @@ -175,7 +175,7 @@ Step 4: Upgraded database ========================= Once the custom modules are installable and working properly in an empty database, it is time to -make them work on an :ref:`upgraded database `. +make them work on an :ref:`upgraded database `. To make sure the custom code is working flawlessly in the new version, follow these steps: @@ -243,8 +243,8 @@ Running and testing upgrade scripts .. group-tab:: Odoo.sh - As explained on the `Odoo.sh` tab of :ref:`upgrade/request-test-database`, Odoo.sh is - integrated with the upgrade platform. + As explained on the `Odoo.sh` tab of :ref:`upgrade-request-test`, Odoo.sh is integrated with + the upgrade platform. Once the upgrade of a staging branch is on "Update on commit" mode, each time a commit is pushed on the branch, the upgraded backup is restored and all the custom modules are updated. @@ -277,9 +277,9 @@ are consistent and that nothing was lost during the upgrade process. Things to pay attention to: - Views not working: During the upgrade, if a view causes issues because of its content, it gets - disabled. You can find the information on disabled views on the :ref:`Upgrade report - `. This view needs to be activated again (or removed if not useful anymore). - To achieve this, we recommend the use of upgrade scripts. + disabled. You can find the information on disabled views on the Upgrade report. This view needs to + be activated again (or removed if not useful anymore). To achieve this, we recommend the use of + upgrade scripts. - :doc:`Module data <../tutorials/define_module_data>` not updated: Custom records that have the ``noupdate`` flag are not updated when upgrading the module in the new database. For the custom data that needs to be updated due to changes in the new version, we recommend to use upgrade @@ -293,9 +293,9 @@ Step 5: Testing and rehearsal When the custom modules are working properly in the upgraded database, it is crucial to do another round of testing to assess the database usability and detect any issues that might have gone unnoticed in previous tests. For further information about testing the upgraded database, check -:ref:`upgrade/test_your_db`. +:ref:`upgrade-testing`. -As mentioned in :ref:`upgrade/upgrade-prod`, both standard upgrade scripts and your database are +As mentioned in :ref:`upgrade-production`, both standard upgrade scripts and your database are constantly evolving. Therefore it is highly recommended to frequently request new upgraded test databases and ensure that the upgrade process is still successful. @@ -309,4 +309,4 @@ Step 6: Production upgrade ========================== Once you are confident about upgrading your production database, follow the process described on -:ref:`upgrade/upgrade-prod`, depending on the hosting type of your database. +:ref:`upgrade-production`, depending on the hosting type of your database.