metabrainz / musicbrainz-docker

Docker Compose project for the MusicBrainz Server with replication, search, and development setup
https://musicbrainz.org/doc/MusicBrainz_Server/Setup
306 stars 82 forks source link

Adding Replication Token to Fresh Install Causes KeyError ContainerConfig #285

Closed Spunky17 closed 1 month ago

Spunky17 commented 1 month ago

Please report issues to the most appropriate project and component at https://tickets.metabrainz.org

For informal discussions, simply join MetaBrainz community forums at https://community.metabrainz.org

For instant chat about development, join #metabrainz IRC channel at ircs://irc.libera.chat:6697/metabrainz

Hoping for some assistance and not sure if this is the right place or not as this is over my head. After the latest update install my search docker went into constant restart errors due to a java issue which I could not understand. As I've had issues previously with this machine as the box was an upgrade OS install I wiped the entire install and performed a fresh install under Ubuntu 24.4 LTS. When I go to add my replication token and do a docker-compose up -d as per the instructions I get the error below. If I remove the replication token with a docker-compose rm replication-token the docker builds just fine.

root@musicbrainz-t:/opt/musicbrainz/musicbrainz-docker# admin/configure add replication-token Successfully set/updated COMPOSE_FILE in '/opt/musicbrainz/musicbrainz-docker/.env'. root@musicbrainz-t:/opt/musicbrainz/musicbrainz-docker# docker-compose up -d musicbrainz-docker_search_1 is up-to-date musicbrainz-docker_mq_1 is up-to-date musicbrainz-docker_db_1 is up-to-date musicbrainz-docker_redis_1 is up-to-date musicbrainz-docker_indexer_1 is up-to-date Recreating 69b58dbd7a01_musicbrainz-docker_musicbrainz_1 ...

ERROR: for 69b58dbd7a01_musicbrainz-docker_musicbrainz_1 'ContainerConfig'

ERROR: for musicbrainz 'ContainerConfig' Traceback (most recent call last): File "/usr/bin/docker-compose", line 33, in sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 81, in main command_func() File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 203, in perform_command handler(command, command_options) File "/usr/lib/python3/dist-packages/compose/metrics/decorator.py", line 18, in wrapper result = fn(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1186, in up to_attach = up(False) ^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1166, in up return self.project.up( ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/project.py", line 697, in up results, errors = parallel.parallel_execute( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_execute raise error_to_reraise File "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producer result = func(obj) ^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/project.py", line 679, in do return service.execute_convergence_plan( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/service.py", line 579, in execute_convergence_plan return self._execute_convergence_recreate( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/service.py", line 499, in _execute_convergence_recreate containers, errors = parallel_execute( ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_execute raise error_to_reraise File "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producer result = func(obj) ^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/service.py", line 494, in recreate return self.recreate_container( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/service.py", line 612, in recreate_container new_container = self.create_container( ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/service.py", line 330, in create_container container_options = self._get_container_create_options( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/service.py", line 921, in _get_container_create_options container_options, override_options = self._build_container_volume_options( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/service.py", line 960, in _build_container_volume_options binds, affinity = merge_volume_bindings( ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/service.py", line 1548, in merge_volume_bindings old_volumes, old_mounts = get_container_data_volumes( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/compose/service.py", line 1579, in get_container_data_volumes container.image_config['ContainerConfig'].get('Volumes') or {}


KeyError: 'ContainerConfig'
root@musicbrainz-t:/opt/musicbrainz/musicbrainz-docker#
yvanzo commented 1 month ago

Hi @Spunky17, please provide the versions info:

echo MusicBrainz Docker: `git describe --always --broken --dirty --tags` && \
sudo docker-compose version && sudo docker compose version && \
sudo docker version -f 'Docker Client/Server: {{.Client.Version}}/{{.Server.Version}}'
Spunky17 commented 1 month ago

Hi @yvanzo, as requested. I modified it a bit to remove the "sudo" commands as I'm in as root.

root@musicbrainz-t:/opt/musicbrainz/musicbrainz-docker# echo MusicBrainz Docker: git describe --always --broken --dirty --tags && \ docker-compose version && sudo docker compose version && \ docker version -f 'Docker Client/Server: {{.Client.Version}}/{{.Server.Version}}' MusicBrainz Docker: v-2024-10-21.0-dirty docker-compose version 1.29.2, build unknown docker-py version: 5.0.3 CPython version: 3.12.3 OpenSSL version: OpenSSL 3.0.13 30 Jan 2024 Docker Compose version v2.29.7 Docker Client/Server: 27.3.1/27.3.1 root@musicbrainz-t:/opt/musicbrainz/musicbrainz-docker#

yvanzo commented 1 month ago

The issue might be due to using both docker-compose version 1.29.2 and Docker Compose version v2.29.7.

I suggest you to uninstall the first one, and to use the second one instead.

Spunky17 commented 1 month ago

@yvanzo much appreciate the guidance and patience. i completely missed this! removing the older version of docker-compose and using the new version that is included with the latest docker has resolved the issue.

yvanzo commented 1 month ago

Glad this is resolved for you.

For the record, Docker Compose v2 will be required anyway within a month from now: https://blog.metabrainz.org/2024/09/27/major-upgrade-for-mirrors-november-25-2024/