Fixing some issues defining resource requests in openshift and k8s

* Allow overriding all container resource requests by setting defaults/
* Fix an issue where template vars were reversed in the deployment config
* Remove `limit` usage to allow for resource ballooning if it's available
* Fix type error when using templated values in the config map for resources
This commit is contained in:
Matthew Jones
2018-03-15 10:59:27 -04:00
parent 597874b849
commit 3ba7095ba4
6 changed files with 44 additions and 26 deletions

View File

@@ -0,0 +1,12 @@
---
awx_web_mem_request: 1
awx_web_cpu_request: 500
awx_task_mem_request: 2
awx_task_cpu_request: 1500
awx_rabbitmq_mem_request: 2
awx_rabbitmq_cpu_request: 500
awx_memcached_mem_request: 1
awx_memcached_cpu_request: 500

View File

@@ -16,8 +16,8 @@ data:
# Automatically deprovision pods that go offline
AWX_AUTO_DEPROVISION_INSTANCES = True
SYSTEM_TASK_ABS_CPU = {{ ((awx_task_cpu_request|default(1500) / 1000) * 4)|int }}
SYSTEM_TASK_ABS_MEM = {{ ((awx_task_mem_request|default(2) * 1024) / 100)|int }}
SYSTEM_TASK_ABS_CPU = {{ ((awx_task_cpu_request|int / 1000) * 4)|int }}
SYSTEM_TASK_ABS_MEM = {{ ((awx_task_mem_request|int * 1024) / 100)|int }}
#Autoprovisioning should replace this
CLUSTER_HOST_ID = socket.gethostname()

View File

@@ -23,8 +23,8 @@ spec:
name: awx-application-config
resources:
requests:
memory: "1Gi"
cpu: "500m"
memory: "{{ awx_web_mem_request }}Gi"
cpu: "{{ awx_web_cpu_request }}m"
- name: awx-celery
image: {{ awx_task_kubernetes_image }}
imagePullPolicy: Always
@@ -52,11 +52,8 @@ spec:
value: {{ default_admin_password|default('password') }}
resources:
requests:
memory: "{{ awx_task_cpu_request|default('2') }}Gi"
cpu: "{{ awx_task_mem_request|default('1500') }}m"
limit:
memory: "{{ awx_task_cpu_request|default('2') }}Gi"
cpu: "{{ awx_task_mem_request|default('1500') }}m"
memory: "{{ awx_task_mem_request }}Gi"
cpu: "{{ awx_task_cpu_request }}m"
- name: awx-rabbit
image: ansible/awx_rabbitmq:{{ rabbitmq_version }}
imagePullPolicy: Always
@@ -96,14 +93,14 @@ spec:
value: "/etc/rabbitmq/rabbitmq"
resources:
requests:
memory: "2Gi"
cpu: "500m"
memory: "{{ awx_rabbitmq_mem_request }}Gi"
cpu: "{{ awx_rabbitmq_cpu_request }}m"
- name: awx-memcached
image: memcached
resources:
requests:
memory: "1Gi"
cpu: "500m"
memory: "{{ awx_memcached_mem_request }}Gi"
cpu: "{{ awx_memcached_cpu_request }}m"
volumes:
- name: awx-application-config
configMap:

View File

@@ -0,0 +1,12 @@
---
awx_web_mem_request: 1
awx_web_cpu_request: 500
awx_task_mem_request: 2
awx_task_cpu_request: 1500
awx_rabbitmq_mem_request: 2
awx_rabbitmq_cpu_request: 500
awx_memcached_mem_request: 1
awx_memcached_cpu_request: 500

View File

@@ -16,8 +16,8 @@ data:
# Automatically deprovision pods that go offline
AWX_AUTO_DEPROVISION_INSTANCES = True
SYSTEM_TASK_ABS_CPU = {{ ((awx_task_cpu_request|default(1500) / 1000) * 4)|int }}
SYSTEM_TASK_ABS_MEM = {{ ((awx_task_mem_request|default(2) * 1024) / 100)|int }}
SYSTEM_TASK_ABS_CPU = {{ ((awx_task_cpu_request|int / 1000) * 4)|int }}
SYSTEM_TASK_ABS_MEM = {{ ((awx_task_mem_request|int * 1024) / 100)|int }}
#Autoprovisioning should replace this
CLUSTER_HOST_ID = socket.gethostname()

View File

@@ -23,8 +23,8 @@ spec:
name: awx-application-config
resources:
requests:
memory: "1Gi"
cpu: "500m"
memory: "{{ awx_web_mem_request }}Gi"
cpu: "{{ awx_web_cpu_request }}m"
- name: awx-celery
image: {{ awx_task_openshift_image }}
imagePullPolicy: Always
@@ -52,11 +52,8 @@ spec:
value: {{ default_admin_password|default('password') }}
resources:
requests:
memory: "{{ awx_task_cpu_request|default('2') }}Gi"
cpu: "{{ awx_task_mem_request|default('1500') }}m"
limit:
memory: "{{ awx_task_cpu_request|default('2') }}Gi"
cpu: "{{ awx_task_mem_request|default('1500') }}m"
memory: "{{ awx_task_mem_request }}Gi"
cpu: "{{ awx_task_cpu_request }}m"
- name: awx-rabbit
image: ansible/awx_rabbitmq:{{ rabbitmq_version }}
imagePullPolicy: Always
@@ -94,14 +91,14 @@ spec:
value: "/etc/rabbitmq/rabbitmq"
resources:
requests:
memory: "2Gi"
cpu: "500m"
memory: "{{ awx_rabbitmq_mem_request }}Gi"
cpu: "{{ awx_rabbitmq_cpu_request }}m"
- name: awx-memcached
image: memcached
resources:
requests:
memory: "1Gi"
cpu: "500m"
memory: "{{ awx_memcached_mem_request }}Gi"
cpu: "{{ awx_memcached_cpu_request }}m"
volumes:
- name: awx-application-config
configMap: