jetstack / navigator

Managed Database-as-a-Service (DBaaS) on Kubernetes
Apache License 2.0
271 stars 31 forks source link

Changes are rejected when resource scale is matched from resource.Quantity serialization #372

Open cehoffman opened 5 years ago

cehoffman commented 5 years ago

Is this a BUG REPORT or FEATURE REQUEST?:

/kind bug

What happened:

A nodepool was created with resources

resources:
  limits:
    memory: 3.5Gi
  requests:
    memory: 3.5Gi

Trying to update replicas (using kubectl apply) after this fails because of rejection:

Forbidden: updates to nodepool for fields other than 'replicas' and 'persistence' are forbidden.

The reason for this is the serialization format of the memory field is 3584Mi from navigator, but the version controlled manifest (from which everything was initially created) has the value as 3.5Gi. Changing the version controlled manifest to 3584Mi for those fields allows for kubectl apply to succeed.

What you expected to happen:

Elasticsearch cluster changes are allowed when a nodepool member has a non whole number (in Gi) resource value.

How to reproduce it (as minimally and precisely as possible):

Anything else we need to know?:

Navigator 0.1.0 release

Environment: