utkuozdemir / pv-migrate

CLI tool to easily migrate Kubernetes persistent volumes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

helm-set fullnameOverride - deployment not ready

josepowera opened this issue Β· comments

Describe the bug
Copying between 2 clusters. When we define fullnameOverride source deployment does not get ready (as detected in pv-migrate). As we see in kubernetes it looks OK.

When we remove parameter fullnameOverride it continues with copying.

To Reproduce
Steps to reproduce the behavior:

kubectl pv-migrate migrate redisldaipvc redisldaipvc \
> --helm-values /home/uporabnik/myAppMediaserver/deploy/scripts/kuberneteswip/kubetest1/x-openebs-local/pvmigration.yaml \
> --source-kubeconfig ~/.kube/config-1220.yaml \
> --source-context lju1 \
> --source-namespace default \
> --dest-kubeconfig ~/.kube/config-2135.yaml \
> --dest-context lju2 \
> --dest-namespace default \
> --dest-delete-extraneous-files \
> --log-level debug \
> --ignore-mounted \
> --helm-set fullnameOverride=pvmig23455

Expected behavior
A clear and concise description of what you expected to happen.
When we override full name deployment getting ready should still be detected.

Console output
WITH fullnameOverride

uporabnik@ubuntu:~$ kubectl pv-migrate migrate redisldaipvc redisldaipvc \
> --helm-values /home/uporabnik/myAppMediaserver/deploy/scripts/kuberneteswip/kubetest1/x-openebs-local/pvmigration.yaml \
> --source-kubeconfig ~/.kube/config-1220.yaml \
> --source-context lju1 \
> --source-namespace default \
> --dest-kubeconfig ~/.kube/config-2135.yaml \
> --dest-context lju2 \
> --dest-namespace default \
> --dest-delete-extraneous-files \
> --log-level debug \
> --ignore-mounted \
> --helm-set fullnameOverride=pvmig23455
πŸš€  Starting migration
❕  Extraneous files will be deleted from the destination
πŸ’‘  PVC redisldaipvc is mounted to node lju1062.lju1, ignoring...
πŸ’‘  PVC redisldaipvc is mounted to node lju2135.lju2, ignoring...
πŸ’­  Will attempt 3 strategies: mnt2, svc, lbsvc
🚁  Attempting strategy: mnt2
🦊  Strategy 'mnt2' cannot handle this migration, will try the next one
🚁  Attempting strategy: svc
🦊  Strategy 'svc' cannot handle this migration, will try the next one
🚁  Attempting strategy: lbsvc
πŸ”‘  Generating SSH key pair
creating 4 resource(s)
beginning wait for 4 resources with timeout of 1m0s
Deployment is not ready: default/pvmig23455-sshd. 0 out of 1 expected pods are ready
🧹  Cleaning up
uninstall: Deleting pv-migrate-bdacd-src
Starting delete for "pvmig23455-sshd" Service
Starting delete for "pvmig23455-sshd" Deployment
Starting delete for "pvmig23455-sshd" Secret
Starting delete for "pvmig23455-sshd" ServiceAccount
beginning wait for 4 resources to be deleted with timeout of 1m0s
purge requested for pv-migrate-bdacd-src
✨  Cleanup done
πŸ”Ά  Migration failed with this strategy, will try with the remaining strategies
Error: all strategies failed

WITH REMOVED fullnameOverride

uporabnik@ubuntu:~$ kubectl pv-migrate migrate redisldaipvc redisldaipvc \
> --helm-values /home/uporabnik/myAppMediaserver/deploy/scripts/kuberneteswip/kubetest1/x-openebs-local/pvmigration.yaml \
> --source-kubeconfig ~/.kube/config-1220.yaml \
> --source-context lju1 \
> --source-namespace default \
> --dest-kubeconfig ~/.kube/config-2135.yaml \
> --dest-context lju2 \
> --dest-namespace default \
> --dest-delete-extraneous-files \
> --log-level debug \
> --ignore-mounted
πŸš€  Starting migration
❕  Extraneous files will be deleted from the destination
πŸ’‘  PVC redisldaipvc is mounted to node lju1062.lju1, ignoring...
πŸ’‘  PVC redisldaipvc is mounted to node lju2135.lju2, ignoring...
πŸ’­  Will attempt 3 strategies: mnt2, svc, lbsvc
🚁  Attempting strategy: mnt2
🦊  Strategy 'mnt2' cannot handle this migration, will try the next one
🚁  Attempting strategy: svc
🦊  Strategy 'svc' cannot handle this migration, will try the next one
🚁  Attempting strategy: lbsvc
πŸ”‘  Generating SSH key pair
creating 4 resource(s)
beginning wait for 4 resources with timeout of 1m0s
Deployment is not ready: default/pv-migrate-cdcca-src-sshd. 0 out of 1 expected pods are ready
creating 3 resource(s)
beginning wait for 3 resources with timeout of 1m0s
πŸ“‚  Copying data...   0% |

Version

  • Source and destination Kubernetes versions [e.g. v1.23.5+k3s1]

  • pv-migrate version and architecture [e.g. v0.5.5 - darwin_x86_64]:
    kubectl pv-migrate -v
    pv-migrate version 0.12.1 (commit: 8460071) (build date: 2022-04-11T21:42:07Z)

  • Installation method [e.g. homebrew, binary download]: krew

  • Source and destination PVC type, size and accessModes [e.g. ReadWriteMany, 8G, kubernetes.io/gce-pd -> ReadWriteOnce, N/A, rancher.io/local-path ]:

  • static predefined PV, PVC with type: "local"

Thanks for reporting.

The core idea behind the ability to be able to override helm values is to give the user full flexibility when needed (labels/annotations/custom serviceaccount and so on). But the tool does not (cannot) guarantee that it will work with any combination of overrides - it is possible to pass values that break the expected behavior.

Can you explain your use-case for using fullnameOverride? So maybe we can find a different solution.

Thanks for quick reply... Please see #175 for better context.