Repository navigation
feat(#1943): migrating from 4.x medic/helm-charts to 5.x cht-core helm-charts - #1989
Conversation
|
Hi @dianabarsan Proposed scenario:
Your feedback would be super helpful while I fix my permissions 🙏 |
mrjones-plip
left a comment
There was a problem hiding this comment.
Looking good! So great to see this guide being published to get closer to a 5.0 release.
I made some changes tone down our warnings!! and such - a breaking change I think speaks for itself.
I'll leave the technical testing to Diana - but am available to help if she's busy!
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
|
Hi @mrjones, thank you for the feedback! We could definitely use a couple more pairs of eyes on this migration, as there are so many scenarios to cover. |
mrjones-plip
left a comment
There was a problem hiding this comment.
I finally got a chance to run through this! I may have done it wrong!
But, let's work through what I found.
|
@mrjones-plip Thank you so much for the feedback! I’ve addressed all the points. Could you please try again when you have a chance? I’ll also test this thoroughly once I have the EKS permissions. You’re helping me keep this moving, thanks! |
mrjones-plip
left a comment
There was a problem hiding this comment.
@lorerod - yo! This PR is coming together really nicely. It's getting easier and easier to follow with your improvements - thank you! I suspect we'll have at least a couple more rounds to finalize it.
I made some suggestions to tighten up the text and be more explicit.
Finally, it's still failing for me on the helm upgrade call (see below). I'm attaching my 2 values files with password replaced: yaml.for.lorena.zip
helm upgrade mrjones-dev ../build/helm \
-f migration-5x-values.yaml \
--namespace mrjones-dev
Error: UPGRADE FAILED: cannot patch "couchdb-claim0" with kind PersistentVolumeClaim: PersistentVolumeClaim "couchdb-claim0" 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: {...}, s: "100Mi", Format: "BinarySI"}}},
- VolumeName: "pvc-881c6798-98a5-4164-9507-5694f9d989a7",
+ VolumeName: "couchdb-pv-mrjones-dev",
- StorageClassName: &"ebs-gp2",
+ StorageClassName: &"",
VolumeMode: &"Filesystem",
DataSource: nil,
DataSourceRef: nil,
}
mrjones-plip
left a comment
There was a problem hiding this comment.
minor formatting I forgot to add on the first review
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
…n.md Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Hi @mrjones-plip, I'm resuming this work. Sorry for the delay. I can't access the .zip file you are sharing here. Could you please share it again? Quick update, @mrjones-plip: I've finally accessed the .zip. You don't need to share it again. |
|
Thanks for the info no the zip - sorry if it gave you troubles! I'll keep an eye out here for any other questions or updates! |
Hi @mrjones, thanks for the great feedback! I have implemented all the suggestions. I dug into the upgrade error, and it looks like two issues in
If multi-node, please set Also, please remove the I’ve updated the migration guide to use boolean false and clarified the single- vs multi-node settings. This is great feedback, thank you so much for testing and catching it! |
|
Yay! thanks for doing another round of work on this. I think this is maybe good to go? I updated my original values file to have true booleans (instead of truthy However, the instance wasn't responding to HTTP requests. Checking Checking what might be the issue, of course I changed my However, the ALB isn't tying requests to deployment - only I think it's worth debugging this deployment so we can be extra confident that it's nothing to do with these new helm charts. I suspect it's my bungling something. If you have admin perms, feel free to look at Otherwise, maybe we can pair tomorrow (Wed) to debug? |
|
@mrjones-plip I’ve been reviewing the Helm charts, focusing on the Ingress and API configurations, and everything looks identical. Both versions route traffic to the same api service on port Thanks for all the feedback, it’s been super helpful! |
|
sounds good! We have a call set up for tomorrow (Thur) - thanks for sending the invite. i don't think load balancer needs to catch up - it's been 12+ hours and no change. We'll look into it tomorrow! |
|
I decided to have another pass at this. On the hunch that this had to do with failed ingress, I spun up an alternate namespace ( By exporting the You can see the yaml files here: broken ingress on `mrjones-dev`
apiVersion: v1
items:
- apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
meta.helm.sh/release-name: mrjones-dev
meta.helm.sh/release-namespace: mrjones-dev
creationTimestamp: "2025-10-22T21:36:42Z"
generation: 2
labels:
app.kubernetes.io/managed-by: Helm
name: api-ingress
namespace: mrjones-dev
resourceVersion: "510211979"
uid: 588627f1-9ca0-4fe7-86bb-ebdeecd6f891
spec:
rules:
- http:
paths:
- backend:
service:
name: api
port:
number: 5988
path: /
pathType: Prefix
status:
loadBalancer:
ingress:
- hostname: k8s-devchtalb-3eb0781cbb-694321496.eu-west-2.elb.amazonaws.com
kind: List
metadata:
resourceVersion: ""working ingress on `deleteme-mrjones-dev`
apiVersion: v1
items:
- apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
alb.ingress.kubernetes.io/certificate-arn: arn:aws:iam::720541322708:server-certificate/2025-q4-wildcard-dev-medicmobile-org-letsencrypt
alb.ingress.kubernetes.io/group.name: dev-cht-alb
alb.ingress.kubernetes.io/healthcheck-port: traffic-port
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]'
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/ssl-redirect: "443"
alb.ingress.kubernetes.io/tags: Environment=dev,Team=QA
alb.ingress.kubernetes.io/target-type: ip
meta.helm.sh/release-name: deleteme-mrjones-dev
meta.helm.sh/release-namespace: deleteme-mrjones-dev
creationTimestamp: "2025-10-22T21:48:37Z"
finalizers:
- group.ingress.k8s.aws/dev-cht-alb
generation: 1
labels:
app.kubernetes.io/managed-by: Helm
name: api-ingress
namespace: deleteme-mrjones-dev
resourceVersion: "510210384"
uid: 17630888-630c-4a5a-b06f-d13b82c38612
spec:
ingressClassName: alb
rules:
- host: deleteme-mrjones.dev.medicmobile.org
http:
paths:
- backend:
service:
name: api
port:
number: 5988
path: /
pathType: Prefix
status:
loadBalancer:
ingress:
- hostname: k8s-devchtalb-3eb0781cbb-694321496.eu-west-2.elb.amazonaws.com
kind: List
metadata:
resourceVersion: ""By calling Let's keep our meeting tomorrow, if only to review how this failed and if we need to improve the docs in this PR. If you're able to fix it before then with these notes, we can always cancel! |
|
Great debugging! The broken ingress looks very similar to the k3s-k3d template. So I may have a problem with |
|
@mrjones-plip I created this branch, adding a missing condition to the k3s-k3d ingress template so it doesn't overwrite the EKS/GCP ingress. It would be amazing if you can try this. Thanks. |
mrjones-plip
left a comment
There was a problem hiding this comment.
Let's do this!!
With the changes that you'll submit in a separate PR from your k3s branch, this PR is good to go I think. yay!!!
Added a minor sed command which should address some of the earlier errors I was getting. Other changes are to line up the numbering.
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com>
Description
closes #1943
License
The software is provided under AGPL-3.0. Contributions to this project are accepted under the same license.