Odoo Upgrade (V15 edition) - odoo-ps/pshk-process GitHub Wiki

Introduction

Upgrading allows our clients to take advantage of the latest functionalities and applications. Odoo provides support for the latest 3 versions (V15, V14, V13). This upgrade service is free-of-charge for Enterprise customers only (not including custom codes or 3rd party apps). There is a difference between upgrading and migration. Upgrading refers to the change from one version to another (V10 -> V15) whereas migration refers to the change in hosting type (Saas → SH).

POC for all-things related to Upgrade → TAU

Overview of the Upgrading Process

  • Request an upgrade for testing purposes
  • Test the test DB (Few cycles)
    • Focus on:
      • Testing the regular workflow
      • Ensuring all Studio customizations are transferred correctly.
      • Report/Custom views are transferred correctly.
    • Do not focus on:
  • Bank Synchronization/Sending emails as these functions are disabled in the test environment.
    • Templates/Modifications to the new DB as this is not the final prod DB.
    • Payment providers on E-commerce will not work to prevent real transactions from being processed.
  • Request and Plan (set date to be offline, logout of Odoo for all users) your upgrade for production DB.

How can we ensure a successful upgrade?

  • Do not make modifications to production DB while upgrading.
  • Do not add any 3rd party software (SH)
  • For DB customizations, use functions within Odoo which are meant to facilitate Upgrades such as inherited views, overriding modules, etc. Avoid actions such as base view modification which may break during the Upgrade.
  • Let the client learn more about the new version at www.odoo.com/slides or https://www.odoo.com/odoo-15-release-notes

Upgrade Workflow

Picture 5 Picture 6 Picture 7 Picture 8

Ticket Types Projects

“A question related to my subscription or billing” Help

“A question to use or configure Odoo” Help

“A bug with traceback” Help

“A bug or a wrong behavior but no traceback” Help > Functional Stage

“An issue related to my upgrade (production)” Help > Functional Stage

“An issue related to my upgrade (test phase)” For clients w/ no paid maintenance → Upgrade Issues For clients w/ paid maintenance → PSHK Custom Upgrade Issues LOC will be automatically detected

For partners (hosted w/ them) usually no LOC present → Upgrade Issues (for standard fix only). If partners need assistance, the Odoo repo has to be hosted by us (technical analysis is required) prior to the Upgrade.

For premise, no LOC will be present -> Upgrade Issues

Step-by-step Guide for Saas

Make an Upgrade Request for Test

  1. Login to Odoo DB, click on the user icon on the top-right corner and select my odoo.com account. 2) Click on “My Databases”, click on gear icon and select upgrade.
  2. *Upgrade DB pop-up message for version selection.
  3. For successful requests, receive email confirmation then proceed with functional testing.
  4. For failed requests, receive email on further steps involving manual intervention. a) Submit a ticket at www.odoo.com/help for this issue. b) Manual intervention means the support team has to write additional upgrade scripts for the DB.

Creating a Support Ticket + Functional Testing

  • Test the functional flows of the client’s business.
  • If there is an issue, create a Support Ticket at www.odoo.com/help and fill in the information.
  • Provide additional information such as images, videos, or error tracebacks to reduce clarification time.

Upgrade for Production Once sufficient testing is done, perform the same steps similar to Test Upgrade Request but select for Production instead.

Step-by-step Guide for SH

Make an Upgrade Request for Test

  1. Login to Odoo.sh, go to the “Builds” tab, search for the prod DB, click the 3 dots and download backup which is a zip file (select exact dump & without filestore).
  2. Select for “Testing”, a backup in progress message will be shown.
  3. Once it is ready, download the zip file of the DB.
  4. Go to https://upgrade.odoo.com/ and fill in the required information (select for Testing)
  5. Receive email confirmation of upgrade request.
  6. For successful requests, proceed to download the dump of upgraded DB.
  7. For failed requests, submit a ticket at www.odoo.com/help.
  8. To upload the latest dump, go to the “Projects” tab in Odoo.sh, pick a staging branch, select “Backups” and click “Import Databases”.
  9. A pop-up screen will appear, then upload the DB either “Through your browser” (preferred) or “Through SSH”.
  10. Select the staging, click on “History” and “Connect”.

Creating a Support Ticket + Functional Testing

  • Test the functional flows of the client’s business.
  • If there is an issue, create a Support Ticket at www.odoo.com/help and fill in the information.
  • Provide additional information such as images, videos, or error tracebacks to reduce clarification time.

Upgrade for Production

  1. Login to Odoo.sh, go to the “Builds” tab, search for the prod DB, click the 3 dots and download backup which is a zip file (select exact dump & without filestore).
  2. Select for “Production”.
  3. This downtime may take 2-3 hours, all users should stop working on the old DB.
  4. Once successful, repeat the same upload process as for Test DB.

What happens if the customer has only 1 staging branch?

  1. Delete the staging > Fork again the production database into Staging > go to Backups > upload the database you received from TAU. Important: in the Staging database Settings, make sure the Operating System is Ubuntu 20.04 since Odoo 15 will not work on Ubuntu 18.04

  2. IF you cannot delete your staging branch > contact your CST > update your subscription to an additional staging branch > back to Odoo SH you can now create a new staging database > go to Backups > upload the db and check steps above.

Picture 9 Picture 10

Step-by-step Guide for On-premise

Use the below command on the machine where your database is hosted: python <(curl -s https://upgrade.odoo.com/upgrade) test -d -t

Or through the upload form at http://upgrade.odoo.com.

All issues related to Odoo core functions will be handled by us. Everything else (custom code, 3rd-party apps, developments, Studio) is not supported by Odoo. If required, clients can contact AM/Sales to get a PS staff to go on-site.

Timesheeting for FC

For us, we can assist our clients through the Upgrade process in the following ways:

  • Task Creation
    • Creating the upgrade request for the client.
  • Query Consolidation
    • Gather the functional/technical issues from the client. Rule of thumb is 1 issue per ticket. However, issues with similar traits can be grouped together in a single ticket whereas others should be sent separately.
  • Testing & Validation
    • Test the functional flows for the client and ensure it is operating as
      expected.
  • Settings or Report View/Field Configuration
    • Some of the codes may be archived or replaced in the newer version. If absolutely necessary, we can help reconfigure the missing fields, flows or views as per earlier DB.

FAQ Upgrade

General Questions

What is the scope of the Upgrade service?

  • For Saas, as long as there are no 3rd party/custom devs, Upgrade is handled by Odoo.
  • For SH, if the 3rd party/custom devs are done by Odoo + has an ongoing maintenance subscription, Upgrade is handled by Odoo. If apps/codes are not developed by Odoo or no maintenance is paid, Odoo will not assist with the upgrade.
  • For On-premise, Odoo will not assist with the upgrade. The Upgrade should be handled by the client’s internal technical team. We will only ensure the basic Odoo standard functions are in place.
  • If functions in the latest version supersedes the old custom codes, Odoo will not recreate the views/functions.

Why do the Odoo upgrades take so long? How long would it take?

Odoo is versatile and easily modified, so each client’s DB is different in terms of configuration complexity. The automatic upgrade is based on a generic script applicable to most simple DB. If the DB has a high degree of complexity, the Upgrade team may be required to manually intervene to modify the upgrade script to perform the upgrade.

It will take anywhere between 15 mins to a few hours. Time taken for test upgrade is approximately the same for prod upgrade. This time is referring to the time taken to process the dump on the upgrade platform, not the full testing phase.

Previously → when you submit a ticket, it is resolved you will exit the queue of support tickets. However, if in the future you find more issues, you will have to rejoin this long queue. The whole upgrade process may take months. Now → your priority is based on when your first ticket is submitted. It is on a project-basis, once your upgrade is complete, only the next project will be taken by the Support team.

What is the average time of ticket assignments and response?

The ticket is submitted on a first-come-first-serve basis and response time depends on the current queue status. Once the database is in production, the client can submit a ticket to support. Normally takes 2-3 days for functional-related questions, but may be transferred to the technical team if further review is required. The ticket time varies from days to months.

Is there currently an upgrade manual for Upgrade?

Refer to upgrade.odoo.com

Which teams are involved in the Upgrade?

For the HK office, TAU will be handling the Upgrade requests. In general, all HK projects belong to TAU. If the client is using legacy Odoo (v11 or earlier), TAU will be in touch with the India team.

When manual intervention is required, which ticket type should I assign it to?

“An issue related to my upgrade (test phase)”

What is involved in the manual intervention in case the DB upgrade request fails?

Manual intervention means the support team has to write additional upgrade scripts for the DB. For manual intervention, if the error is specific to your DB, the Support team will apply a custom script for you. However, if there are multiple tickets with similar issues, they will analyze and update the generic script to tackle such cases for all.

Will the technical team be timesheeting the Success Packs for Upgrade tasks?

Yes, as long as tasks are done for the project.

Can the downtime be performed 24/7 (anytime) or business hours?

If you have custom code and would like to go-live, be in touch with the CST and inform on the date/time of upgrade so we can intervene in case anything goes wrong. Our Upgrade team is available 9am-6pm HKT during regular work hours. Are Upgrading clients (in the process) notified of the changes in Upgrade Team from India team to TAU)? There will be no difference in the process as the client will submit a support ticket and it will be assigned accordingly.

How do clients receive the prod DB link?

When submitting an upgrade request, the clients are required to provide an email. For Saas, clients will receive a test link in the email from TAU. For SH, clients will receive the DB dump in the email from TAU and import the DB dump to one of their staging DB.

What happens if the client wishes to perform both migration and Upgrade?

The migration and upgrade tasks are handled separately.

Step 1 - FC should create a migration task (V14 Saas -> V14 SH) in PSHK Saas Customization.

Step 2 - Once the migration is completed, start the Upgrade process.

**How to determine if the failed upgrade process is due to Odoo standard code or custom code? **

TAU will determine if Standard/custom code fixes are required and address it accordingly.

**How are code tracebacks handled for Upgrades? **

Take a screenshot of the error and submit a ticket.

For issues with Odoo core code, who will be responsible for fixing them?

For issues specific to the client, a custom upgrade script will be provided to facilitate the Upgrade.

For general issues (happens to many clients), TAU will report to the R&D team for a general fix. Once a fix is available, the R&D team will get back to TAU.

If the DB is too big (>500GB), will there be any issues for upgrading a large DB?

No, the servers should be able to handle databases of such size. If the client wishes, they can submit a ticket. Using the upgrade form to submit a dump may take longer. Suggest to the client to use the command line as it is faster.

Are there any methods to compare the difference before-after upgrading?

No, this is the purpose of the test phase, it allows the user to compare the changes between test and prod. Clients can pay attention to the Release Notes to know which module underwent huge changes (eg Accounting in V12).

While upgrading, will I be able to use the prod DB?

Yes, if you are submitting a request for a test DB. No, if you are submitting a request for prod DB.

Is there a way to encrypt my data during the Upgrade process?

Unfortunately no, there is no anonymization module available. It takes too much processing time just to encrypt it compared to the Upgrade time. Clients can seek upgrades on-site which incurs consultation fees.

Can an Upgrade be done by clients themselves?

The upgrade scripts are with Odoo and not publicly available. The client submits the request and Odoo processes the DB and sends it back to the client.

Once the ticket is resolved, how will the client be notified?

For Saas, TAU will inform them to do the Upgrade request again to obtain a new test DB.

For SH, TAU will create an upgraded staging branch for testing.

What is the difference between projects “Upgrade Issues” or “PSHK Custom Upgrade Issues” or “Help”?

PSHK Custom Upgrade Issues: for TAU → Tickets for client upgrade issues with paid maintenance. Upgrade Issues: for India Upgrade team → Tickets for client upgrade issues without paid maintenance and partner upgrade issues Help: Tickets not related to upgrade

Studio/3rd Party Apps/Custom Module Questions

Will studio fixes be covered?

All development (by Odoo) made using Studio will be included as long maintenance is paid.

What happens if the client wants us to help fix custom modules, 3rd party apps or some Studio report views? Step 1 - FC create an analysis task in PSHK Saas Customization Step 2 - TC will perform the module analysis to determine if we agree to maintain the module. Step 3 - Customers will start paying for annual maintenance. Step 4 - Sales team will activate their maintenance subscription and shift the India team’s task to our project. All steps above are under the condition that the DB repo is hosted by us OR an analysis has been created to move to Odoo repo.

If the report customization is done by Odoo, will this be FOC?

For non-customized Studio reports, Upgrade support is included. For customized reports, the tech team will move codes to a module FOC and apply maintenance after upgrade. (Reports are free under Saas)

What happens if a feature/function made using Studio customizations no longer exists in the latest version?

Check with the client and analyze a workaround for it. If they need the functions, configure using Studio or create a new development task.

What is improper Studio Customization?

Customers apply customizations using SQL queries within the DB. This might drop constraints which upgrade scripts rely on. This form of customization will not be supported by Odoo.

If Odoo cannot handle Studio views, will they be ignored/archived?

Yes, if it is not compatible with the new view in Standard, it will be archived. R&D is ongoing to design algorithms to repair views automatically. The client can support a ticket for this, so the issue will be resolved manually by the Support team for the time being.

How does the Upgrade take place with custom code?

If the code relies a lot on standard code, the custom code may need adaptations. If code by a client/partner, Odoo will not support it.

What data is stored within the DB which is sent to Odoo?

Everything but the attachments (binary files such as log notes in SO, etc.)

What about automated/scheduled/planned actions, rules, domains, are they upgraded?

For automated actions, this depends on the complexity of the codes themselves. For domains, yes they will be automatically renamed. If not possible, they will be disabled.

Partner Questions

hen a client changes the partner, how to change from Odoo.sh or from 1 partner to another?

Depends on who owns the repository and the partner deal. Ask the partner to give access to the repo to the new partner.

How do we manage partners who need help with 3rd party/custom modules?

TAU will guide and timesheet on the partner pack.

SH Questions

During that downtime, do we need to stop CRON?

Yes. As soon as dump is downloaded, you need to stop all actions on prod DB. This ensures nothing is left out during transition.

How are filestores handled on SH?

To start the Upgrade, there is no need to send a filestore. Once the Upgrade is complete, a new filestore will be sent back via email which will need to be merged with the existing filestore in the DB to complete the Upgrade.

Do SH projects now allow for different DB versions within the repo?

Yes. You can create a staging branch (if enough quota) to test the upgraded version of DB.

Are backups made automatically at any stage of the Upgrade process?

When the client imports the database in production, it will automatically create a backup of the current state.

How to restore the backup to the SH DB?

Picture 11

##On-Premise Questions

Will Odoo support self-hosted customers?

The Upgrade process ensures the core Odoo functionalities are available to the customers. However, custom codes should be supported by the customer or partner themselves.

How to get an upgrade for on-premise not connected to the internet?

Either connect to the Internet for the upgrading period, or contact AM to send a PS staff (this incurs consultation fees).

If we upload DB using the shell upgrade option, must we keep the shell alive during the upgrade?

No, if it is interrupted and relaunched, the script will know that you are in the midst of the upgrade as long as the server itself is not restarted.

Additional Documentations/References

(1) General Guide to Upgrade Odoo → https://upgrade.odoo.com/

(2) Odoo V15 Upgrades Keynote → https://www.youtube.com/watch?v=t4M02gyOuTI&t=730s

(3) Upgrade FAQ → https://www.odoo.com/documentation/14.0/administration/upgrade/faq.html

(4) SH Guide → https://www.odoo.com/documentation/14.0/administration/upgrade/odoo_sh.html

(5) Supported Versions on Odoo → https://www.odoo.com/documentation/14.0/administration/maintain/supported_versions.html

(6) Upgrade SLA → https://www.odoo.com/documentation/14.0/administration/upgrade/service_level.html

(7) Odoo Saas Upgrade V14 → https://www.youtube.com/watch?v=8RVnbAG5W1s

(8) Odoo SH Upgrade V14 → https://www.youtube.com/watch?v=pMVcjeLSs