Resource Limits for oof

Issue-ID: OOM-1157

Change-Id: I2f2733834f71f4edeb87f55cfd8461be10fd8cb9
Signed-off-by: Prateekinlinux <prateek.khosla@amdocs.com>
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-api/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-api/templates/deployment.yaml
index 95b6783..690bb74 100755
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-api/templates/deployment.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-api/templates/deployment.yaml
@@ -85,7 +85,7 @@
             name: {{ .Values.global.commonConfigPrefix  }}-config
             subPath: log.conf
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-api/values.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-api/values.yaml
index 6114de3..ea83587 100755
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-api/values.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-api/values.yaml
@@ -24,6 +24,24 @@
 replicaCount: 1
 nodeSelector: {}
 affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
@@ -34,4 +52,3 @@
 readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
-resources: {}
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/deployment.yaml
index 2d52b09..f16b09f 100644
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/deployment.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/deployment.yaml
@@ -78,7 +78,7 @@
         - name: {{ include "common.fullname" . }}-data
           mountPath: /var/lib/cassandra/data
         resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
       {{- if .Values.nodeSelector }}
       nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/values.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/values.yaml
index 400387c..1268bad 100644
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/values.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/values.yaml
@@ -38,6 +38,24 @@
 
 affinity: {}
 
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 16Gi
+      cpu: 8000m
+    requests:
+      memory: 8Gi
+      cpu: 4000m
+  large:
+    limits:
+      memory: 32Gi
+      cpu: 16000m
+    requests:
+      memory: 16Gi
+      cpu: 8000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
@@ -89,5 +107,3 @@
 
 ingress:
   enabled: false
-
-resources: {}
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-controller/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-controller/templates/deployment.yaml
index 3274040..3a32129 100755
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-controller/templates/deployment.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-controller/templates/deployment.yaml
@@ -88,7 +88,7 @@
             name: {{ .Values.global.commonConfigPrefix }}-config
             subPath: healthy.sh
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-controller/values.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-controller/values.yaml
index 57c56d5..659128d 100755
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-controller/values.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-controller/values.yaml
@@ -17,6 +17,24 @@
 replicaCount: 1
 nodeSelector: {}
 affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
@@ -27,4 +45,3 @@
 readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
-resources: {}
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-data/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-data/templates/deployment.yaml
index 4314227..d5f619e 100755
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-data/templates/deployment.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-data/templates/deployment.yaml
@@ -97,7 +97,7 @@
             name: {{ .Values.global.commonConfigPrefix }}-config
             subPath: AAF_RootCA.cer
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-data/values.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-data/values.yaml
index 57c56d5..659128d 100755
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-data/values.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-data/values.yaml
@@ -17,6 +17,24 @@
 replicaCount: 1
 nodeSelector: {}
 affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
@@ -27,4 +45,3 @@
 readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
-resources: {}
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/deployment.yaml
index 902914e..7883340 100644
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/deployment.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/deployment.yaml
@@ -46,6 +46,8 @@
         - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"   #"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          resources:
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
           ports:
           - containerPort: {{ .Values.service.internalPort }}
           # disable liveness probe when breakpoints set in debugger
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-music/values.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-music/values.yaml
index 1fcd5f60..dda1c0f 100644
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-music/values.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-music/values.yaml
@@ -48,6 +48,24 @@
 
 affinity: {}
 
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
@@ -69,5 +87,3 @@
   portName: oof-has-music
 ingress:
   enabled: false
-
-resources: {}
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-reservation/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-reservation/templates/deployment.yaml
index b5ef0c8..d90943c 100755
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-reservation/templates/deployment.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-reservation/templates/deployment.yaml
@@ -88,7 +88,7 @@
             name: {{ .Values.global.commonConfigPrefix }}-config
             subPath: healthy.sh
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-reservation/values.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-reservation/values.yaml
index 57c56d5..659128d 100755
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-reservation/values.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-reservation/values.yaml
@@ -17,6 +17,24 @@
 replicaCount: 1
 nodeSelector: {}
 affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
@@ -27,4 +45,3 @@
 readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
-resources: {}
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-solver/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-solver/templates/deployment.yaml
index abd2f0a..ad1e1c5 100755
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-solver/templates/deployment.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-solver/templates/deployment.yaml
@@ -88,7 +88,7 @@
             name: {{ .Values.global.commonConfigPrefix }}-config
             subPath: healthy.sh
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-solver/values.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-solver/values.yaml
index 57c56d5..659128d 100755
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-solver/values.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-solver/values.yaml
@@ -17,6 +17,24 @@
 replicaCount: 1
 nodeSelector: {}
 affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
@@ -27,4 +45,3 @@
 readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
-resources: {}
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/templates/deployment.yaml
index 70df814..43f0680 100644
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/templates/deployment.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/templates/deployment.yaml
@@ -54,7 +54,7 @@
             name: localtime
             readOnly: true
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/values.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/values.yaml
index b0eca78..e61eda0 100644
--- a/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/values.yaml
+++ b/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/values.yaml
@@ -30,6 +30,24 @@
 replicaCount: 1
 nodeSelector: {}
 affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
@@ -48,4 +66,3 @@
   portName: oof-has-zookeeper
 ingress:
   enabled: false
-resources: {}
diff --git a/kubernetes/oof/templates/deployment.yaml b/kubernetes/oof/templates/deployment.yaml
index da7cb70..3341505 100644
--- a/kubernetes/oof/templates/deployment.yaml
+++ b/kubernetes/oof/templates/deployment.yaml
@@ -77,7 +77,7 @@
             name: {{ include "common.fullname" . }}-config
             subPath: osdf_config.yaml
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
diff --git a/kubernetes/oof/values.yaml b/kubernetes/oof/values.yaml
index ac1bcc0..5aa462f 100644
--- a/kubernetes/oof/values.yaml
+++ b/kubernetes/oof/values.yaml
@@ -75,6 +75,24 @@
 replicaCount: 1
 nodeSelector: {}
 affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
@@ -93,4 +111,3 @@
   nodePort: 48
 ingress:
   enabled: false
-resources: {}