I’m upgrading an old SeaTable server instance and I ran into errors when following the v.3.0 Extra Upgrade Notices.
What I’ve done so far to upgrade from 2.5.0 to 3.0.0:
- I switched over to the “new style” of docker-compose deployment by following Switch Installation Method (v4.3) - SeaTable Admin Manual
- I successfully upgraded to 3.0.0 by following all the extra upgrade notice steps and running commands such as
docker exec -it seatable-server /shared/seatable/scripts/seatable.sh upgrade-sql 3.0
I’m getting stuck on the last step of Extra Upgrade Notices - SeaTable Admin Manual
When I run these commands:
# list number of bases that are not stored in storage-server
docker exec -it seatable-server /templates/migrate_bases.sh --list
# migrate 10 bases to storage-server (repeat this command until all bases are migrated)
docker exec -it seatable-server /templates/migrate_bases.sh --migrate 10
I get:
╭─mike@app ~/temp/seatable
╰─➤ docker exec -it seatable-server /templates/migrate_bases.sh --list 126 ↵
/opt/seatable/seatable-server-latest/dtable-web/thirdpart/selenium/webdriver/firefox/firefox_profile.py:208: SyntaxWarning: "is" with a literal. Did you mean "=="?
if setting is None or setting is '':
[2024-06-19 16:50:16.034777] Start listing bases in seaf-server.
[2024-06-19 16:50:16.237889] Found 12 bases in seaf-server.
[2024-06-19 16:50:16.240845] List 10 bases info:
Traceback (most recent call last):
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/named_pipe.py", line 85, in _get_transport
transport = self._pool.get(False)
File "/usr/lib/python3.8/queue.py", line 167, in get
raise Empty
_queue.Empty
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/core/management/__init__.py", line 413, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/core/management/base.py", line 354, in run_from_argv
self.execute(*args, **cmd_options)
File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/core/management/base.py", line 398, in execute
output = self.handle(*args, **options)
File "/opt/seatable/seatable-server-4.0.0/dtable-web/seahub/dtable/management/commands/migrate_bases_to_storage_server.py", line 48, in handle
self.list_bases()
File "/opt/seatable/seatable-server-4.0.0/dtable-web/seahub/dtable/management/commands/migrate_bases_to_storage_server.py", line 94, in list_bases
file_size = self._get_file_size(dtable) // 1024
File "/opt/seatable/seatable-server-4.0.0/dtable-web/seahub/dtable/management/commands/migrate_bases_to_storage_server.py", line 103, in _get_file_size
repo = seafile_api.get_repo(repo_id)
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/seaserv/api.py", line 105, in get_repo
return seafserv_threaded_rpc.get_repo(repo_id)
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/client.py", line 125, in newfunc
ret_str = self.call_remote_func_sync(fcall_str)
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/named_pipe.py", line 97, in call_remote_func_sync
transport = self._get_transport()
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/named_pipe.py", line 87, in _get_transport
transport = self._create_transport()
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/named_pipe.py", line 80, in _create_transport
transport.connect()
File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/named_pipe.py", line 44, in connect
self.pipe.connect(self.socket_path)
ConnectionRefusedError: [Errno 111] Connection refused
╭─mike@app ~/temp/seatable
╰─➤ 1 ↵
╭─mike@app ~/temp/seatable
╰─➤ docker exec -it seatable-server /templates/migrate_bases.sh --migrate 10 130 ↵
[2024-06-19 16:54:11.210603] Start migrating bases.
[2024-06-19 16:54:11.227861] Load 10 bases in seaf-server.
[2024-06-19 16:54:11.358577] Migrate base Test failed, UUID: d92ab7e5-424c-4735-8bad-3a2a7583214b, error: [Errno 111] Connection refused
[2024-06-19 16:54:11.460468] Migrate base Finances-Family failed, UUID: 7b4f35cb-f543-4780-b94c-6e993f0f9a2c, error: [Errno 111] Connection refused
[2024-06-19 16:54:11.561970] Migrate base Rent failed, UUID: ea96a476-48d8-4841-986f-bb797d8a5319, error: [Errno 111] Connection refused
[2024-06-19 16:54:11.663757] Migrate base Accounting failed, UUID: 5f5042e3-c44a-484b-ab51-5e155169a5a9, error: [Errno 111] Connection refused
[2024-06-19 16:54:11.765720] Migrate base Health failed, UUID: 7443840c-33fe-449d-be4c-28b225b9d607, error: [Errno 111] Connection refused
[2024-06-19 16:54:11.869658] Migrate base Jesse failed, UUID: bbee0cea-7361-47d5-a06c-fea695f733d5, error: [Errno 111] Connection refused
[2024-06-19 16:54:11.971566] Migrate base Inventory failed, UUID: e44cca81-332c-46a2-92c4-8e3efa3d4dc7, error: [Errno 111] Connection refused
[2024-06-19 16:54:12.073514] Migrate base IMB Controls failed, UUID: 11619fe1-b231-4e04-a119-4eaf26fbd00b, error: [Errno 111] Connection refused
[2024-06-19 16:54:12.175278] Migrate base ByteHound failed, UUID: d477920b-e7fd-43ac-a454-58b058d46f33, error: [Errno 111] Connection refused
[2024-06-19 16:54:12.276844] Migrate base Misc failed, UUID: a6eec87f-6a7f-4641-a0a8-4a752aa16b87, error: [Errno 111] Connection refused
[2024-06-19 16:54:12.277043] Finish migrating bases.
I wasn’t planning on using SeaFile with my SeaTable instance. Is this a requirement or can I get around this issue in a different way?
On a side note, when I used the docker image, seatable/seatable-developer:3.0.0, it didn’t contain /templates/migrate_bases.sh, so I had to use seatable/seatable-developer:4.0.0
Thank you very much for your help!
Mike
Edit: not sure why this is being flagged as spam. If anyone has any tips, please let me know.