Add Resource Limits for APP-C

flavor names removed from global

Issue-ID: OOM-1148

Change-Id: Ib8ccb694786d15be2830c067d5c3b10fc7054f0b
Signed-off-by: GregSulek <gsulek@amdocs.com>
diff --git a/kubernetes/appc/charts/appc-ansible-server/templates/deployment.yaml b/kubernetes/appc/charts/appc-ansible-server/templates/deployment.yaml
index 8fb2776..b7ef21f 100644
--- a/kubernetes/appc/charts/appc-ansible-server/templates/deployment.yaml
+++ b/kubernetes/appc/charts/appc-ansible-server/templates/deployment.yaml
@@ -75,8 +75,8 @@
             name: config
             subPath: RestServer_config
           resources:
-{{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
         {{- end -}}
diff --git a/kubernetes/appc/charts/appc-ansible-server/values.yaml b/kubernetes/appc/charts/appc-ansible-server/values.yaml
index bfbadd9..b9dd418 100644
--- a/kubernetes/appc/charts/appc-ansible-server/values.yaml
+++ b/kubernetes/appc/charts/appc-ansible-server/values.yaml
@@ -25,6 +25,8 @@
 #################################################################
 # Application configuration defaults.
 #################################################################
+flavor: small
+
 # application image
 repository: nexus3.onap.org:10001
 image: onap/sdnc-ansible-server-image:1.4-STAGING-latest
@@ -68,11 +70,20 @@
 ingress:
   enabled: false
 
-resources: {}
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 1Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
+
+
diff --git a/kubernetes/appc/charts/appc-cdt/templates/deployment.yaml b/kubernetes/appc/charts/appc-cdt/templates/deployment.yaml
index 9c83c2c..1288183 100644
--- a/kubernetes/appc/charts/appc-cdt/templates/deployment.yaml
+++ b/kubernetes/appc/charts/appc-cdt/templates/deployment.yaml
@@ -65,7 +65,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/appc/charts/appc-cdt/values.yaml b/kubernetes/appc/charts/appc-cdt/values.yaml
index f472152..26526a8 100644
--- a/kubernetes/appc/charts/appc-cdt/values.yaml
+++ b/kubernetes/appc/charts/appc-cdt/values.yaml
@@ -21,6 +21,9 @@
 #################################################################
 # Application configuration defaults.
 #################################################################
+
+flavor: small
+
 # application image
 repository: nexus3.onap.org:10001
 image: onap/appc-cdt-image:1.4.0-SNAPSHOT-latest
@@ -58,7 +61,6 @@
 ingress:
   enabled: false
 
-resources: {}
   # We usually recommend not to specify default resources and to leave this as a conscious
   # choice for the user. This also increases chances charts run on environments with little
   # resources, such as Minikube. If you do want to specify resources, uncomment the following
@@ -69,10 +71,18 @@
   # ref: http://kubernetes.io/docs/user-guide/compute-resources/
   # Minimum memory for development is 2 CPU cores and 4GB memory
   # Minimum memory for production is 4 CPU cores and 8GB memory
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 1Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
diff --git a/kubernetes/appc/templates/statefulset.yaml b/kubernetes/appc/templates/statefulset.yaml
index 32ff952..9453bd9 100644
--- a/kubernetes/appc/templates/statefulset.yaml
+++ b/kubernetes/appc/templates/statefulset.yaml
@@ -145,8 +145,8 @@
             name: log-config
             subPath: org.ops4j.pax.logging.cfg
           resources:
-{{ toYaml .Values.resources | indent 12 }}
-        {{- if .Values.nodeSelector }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
+	{{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
         {{- end -}}
diff --git a/kubernetes/appc/values.yaml b/kubernetes/appc/values.yaml
index 0325275..97e39bc 100644
--- a/kubernetes/appc/values.yaml
+++ b/kubernetes/appc/values.yaml
@@ -28,6 +28,7 @@
 #################################################################
 # Application configuration defaults.
 #################################################################
+flavor: small
 # application image
 repository: nexus3.onap.org:10001
 image: onap/appc-image:1.4.0-SNAPSHOT-latest
@@ -155,7 +156,6 @@
 ingress:
   enabled: false
 
-resources: {}
   # We usually recommend not to specify default resources and to leave this as a conscious
   # choice for the user. This also increases chances charts run on environments with little
   # resources, such as Minikube. If you do want to specify resources, uncomment the following
@@ -166,10 +166,18 @@
   # ref: http://kubernetes.io/docs/user-guide/compute-resources/
   # Minimum memory for development is 2 CPU cores and 4GB memory
   # Minimum memory for production is 4 CPU cores and 8GB memory
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
+resources:
+  small:
+    limits:
+      cpu: 2
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 4Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 8Gi
+    requests:
+      cpu: 4
+      memory: 8Gi