Repository: fission/fission (language: go)

Issue:
errors when Skaffold run on GKE
I follow the instructions on the official website to install the fission on GKE. The following is the error information after I run **skaffold run**. How can I fix that?
```
upgrade.go:369: [debug] warning: Upgrade "fission" failed: failed to replace object: PersistentVolumeClaim "fission-storage-pvc" is invalid: spec: Forbidden: spec is immutable after creation except resources.requests for bound claims
  core.PersistentVolumeClaimSpec{
        AccessModes:      {"ReadWriteOnce"},
        Selector:         nil,
        Resources:        {Requests: {s"storage": {i: {...}, Format: "BinarySI"}}},
-       VolumeName:       "",
+       VolumeName:       "pvc-62f966fe-a10f-4ec9-a4ea-e54344797831",
-       StorageClassName: nil,
+       StorageClassName: &"standard",
        VolumeMode:       &"Filesystem",
        DataSource:       nil,
  }


helm.sh/helm/v3/pkg/kube.(*Client).Update
        /home/circleci/helm.sh/helm/pkg/kube/client.go:246
helm.sh/helm/v3/pkg/action.(*Upgrade).performUpgrade
        /home/circleci/helm.sh/helm/pkg/action/upgrade.go:317
helm.sh/helm/v3/pkg/action.(*Upgrade).Run
        /home/circleci/helm.sh/helm/pkg/action/upgrade.go:132
main.newUpgradeCmd.func2
        /home/circleci/helm.sh/helm/cmd/helm/upgrade.go:155
github.com/spf13/cobra.(*Command).execute
        /go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:850
github.com/spf13/cobra.(*Command).ExecuteC
        /go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:958
github.com/spf13/cobra.(*Command).Execute
        /go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:895
main.main
        /home/circleci/helm.sh/helm/cmd/helm/helm.go:80
runtime.main
        /usr/local/go/src/runtime/proc.go:204
runtime.goexit
        /usr/local/go/src/runtime/asm_amd64.s:1374
UPGRADE FAILED
main.newUpgradeCmd.func2
        /home/circleci/helm.sh/helm/cmd/helm/upgrade.go:157
github.com/spf13/cobra.(*Command).execute
        /go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:850
github.com/spf13/cobra.(*Command).ExecuteC
        /go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:958
github.com/spf13/cobra.(*Command).Execute
        /go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:895
main.main
        /home/circleci/helm.sh/helm/cmd/helm/helm.go:80
runtime.main
        /usr/local/go/src/runtime/proc.go:204
runtime.goexit
        /usr/local/go/src/runtime/asm_amd64.s:1374
deploying "fission": install: exit status 1
```
errors when Skaffold run on GKE
I follow the instructions on the official website to install the fission on GKE. The following is the error information after I run **skaffold run**. How can I fix that?
```
upgrade.go:369: [debug] warning: Upgrade "fission" failed: failed to replace object: PersistentVolumeClaim "fission-storage-pvc" is invalid: spec: Forbidden: spec is immutable after creation except resources.requests for bound claims
  core.PersistentVolumeClaimSpec{
        AccessModes:      {"ReadWriteOnce"},
        Selector:         nil,
        Resources:        {Requests: {s"storage": {i: {...}, Format: "BinarySI"}}},
-       VolumeName:       "",
+       VolumeName:       "pvc-62f966fe-a10f-4ec9-a4ea-e54344797831",
-       StorageClassName: nil,
+       StorageClassName: &"standard",
        VolumeMode:       &"Filesystem",
        DataSource:       nil,
  }


helm.sh/helm/v3/pkg/kube.(*Client).Update
        /home/circleci/helm.sh/helm/pkg/kube/client.go:246
helm.sh/helm/v3/pkg/action.(*Upgrade).performUpgrade
        /home/circleci/helm.sh/helm/pkg/action/upgrade.go:317
helm.sh/helm/v3/pkg/action.(*Upgrade).Run
        /home/circleci/helm.sh/helm/pkg/action/upgrade.go:132
main.newUpgradeCmd.func2
        /home/circleci/helm.sh/helm/cmd/helm/upgrade.go:155
github.com/spf13/cobra.(*Command).execute
        /go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:850
github.com/spf13/cobra.(*Command).ExecuteC
        /go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:958
github.com/spf13/cobra.(*Command).Execute
        /go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:895
main.main
        /home/circleci/helm.sh/helm/cmd/helm/helm.go:80
runtime.main
        /usr/local/go/src/runtime/proc.go:204
runtime.goexit
        /usr/local/go/src/runtime/asm_amd64.s:1374
UPGRADE FAILED
main.newUpgradeCmd.func2
        /home/circleci/helm.sh/helm/cmd/helm/upgrade.go:157
github.com/spf13/cobra.(*Command).execute
        /go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:850
github.com/spf13/cobra.(*Command).ExecuteC
        /go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:958
github.com/spf13/cobra.(*Command).Execute
        /go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:895
main.main
        /home/circleci/helm.sh/helm/cmd/helm/helm.go:80
runtime.main
        /usr/local/go/src/runtime/proc.go:204
runtime.goexit
        /usr/local/go/src/runtime/asm_amd64.s:1374
deploying "fission": install: exit status 1
```


Discussion / hints:
This error occurs because in the skaffold config `skaffold.yaml`, we are using the `--force` flag on upgrade. This essentially means calling `helm upgrade --force` which will make helm force resource updates through a replacement strategy.

The `fission-storage-pvc` by default will use dynamic provisioning where k8s will fill in the `storageClassName` for the resource. Since the claim name and storage class values in PVCs are immutable, using the replacement strategy by helm will result in a failure.

Solution here is to remove the `--force` flag from `skaffold.yaml`
This error occurs because in the skaffold config `skaffold.yaml`, we are using the `--force` flag on upgrade. This essentially means calling `helm upgrade --force` which will make helm force resource updates through a replacement strategy.

The `fission-storage-pvc` by default will use dynamic provisioning where k8s will fill in the `storageClassName` for the resource. Since the claim name and storage class values in PVCs are immutable, using the replacement strategy by helm will result in a failure.

Solution here is to remove the `--force` flag from `skaffold.yaml`

Fix patch:
diff --git a/skaffold.yaml b/skaffold.yaml
index df221827da..3f1dcce9da 100644
--- a/skaffold.yaml
+++ b/skaffold.yaml
@@ -73,7 +73,6 @@ deploy:
       upgrade:
       - --timeout=3m
       - --install
-      - --force
       - --debug
 profiles:
 - name: kind


Test patch: