App migration failure during SCALE 24.04.02 -> 24.10.02 upgrade - mount path already in use

Hey there, did you ever resolve this?

I’ve run into the same issue, except with Deluge not Plex.


I also know what the problem is because I’ve run into it before when I was migrating my apps to a different pool, but I don’t know how to solve it.

Basically, when I first installed Deluge it had an option to choose the Downloads directory. I didn’t change it at the time and it defaulted to an ixVolume, which was fine because I mounted a separate media directory as well which I was using to download directly into my media library.

Somewhere down the line I wanted to use the default /downloads directory for some things but didn’t want the downloaded data somewhere hidden in the ix-applications dataset. So I went to change the option, but it turns out that setting is immutable once set:

Excerpt from Deluge chart because I can't post links
https://github.com/truenas/charts/commit/d77d46640da15f0583b95953539c806861957b11#diff-2a138a84a2f40068bc3102b56a5c94abf430e2ce1bb500545a600280ba0963f5R167-R204
        - variable: downloads
          label: Deluge Downloads Storage
          description: The path to store Deluge Downloads.
          schema:
            type: dict
            attrs:
              - variable: type
                label: Type
                description: |
                  ixVolume: Is dataset created automatically by the system.</br>
                  Host Path: Is a path that already exists on the system.
                schema:
                  type: string
                  required: true
                  default: "ixVolume"
                  enum:
                    - value: "hostPath"
                      description: Host Path (Path that already exists on the system)
                    - value: "ixVolume"
                      description: ixVolume (Dataset created automatically by the system)
              - variable: datasetName
                label: Dataset Name
                schema:
                  type: string
                  show_if: [["type", "=", "ixVolume"]]
                  required: true
                  hidden: true
                  immutable: true
                  default: "downloads"
                  $ref:
                    - "normalize/ixVolume"
              - variable: hostPath
                label: Host Path
                schema:
                  type: hostpath
                  show_if: [["type", "=", "hostPath"]]
                  immutable: true
                  required: true

I’m not sure why that was done, but either way I was able to just add a Host Path mount that mounted to /downloads and that worked for over a year.

Fast forward to me migrating my apps pool when I ran into a similar issue already, it wouldn’t start the container because of the duplicate mount path.

Solution:

  1. Edit application to remove the Host Path mount
  2. Start Deluge once, then stop it again
  3. Edit application to add back the Host Path mount
  4. :tada:

It seems that on first creating the container it checks for the duplicate paths, but on further starts it allows an override? Maybe that was a bug that worked in my favor? IDK how or why that worked, but it did.

Either way, I suspect the solution is the exact same here, but I don’t know how to go about it.

Can I just boot back into Dragonfish, edit Deluge to remove the Host Path, boot back into Electric Eel and to the migration again? Then change or add the Host Path back?