apache / apache/cloudstack

cmk create kubernetescluster serviceofferingid issue (CKS)

Open
#13,408 1 comment 0 reactions 0 assignees View on GitHub
component:kubernetes
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.

Image

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.