canonical / charm-juju-backup-all

Juju Backup All - a charm to perform Juju and database backups
Apache License 2.0
1 stars 5 forks source link

juju controller backup fails after upgrade/migration to juju v3.5.3 #42

Closed canonikamal closed 1 month ago

canonikamal commented 2 months ago

Hello

we've recently upgraded an environment from juju version 2.9 to 3.5.3 and the backup of juju controllers fails while establishing connection to the controller api with:

Traceback (most recent call last):
  File "/var/lib/jujubackupall/auto_backup.py", line 274, in <module>
    auto_backup.run()
  File "/var/lib/jujubackupall/auto_backup.py", line 228, in run
    backup_results = self.perform_backup(omit_models=args.omit_models)
  File "/var/lib/jujubackupall/auto_backup.py", line 145, in perform_backup
    backup_results = backup_processor.process_backups(omit_models=omit_models)
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/jujubackupall/process.py", line 103, in process_backups
    controller_processor.backup_controller()
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/jujubackupall/process.py", line 124, in backup_controller
    resulting_backup_path = controller_backup.backup()
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/jujubackupall/backup.py", line 150, in backup
    local_backup_filename, result_dict = backup_controller(self.controller)
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/jujubackupall/utils.py", line 184, in backup_controller
    controller_model: Model = run_async(controller.get_model("controller"))
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/jujubackupall/async_handlers.py", line 25, in run_async
    return loop.run_until_complete(func)
  File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/juju/controller.py", line 631, in get_model
    await model._connect_direct(**kwargs)
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/juju/model.py", line 733, in _connect_direct
    await self._connector.connect(**kwargs)
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/juju/client/connector.py", line 100, in connect
    self._connection = await Connection.connect(**kwargs)
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/juju/client/connection.py", line 355, in connect
    await self._connect_with_redirect([_ep])
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/juju/client/connection.py", line 901, in _connect_with_redirect
    login_result = await self._connect_with_login(endpoints)
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/juju/client/connection.py", line 868, in _connect_with_login
    await self._connect(endpoints)
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/juju/client/connection.py", line 817, in _connect
    result = await task
  File "/usr/lib/python3.8/asyncio/tasks.py", line 619, in _wait_for_one
    return f.result()  # May raise f.exception().
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/juju/client/connection.py", line 806, in _try_endpoint
    return await self._open(endpoint, cacert)
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/juju/client/connection.py", line 427, in _open
    return (await websockets.connect(
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/websockets/legacy/client.py", line 647, in __await_impl_timeout__
    return await self.__await_impl__()
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/websockets/legacy/client.py", line 654, in __await_impl__
    await protocol.handshake(
  File "/var/lib/juju/agents/unit-juju-backup-all-0/charm/venv/websockets/legacy/client.py", line 325, in handshake
    raise InvalidStatusCode(status_code, response_headers)
websockets.exceptions.InvalidStatusCode: server rejected WebSocket connection: HTTP 400

Thanks & regards

canonikamal commented 1 month ago

Was pointing to the older charm, moved it to https://charmhub.io/bootstack-charmers-juju-backup-all Issue doesn't exist here. Closing this issue.