Hello,
We are using ERPNext with Helm Chart. A few weeks ago, we activate the Migration job. Everything was working perfectly. I just came back from holidays, tried to deploy some changes on my API endpoint (nothing fancy) and I end up with a broken environment. The migration job fails on the migration of frappe DocTypes for the following reason :
stream closed EOF for mvdch-staging/migrate-sites-on-deploy-mvd-erpnextdvr84-rvhxt (set-maintenance-mode)
migrate Migrating
migrate
Updating DocTypes for frappe : [ ]
migrate Traceback (most recent call last):
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/utils.py”, line 204, in load_doctype_module
migrate doctype_python_modules[key] = frappe.get_module(module_name)
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 870, in get_module
migrate return importlib.import_module(modulename)
migrate File “/usr/local/lib/python3.7/importlib/init.py”, line 127, in import_module
migrate return _bootstrap._gcd_import(name[level:], package, level)
migrate File “”, line 1006, in _gcd_import
migrate File “”, line 983, in _find_and_load
migrate File “”, line 967, in _find_and_load_unlocked
migrate File “”, line 677, in _load_unlocked
migrate File “”, line 728, in exec_module
migrate File “”, line 219, in _call_with_frames_removed
migrate File “/home/frappe/frappe-bench/apps/erpnext/erpnext/buying/doctype/supplier/supplier.py”, line 11, in
migrate from erpnext.accounts.party import validate_party_accounts, get_dashboard_info, get_timeline_data # keep this
migrate File “/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/party.py”, line 12, in
migrate from frappe.contacts.doctype.address.address import (get_address_display,
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/contacts/doctype/address/address.py”, line 12, in
migrate from jinja2 import TemplateSyntaxError
migrate File “/home/frappe/frappe-bench/env/lib/python3.7/site-packages/jinja2/init.py”, line 12, in
migrate from .environment import Environment
migrate File “/home/frappe/frappe-bench/env/lib/python3.7/site-packages/jinja2/environment.py”, line 25, in
migrate from .defaults import BLOCK_END_STRING
migrate File “/home/frappe/frappe-bench/env/lib/python3.7/site-packages/jinja2/defaults.py”, line 3, in
migrate from .filters import FILTERS as DEFAULT_FILTERS # noqa: F401
migrate File “/home/frappe/frappe-bench/env/lib/python3.7/site-packages/jinja2/filters.py”, line 13, in
migrate from markupsafe import soft_unicode
migrate ImportError: cannot import name ‘soft_unicode’ from ‘markupsafe’ (/home/frappe/frappe-bench/env/lib/python3.7/site-packages/markupsafe/init.py)
migrate
migrate During handling of the above exception, another exception occurred:
migrate
migrate Traceback (most recent call last):
migrate File “/home/frappe/frappe-bench/commands/migrate.py”, line 52, in
migrate main()
migrate File “/home/frappe/frappe-bench/commands/migrate.py”, line 45, in main
migrate migrate_sites()
migrate File “/home/frappe/frappe-bench/commands/migrate.py”, line 36, in migrate_sites
migrate migrate()
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/migrate.py”, line 50, in migrate
migrate frappe.model.sync.sync_all(verbose=verbose)
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/model/sync.py”, line 19, in sync_all
migrate sync_for(app, force, verbose=verbose, reset_permissions=reset_permissions)
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/model/sync.py”, line 56, in sync_for
migrate reset_permissions=reset_permissions, for_sync=True)
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/import_file.py”, line 66, in import_file_by_path
migrate ignore_version=ignore_version, reset_permissions=reset_permissions)
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/import_file.py”, line 141, in import_doc
migrate doc.insert()
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 260, in insert
migrate self.run_post_save_methods()
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 936, in run_post_save_methods
migrate self.run_method(“on_update”)
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 806, in run_method
migrate out = Document.hook(fn)(self, *args, **kwargs)
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 1085, in composer
migrate return composed(self, method, *args, **kwargs)
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 1068, in runner
migrate add_to_return_value(self, fn(self, *args, **kwargs))
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 800, in
migrate fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 300, in on_update
migrate self.run_module_method(“on_doctype_update”)
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 369, in run_module_method
migrate module = load_doctype_module(self.name, self.module)
migrate File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/utils.py”, line 206, in load_doctype_module
migrate raise ImportError(‘Module import failed for {0} ({1})’.format(doctype, module_name + ’ Error: ’ + str(e)))
migrate ImportError: Module import failed for Supplier (erpnext.buying.doctype.supplier.supplier Error: cannot import name ‘soft_unicode’ from ‘markupsafe’ (/home/frappe/frappe-bench/env/lib/python3.7/site-packages/markupsafe/init.py))
Stream closed EOF for mvdch-staging/migrate-sites-on-deploy-mvd-erpnextdvr84-rvhxt (populate-assets)
Stream closed EOF for mvdch-staging/migrate-sites-on-deploy-mvd-erpnextdvr84-rvhxt (migrate)
Does any of you have a hint for me? We didn’t change anything, execept code within an app.
We are using ERPNext v12
Thanks in advance.
Benoit