Debugged with Codex. And finally started up the server.
I fixed this by editing the following file inside the AMP container:
/AMP/duneawakening/extracted/db-utils/root/PSQL/funcomdb/installation/api.py
Inside __run_cmd(), find:
line = await asyncio.wait_for(protocol.stdout.read(4*1024), timeout=2.0)
is_eof = len(line) == 0
output += line
Change it to:
line = await asyncio.wait_for(protocol.stdout.read(4*1024), timeout=2.0)
is_eof = len(line) == 0
output += line
if is_eof:
await asyncio.sleep(0)
Then restart the AMP application.
After this change, schema migration completed successfully:
[migrate] DB migrations complete: success
After that I got another timeout while starting RabbitMQ:
[mq-game] [ERROR] RabbitMQ game broker failed to listen within 60s
RabbitMQ was still starting and became ready after the 60 second check had already failed.
Edit both files:
/AMP/duneawakening/scripts/start-mq-admin.sh
/AMP/duneawakening/scripts/start-mq-game.sh
In start-mq-admin.sh, change:
if wait_for_port 127.0.0.1 "$DUNE_MQ_ADMIN_PORT" 60; then
to:
if wait_for_port 127.0.0.1 "$DUNE_MQ_ADMIN_PORT" 180; then
In start-mq-game.sh, change:
if wait_for_port "$DUNE_BIND_IP" "$DUNE_MQ_GAME_PORT" 60; then
to:
if wait_for_port "$DUNE_BIND_IP" "$DUNE_MQ_GAME_PORT" 180; then
After this change, both RabbitMQ services completed startup successfully:
[mq-admin] [INFO] RabbitMQ admin broker ready: success
[mq-game] [INFO] RabbitMQ game broker ready: success