This question has been flagged
2 Replies
21548 Views

I made a backup of my production server and restored it on my test server.

When I started the database on my test server there was a long list of errors ending with:

File "/var/packages/OpenERP6.1/target/openerp/addons/base/ir/ir_model.py", line 509, in check
    if self.pool.get(model_name).is_transient():
AttributeError: 'NoneType' object has no attribute 'is_transient'
  • Note 1: Restore on production server give no errors.
  • Note 2: The restore is functioning on the test server, but I think it only need time to have this in trouble.
  • Note 3: In the settings menu the menu entry modules is missing.
  • Note 4: Production server uses python 2.7.2-006, v6.1.1-011. For the testserver these are Python 2.7.3-011 and v6.1.1-012.

I think the cause is there are some differences in installed modules. The difference is sure because testserver is a fresh installation and production server has some additionals. I have well documented them.

Why this question?

It is a test in how to trouble shoot restore problems in future critic situations like hardware failure. And I think the result is important for the community.

If the differences in modules is the cause please confirm.

My question is now:

How effectively trouble shoot in these situations this problem?

Avatar
Discard

What are the builds (or revisions of each branch) of OpenERP and versions of Postgres on each server?

Author

Thanks for your comment! In Note 4 are the numbers of the installers that I used for my Synology servers. It are prepared packages for their servers. I will try to get the answers from them or do you think I can see it somewhere in the coding?

You should have exact the same versions in Prod, Test and Dev. Otherwise you will never know whether a tested module also runs in production without any problems.

Author

Thanks Brueckl. This is the other reasons I want to test this. If I have the test server up and running, I am able to migrate the software on the production server without risk ;-) .

Author Best Answer

I solved it and I report back what it did.

First some response on earlier comments:

  • Ray Carnes I don't know the builds of my installed software. It is a special prepared package from Synology. I need two clicks for install. One for install of Python and one for install of OpenERP itself. The version number I see is 6.1.1-012. Python is 2.7.3-011. In the file OpenERP6.1.1/openerp/release.py i do not see anything looking like version = "6.1-20121004-232945".
  • Andreas Brueckle you are right for problem solving you need the same versions on both production and test. But for testing changes it is by definition needed to have differences in small steps. The problems I have seen where - I am almost sure - not originated in differences in versions of in the installation. I think it has something todo with settings.

I already installed BeautifulSoup.py in the needed directory. In my installation this is root/Volume1/@appstore/Python/usr/local/lib/Python2.7/site-packages/

I had the idea to prepare the installation for "specialties" in the installation I wanted to restore. So I installed all the specialties in a testdatabase.

  1. Make a TEST database.
  2. Add besides the default language EN US, the languages EN UK and Dutch / Nederlands.
  3. As admin with extended view I changed the menu. I added Module Import.
  4. Import the Dutch localisation mudules: account_banking account_banking_nl_ing account_iban_preserve_domestic trp_update_tax
  5. Import mass_editing
  6. Install all these modules including ln10n-nl, crm_todo, account_asset, stock, sale, account_accountant, account_cancel
  7. Install basereport_designer ( first I forgot this and there was still an error at restore.)
  8. Restart server

After all these steps I was able to restore my original database without errors!

So for me it was needed to put all earlier used modules in the modulelist of the dummy database but also to install them in the dummy database, before they where able to do their work for the restored database.

Maybe I have done more than the needed steps, so if somebody has suggestions ...

  • Like why did this work or
  • what steps are not needed.

I don't know why but for me this worked and I shall use it in my restore procedures as long as I don't have a better procedure.

Avatar
Discard
Best Answer

Having different modules in the server where you restored the database can bring up that kind or errors.

You need to copy the addons modules from thee production server to the test server, start the test server, and try to use the restored database.

If it still doesn't work try updating all modules, starting the test server with the option -u all.

Avatar
Discard