cmk create kubernetescluster serviceofferingid issue (CKS)
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 1.4k
- Avg merge
- 6d 19h
- Merged PRs (30d)
- 32
Description
### problem
When using cmk to create kubernetescluster with nodeoffering, I left out the serviceofferingid (the legacy parameter pre 4.21) which I thought was optional as it will be overwritten with nodeoffering anyway.
The CKS was created sucessfully but when I try to upgrade the kubernetes cluster, I get the error "Invalid service offering associated with Kubernetes cluster". The upgrade seems to check for serviceofferingid and require it to be present even though you can create one without serviceofferingid.
A second related issue is when I put a serviceofferingid of a 1 vcpu 1 GB ram in cmk create kubernetescluster as a way to pass the upgrade check. To my suprise, when I try to upgrade, cloudstack complains that the template does not meed minimum hardware requirement even though the template I put in to nodeoffering satisfy this requirement. So it must be using serviceofferingid to verify the hardware requirement when upgrade was triggered.
### versions
4.22.1 KVM NFS
### The steps to reproduce the bug
1. use cmk (or api) to create cks with nodeoffering ommiting serviceofferingid
2. Try to upgrade CKS
3.
...
### What to do about it?
The correct behaviour for the upgrade process is to also check for the presence of nodeoffering and use this to detect minimum hardware requirement
Contributor guide
Research direction
Reproduce the issue with cmk or the API on CloudStack 4.22.1: create a Kubernetes cluster with a nodeoffering but no serviceofferingid, then attempt an upgrade. Trace the Kubernetes cluster upgrade path and compare how it validates serviceofferingid versus nodeoffering. Done means upgrades use nodeoffering when present and correctly validate its minimum hardware requirements.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kubernetes
- Domain
- backend-api-design, cloud, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100