Unable to upgrade (OD-431)
Shamil opened 4 years ago

I'm trying to upgrade OneDev for 4.x to 5.3, however, the container fails with the following:

--> Wrapper Started as Console
Java Service Wrapper Standard Edition 64-bit 3.5.44
  Copyright (C) 1999-2020 Tanuki Software, Ltd. All Rights Reserved.
    http://wrapper.tanukisoftware.com
  Licensed to OneDev for Service Wrapping

Launching a JVM...
WrapperManager: Initializing...
INFO  - Launching application from '/app'...
INFO  - Initializing dependency injection container...
INFO  - Starting plugin manager...
INFO  - Upgrading /opt/onedev...
INFO  - >>> INFO  - Launching application from '/opt/onedev'...
INFO  - >>> INFO  - Cleaning temp directory...
INFO  - >>> INFO  - Initializing dependency injection container...
INFO  - >>> INFO  - Starting plugin manager...
INFO  - >>> ERROR - Data version mismatch (app data version: 58, db data version: 57)
ERROR - Unable to upgrade specified installation due to above error
<-- Wrapper Stopped
--> Wrapper Started as Console
Java Service Wrapper Standard Edition 64-bit 3.5.44
  Copyright (C) 1999-2020 Tanuki Software, Ltd. All Rights Reserved.
    http://wrapper.tanukisoftware.com
  Licensed to OneDev for Service Wrapping

Launching a JVM...
WrapperManager: Initializing...
02:02:51 INFO  i.o.c.launcher.bootstrap.Bootstrap - Launching application from '/opt/onedev'...
02:02:51 INFO  i.o.c.launcher.bootstrap.Bootstrap - Cleaning temp directory...
02:02:51 INFO  i.o.c.launcher.loader.AppLoader - Initializing dependency injection container...
02:02:53 INFO  i.o.c.launcher.loader.AppLoader - Starting plugin manager...
02:02:56 ERROR i.o.s.p.DefaultPersistManager - Data version mismatch (app data version: 58, db data version: 57)
<-- Wrapper Stopped

This is running in Kubernetes, so I can easily change versions. So far, I tried intermediate steps and no dice.

  • Robin Shen commented 4 years ago

    From which 4.x version are you performing the upgrade? Please note that OneDev only supports migration between official releases.

  • Shamil commented 4 years ago

    @robin from 4.7.0

    Even after reverting to 4.7.0, it fails.

  • Robin Shen commented 4 years ago

    Please run below command to get a terminal for OneDev server:

    kubectl exec -it -n onedev <onedev-pod-name> bash
    

    Then run below command to post the output here:

    ls /opt/onedev/lib/io.onedev.server*.jar
    
  • Shamil commented 4 years ago
    kubectl exec -it onedev-76857fc969-fb4zk -- bash
    root@onedev-76857fc969-fb4zk:/# ls /opt/onedev/lib/io.onedev.server*.jar
    /opt/onedev/lib/io.onedev.server-core-4.7.0.jar                       
    /opt/onedev/lib/io.onedev.server-plugin-executor-docker-4.7.0.jar      
    /opt/onedev/lib/io.onedev.server-plugin-report-clover-4.7.0.jar
    /opt/onedev/lib/io.onedev.server-plugin-authenticator-ldap-4.7.0.jar  
    /opt/onedev/lib/io.onedev.server-plugin-executor-kubernetes-4.7.0.jar  
    /opt/onedev/lib/io.onedev.server-plugin-report-jest-4.7.0.jar
    /opt/onedev/lib/io.onedev.server-plugin-buildspec-gradle-4.7.0.jar    
    /opt/onedev/lib/io.onedev.server-plugin-import-github-4.7.0.jar        
    /opt/onedev/lib/io.onedev.server-plugin-report-markdown-4.7.0.jar
    /opt/onedev/lib/io.onedev.server-plugin-buildspec-maven-4.7.0.jar     
    /opt/onedev/lib/io.onedev.server-plugin-import-youtrack-4.7.0.jar      
    /opt/onedev/lib/io.onedev.server-plugin-sso-openid-4.7.0.jar
    /opt/onedev/lib/io.onedev.server-plugin-buildspec-node-4.7.0.jar      
    /opt/onedev/lib/io.onedev.server-plugin-report-checkstyle-4.7.0.jar    
    /opt/onedev/lib/io.onedev.server-product-4.7.0.jar
    
  • Robin Shen commented 4 years ago

    Please do the following:

    1. Open a local terminal and change to maintenance folder of OnDev's k8s-resources directory
    2. Run command kubectl apply -k .
    3. Login to OneDev terminal by running kubectl exec command above
    4. Post output by running `ls /app/lib/io.onedev.server*.jar
    5. Run command /opt/onedev/bin/server.sh console to see if OneDev can be started. If not, please post console logout
  • Shamil commented 4 years ago
    kubectl exec -it  onedev-59cfbbc7dc-dhcqk -- bash
    root@onedev-59cfbbc7dc-dhcqk:/# ls /app/lib/io.onedev.server*.jar
    /app/lib/io.onedev.server-core-4.7.0.jar                       /app/lib/io.onedev.server-plugin-executor-docker-4.7.0.jar      /app/lib/io.onedev.server-plugin-report-clover-4.7.0.jar
    /app/lib/io.onedev.server-plugin-authenticator-ldap-4.7.0.jar  /app/lib/io.onedev.server-plugin-executor-kubernetes-4.7.0.jar  /app/lib/io.onedev.server-plugin-report-jest-4.7.0.jar
    /app/lib/io.onedev.server-plugin-buildspec-gradle-4.7.0.jar    /app/lib/io.onedev.server-plugin-import-github-4.7.0.jar        /app/lib/io.onedev.server-plugin-report-markdown-4.7.0.jar
    /app/lib/io.onedev.server-plugin-buildspec-maven-4.7.0.jar     /app/lib/io.onedev.server-plugin-import-youtrack-4.7.0.jar      /app/lib/io.onedev.server-plugin-sso-openid-4.7.0.jar
    /app/lib/io.onedev.server-plugin-buildspec-node-4.7.0.jar      /app/lib/io.onedev.server-plugin-report-checkstyle-4.7.0.jar    /app/lib/io.onedev.server-product-4.7.0.jar
    root@onedev-59cfbbc7dc-dhcqk:/# /opt/onedev/bin/server.sh console
    Running OneDev...
    --> Wrapper Started as Console
    Java Service Wrapper Standard Edition 64-bit 3.5.44
      Copyright (C) 1999-2020 Tanuki Software, Ltd. All Rights Reserved.
        http://wrapper.tanukisoftware.com
      Licensed to OneDev for Service Wrapping
    
    Launching a JVM...
    WrapperManager: Initializing...
    05:09:34 INFO  i.o.c.launcher.bootstrap.Bootstrap - Launching application from '/opt/onedev'...
    05:09:34 INFO  i.o.c.launcher.bootstrap.Bootstrap - Cleaning temp directory...
    05:09:34 INFO  i.o.c.launcher.loader.AppLoader - Initializing dependency injection container...
    05:09:36 INFO  i.o.c.launcher.loader.AppLoader - Starting plugin manager...
    05:09:40 ERROR i.o.s.p.DefaultPersistManager - Data version mismatch (app data version: 58, db data version: 57)
    <-- Wrapper Stopped
    
  • Robin Shen commented 4 years ago

    Version 4.7.0 has a bug upgrading to new versions. To fix this, please copy this file into /opt/onedev/lib to override existing file. Then OneDev should be able to start by running /opt/onedev/bin/server.sh console

    If it starts fine, stop the server, and exit the terminal. From your local terminal, change to directory <OneDev k8s dir>/production, edit kustomization.yaml to change version to 5.3.0, and apply the change to upgrade to 5.3.0

  • Shamil commented 4 years ago

    @robin - thanks, that worked :) it looks like I've lost some projects though?

  • Robin Shen commented 4 years ago

    All projects should be migrated. Make sure you are login as admin to check if projects are there.

  • Shamil commented 4 years ago

    I can confirm some projects have been lost and that the oldest activity listed in the projects was around 4 months ago, the last time I upgraded the server. I’ve noticed that some files appear to be more recent which is good news

    I’ve a copy of the repos anyway so I can push them up.

  • Robin Shen commented 4 years ago

    The buggy 4.7.0 release prevents projects from writing to database, and it explains why modifications after that are not persistent. Also make sure to schedule auto daily-backup for database.

  • Shamil commented 4 years ago

    Ah gotcha - thanks!

  • OneDev referenced from other issue 4 years ago
  • Robin Shen changed state to 'Closed' 4 years ago
    Previous Value Current Value
    Open
    Closed
issue 1/1
Type
Question
Priority
Major
Assignee
Issue Votes (0)
Watchers (3)
Reference
OD-431
Please wait...
Connection lost or session expired, reload to recover
Page is in error, reload to recover