pravega / pravega-operator

Pravega Kubernetes Operator
Apache License 2.0
41 stars 38 forks source link

Issue 495: Validate Pravega manifest settings before deployment #586

Closed nishant-yt closed 2 years ago

nishant-yt commented 2 years ago

Signed-off-by: Nishant Gupta Nishant_Gupta3@dell.com

Change log description

While deploying Pravega , Segment Store settings should adhere to the following rules: POD_MEM_LIMIT > JVM Heap (-Xmx) + JVM Direct Memory (-XX:MaxDirectMemorySize) JVM Direct memory > Segment Store read cache size (pravegaservice.cache.size.max)

Here we are validating the above scenarios before deployment by the operator happens instead of manually relying on the user to set them right.

Purpose of the change

Fixes #495

What the code does

The code makes sure the following checks are performed by the operator before deploying Pravega: POD_MEM_LIMIT > JVM Heap + JVM Direct Memory JVM Direct memory > Segment Store read cache size

How to verify it

Try setting different values for.spec.pravega.segmentStoreResources.requests.memory , -Xmx , -XX:MaxDirectMemorySize and pravegaservice.cache.size.max and the operator should return error in case the above mentioned rules are not met.

codecov-commenter commented 2 years ago

Codecov Report

Merging #586 (e515742) into master (7af939a) will increase coverage by 0.76%. The diff coverage is 82.75%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #586      +/-   ##
==========================================
+ Coverage   74.17%   74.94%   +0.76%     
==========================================
  Files          16       16              
  Lines        4229     4402     +173     
==========================================
+ Hits         3137     3299     +162     
- Misses        962      972      +10     
- Partials      130      131       +1     
Impacted Files Coverage Δ
pkg/apis/pravega/v1beta1/pravega.go 98.78% <ø> (+0.44%) :arrow_up:
pkg/apis/pravega/v1beta1/pravegacluster_types.go 30.45% <82.75%> (+3.72%) :arrow_up:
pkg/apis/pravega/v1beta1/zz_generated.deepcopy.go 99.03% <0.00%> (-0.41%) :arrow_down:
pkg/controller/pravega/pravega_controller.go 100.00% <0.00%> (ø)
pkg/controller/pravega/pravega_segmentstore.go 100.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 7af939a...e515742. Read the comment docs.

anishakj commented 2 years ago

@nishant-yt Could you please add end to end tests to cover the webhook validations?