devspace icon indicating copy to clipboard operation
devspace copied to clipboard

AutoReload functionality removed before a replacement is available

Open ComaVN opened this issue 3 years ago • 2 comments

What happened? I upgraded devspace, and tried to run my existing devspace projects in version 6.1.1

Devspace tells me:

error Auto reload is not supported anymore in DevSpace version 6 and has no effect. Please update your config and use rerunning jobs instead

In the 6.0.0 release notes, it says: This functionality was removed from DevSpace and will be replaced in future by automatically reloading pipelines

I could not find any further information about reloading pipelines, so I'm not sure if these are implemented yet, and if so, how to use them to replace the old autoReload functionality

What did you expect to happen instead? I expect breaking changes to have a working replacement, and some documentation on how to achieve the same functionality using the new system

How can we reproduce the bug? (as minimally and precisely as possible)

My devspace.yaml:

version: v1beta11
images:
  server:
(...)
deployments:
  - name: to-devacct-cluster
    kubectl:
      replaceImageTags: true
      kustomize: true
      manifests:
        - manifests/overlays/development/devspace
      cmdPath: custom-kubectl-for-devspace
dev:
  ports:
    - imageSelector: image(server):tag(server)
      forward:
        - port: 8081
          remotePort: 8080
        - port: 2345
  sync:
    - imageSelector: image(server):tag(server)
      localSubPath: container/server
      containerPath: /app
      initialSyncCompareBy: size
      onUpload:
        restartContainer: true
        execRemote:
          command: sh
          args:
            - -c
            - "killall __debug_bin || true"
  autoReload:
    images:
      - server
    paths:
      - devspace.yaml
      - manifests/base/*
      - manifests/overlays/development/devspace/*
      - manifests/overlays/development/devspace/secrets/*

Local Environment:

  • DevSpace Version: 6.1.1
  • Operating System: linux
  • ARCH of the OS: AMD64

Kubernetes Cluster:

  • Cloud Provider: other
  • Kubernetes Version: Client v1.25.1, Server v1.24.3

Anything else we need to know?

/kind bug

ComaVN avatar Sep 19 '22 11:09 ComaVN

Hello! Thanks for reaching out.

autoReload is replaced by the run_watch pipeline function. Here's an example of adding a command that uses run_watch based on your current configuration:

commands:
  - name: reload
    command: |-
      run_watch --path devspace.yaml \
                --path manifests/base/* \
                --path manifests/overlays/development/devspace/* \
                --path manifests/overlays/development/devspace/secrets/* \
                -- devspace dev

The you'll be able to run devspace run reload and have similar functionality as before.

You can use this from your existing devspace.yaml, but if you wish to upgrade to the v2beta1 schema, running devspace print --skip-info > devspace_v6.yaml will do a basic conversion. You may need to add back in any variable substitutions.

I hope this helps!

lizardruss avatar Sep 19 '22 14:09 lizardruss

Thanks for the quick and informative response, I was hoping to be able to put off migrating to the new config format, but alas.

Would it be a good idea to document this somewhere a bit more visible?

ComaVN avatar Sep 20 '22 14:09 ComaVN

We have this example, but I agree that showing a practical usage in the docs would be an improvement.

The command approach should work with the older config format, however if you're upgrading to the newer format then restartContainer flag under sync, might be preferred over run_watch.

lizardruss avatar Sep 21 '22 22:09 lizardruss

Hello, @ComaVN !

Thanks again for bringing this issue to our attention! We appreciate your suggestion for improving the documentation and have taken the tip with us.

I will close this issue for now. If there's anything we can further support you with, please don't hesitate to contact us!

alexandradragodan avatar Oct 24 '22 09:10 alexandradragodan