Troubleshooting

"Troubleshooting: a deployment failed"

How to find the log of a failed deployment job, the most common causes, and how to retry with a soft restart.

Where to look first: the job log

Every deployment runs as a job in the queue, and every job keeps a log. That log is almost always where the answer is.

  1. Open the Queue page. Each job shows its type (deploy, restart, upgrade, backup, and so on) and a status badge: Pending, Running, In Progress, Completed, or Failed.
  2. Find the failed job and open its Job Log. The log opens in a modal; for jobs that are still active it refreshes live every few seconds.
  3. Read the last lines of the log. Errors usually appear near the end.

You can also see the same jobs from inside an instance: open the instance Console and switch to the Queue tab, which lists the recent jobs for that instance with a Refresh button. Clicking a job there opens the same log modal.

Common causes you can fix yourself

  • Wrong or missing branch: if the branch name the instance points at does not exist in your repository (renamed or deleted), the code cannot be pulled. Check the branch in your repository.
  • Code errors during module upgrade: a Python error or a bad XML file in your addons will abort the upgrade. The traceback in the job log tells you which module and file failed. Fix the code, push, and deploy again.
  • Server offline: if the server cannot be reached, no job can run on it. Check the server's status badge (Online or Offline) on the Servers page before retrying.

Retrying

After fixing the cause, retry with a Soft Restart: in the instance Console, click Restart and choose Soft Restart. This restarts Odoo and upgrades modules, so a failed module upgrade gets another attempt with your corrected code. Hard Restart restarts the Docker container instead; use it when the whole container is misbehaving rather than to rerun a module upgrade.

The restart itself appears as a new job in the Queue, so you can follow its log the same way.

When to escalate

Open a support ticket (see "Opening a support ticket", slug support-tickets) when:

  • The job log shows an error that does not come from your own code.
  • Jobs stay Pending or Running for an unusually long time with no progress in the log.
  • The same deployment keeps failing after you have fixed the visible cause.

In the ticket, set the Issue Type to Instance (or Server), attach the resource, and paste the relevant part of the job log, especially the final lines. That log is the single most useful thing you can include.

Still stuck? Open a ticket from the app or talk to an engineer.