Replace namespace, values.yaml file and release name
The above step takes site database backups.
The manual steps are not taking any backup and depend on the backups taken in above command.
Out of my 10 sites only 3 migrations failed. So the command may just work for someone else.
Manual steps to fix failed migration
Installed fresh new v13 helm release, I moved from the deprecated nfs-client provisioner helm chart to nfs-subdir-external-provisioner and used the new StorageClass in this release. Skip to Step 4 if new release is not going to be installed.
Logged into NFS server so I could have faster access to files.
move the individual site directory from old volume location to new location
exec into new erpnext-python container with bash shell
Once inside container run bench --site site.name.com migrate (FROM sites DIRECTORY ITSELF)
If migration is successful update the service of existing ingress to new service. (not required if new helm release is not created)
If migration fails from the container run bench --site site.name.com console, once things are fixed repeat bench --site site.name.com migrate and hope for success.
Once all sites are moved and migrated delete old helm release. OR set pause_scheduler and maintenance_mode to 0 from common config if new helm release in not installed.
Patches that failed and fixes:
Issue with Customer migration:
There was an issue while migrating the DocType: Customer
console:
l = frappe.get_all("Customer", fields=["name","represents_company"])
for i in l:
if i.get("represents_company") == '':
e = frappe.get_doc("Customer", i.get("name"))
e.represents_company = None
e.save()
frappe.db.commit()
Problem with Therapy Session DocType from healthcare, during patch execution:
Executing erpnext.patches.v13_0.setup_patient_history_settings_for_standard_doctypes in abc.xyz.com (db_name)
Hi @revant_one I don’t know if you have addressed this elsewhere, while trying to install Maridb the wget commad for the mariadb-prod values returns a 404 error.
I’ve my data server separate from kubernetes. I move the backups to data server and restore it like standard db and file restore.
In case you’ve everything in Containers, you’ll have to move local files into pods. Refer kubectl cp. You can also mount volume with backups and restore it.
Whenever there are patches to run there will be down time.
@Obinna_Ukwueze I have had to go through some tutorials on Kubernetes and building images with Docker.
The problem we are trying to solve is first make our deployment easier and secondly ensure that in production, we are actually using resources across our nodes in the cluster (proxmox).
@revant_one thanks for answer
but how can i run bench commands on kubernetes ?
i tried to add image to custom-values.yaml like the code below but it didnt work
I got this error
“frappe/health:v15.0.0”: failed to resolve reference “docker.io/frappe/health:v15.0.0”: pull access denied, repository does not exist or may require authorization