[Bug] Upgrade from 0.22.3 to 0.23.0-beta2 loses/forgets routes #766

Closed
opened 2025-12-29 02:23:45 +01:00 by adam · 6 comments
Owner

Originally created by @RichardMore on GitHub (Aug 20, 2024).

Is this a support request?

  • This is not a support request

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Routes that are advertised and approved in instance running version 0.22.3 are lost/forgotten after upgrading the config to 0.23.0-beta2. Also re-advertising the routes on the nodes that already shared them do not show up at all, restarting device or tailscale service doesn't seem to have any effect.

Expected Behavior

Routes migrated, show up under routes and other nodes can access them.

Steps To Reproduce

docker-compose.yml

services:
  headscale:
    image: headscale/headscale:0.22.3
    restart: unless-stopped
    networks:
      - traefik
    volumes:
      - ./headscale-config:/etc/headscale
      - ./headscale-data:/var/lib/headscale
    command: headscale serve
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik"
      - "traefik.http.routers.headscale.entrypoints=https"
      - "traefik.http.routers.headscale.rule=Host(`X.Y`)"
      - "traefik.http.routers.headscale.tls.certResolver=ledns"
      - "traefik.http.services.headscale.loadbalancer.server.port=8080"
networks:
  traefik:
    external: true

Advertise routes, check that the show up
Change compose file image: headscale/headscale:v0.23.0-beta2, command: serve
Check routes, and re-advertise

Environment

- OS: Ubuntu 20.04.6 LTS
- Headscale version: 0.22.3 to 0.23.0-beta2
- Tailscale version:  1.70.0

Runtime environment

  • Headscale is behind a (reverse) proxy
  • Headscale runs in a container

Anything else?

No response

Originally created by @RichardMore on GitHub (Aug 20, 2024). ### Is this a support request? - [X] This is not a support request ### Is there an existing issue for this? - [X] I have searched the existing issues ### Current Behavior Routes that are advertised and approved in instance running version 0.22.3 are lost/forgotten after upgrading the config to 0.23.0-beta2. Also re-advertising the routes on the nodes that already shared them do not show up at all, restarting device or tailscale service doesn't seem to have any effect. ### Expected Behavior Routes migrated, show up under routes and other nodes can access them. ### Steps To Reproduce docker-compose.yml ``` services: headscale: image: headscale/headscale:0.22.3 restart: unless-stopped networks: - traefik volumes: - ./headscale-config:/etc/headscale - ./headscale-data:/var/lib/headscale command: headscale serve labels: - "traefik.enable=true" - "traefik.docker.network=traefik" - "traefik.http.routers.headscale.entrypoints=https" - "traefik.http.routers.headscale.rule=Host(`X.Y`)" - "traefik.http.routers.headscale.tls.certResolver=ledns" - "traefik.http.services.headscale.loadbalancer.server.port=8080" networks: traefik: external: true ``` Advertise routes, check that the show up Change compose file `image: headscale/headscale:v0.23.0-beta2`, `command: serve` Check routes, and re-advertise ### Environment ```markdown - OS: Ubuntu 20.04.6 LTS - Headscale version: 0.22.3 to 0.23.0-beta2 - Tailscale version: 1.70.0 ``` ### Runtime environment - [X] Headscale is behind a (reverse) proxy - [X] Headscale runs in a container ### Anything else? _No response_
adam added the bug label 2025-12-29 02:23:45 +01:00
adam closed this issue 2025-12-29 02:23:45 +01:00
Author
Owner

@kradalby commented on GitHub (Aug 21, 2024):

Could you query in the database to see if they are present? Are they dropped or just not migrated/readable?

@kradalby commented on GitHub (Aug 21, 2024): Could you query in the database to see if they are present? Are they dropped or just not migrated/readable?
Author
Owner

@RichardMore commented on GitHub (Aug 21, 2024):

The routes table is empty, advertising new route is not populating it either.

@RichardMore commented on GitHub (Aug 21, 2024): The routes table is empty, advertising new route is not populating it either.
Author
Owner

@kradalby commented on GitHub (Aug 21, 2024):

do you have a copy of the database I could have?

@kradalby commented on GitHub (Aug 21, 2024): do you have a copy of the database I could have?
Author
Owner

@RichardMore commented on GitHub (Aug 21, 2024):

I've emailed the upgraded DB to you

@RichardMore commented on GitHub (Aug 21, 2024): I've emailed the upgraded DB to you
Author
Owner

@kradalby commented on GitHub (Aug 21, 2024):

Do you also have the 0.22.3 backup? that is what I would need for testing.

@kradalby commented on GitHub (Aug 21, 2024): Do you also have the 0.22.3 backup? that is what I would need for testing.
Author
Owner

@kradalby commented on GitHub (Aug 23, 2024):

This should be fixed in #2076, some old poor design of migration is biting us and we dont have enough of an overview to cover all cases. Thanks for reporting, would be great if you can test that branch, otherwise I'll merge and do a new beta soon.

@kradalby commented on GitHub (Aug 23, 2024): This should be fixed in #2076, some old poor design of migration is biting us and we dont have enough of an overview to cover all cases. Thanks for reporting, would be great if you can test that branch, otherwise I'll merge and do a new beta soon.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/headscale#766