From 3673a2b33a060cb7cc1c5f9e5c4fedb10dca3c3d Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Mon, 25 Nov 2019 17:02:32 -0600 Subject: [PATCH] Fixes #10: Allow setting resources.requests.memory so Tower gets enough memory. --- README.md | 4 ++-- roles/tower/defaults/main.yml | 6 ++++++ roles/tower/tasks/main.yml | 2 +- roles/tower/templates/tower_task.yaml.j2 | 4 ++++ roles/tower/templates/{tower.yaml.j2 => tower_web.yaml.j2} | 6 +++++- 5 files changed, 18 insertions(+), 4 deletions(-) rename roles/tower/templates/{tower.yaml.j2 => tower_web.yaml.j2} (93%) diff --git a/README.md b/README.md index 94bc3b69..d115289e 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ This environment is meant for headless testing (e.g. in a CI environment, or whe #### Testing in Minikube - minikube start --memory 6g --cpus 2 + minikube start --memory 6g --cpus 4 minikube addons enable ingress molecule test -s test-minikube @@ -130,7 +130,7 @@ Once the versions are updated, run the playbook in the `build/` directory: After it is built, test it on a local cluster: - minikube start --memory 6g --cpus 2 + minikube start --memory 6g --cpus 4 kubectl apply -f deploy/tower-operator.yaml kubectl create namespace example-tower kubectl apply -f deploy/crds/tower_v1alpha1_tower_cr_awx.yaml diff --git a/roles/tower/defaults/main.yml b/roles/tower/defaults/main.yml index 92964b52..91ef8695 100644 --- a/roles/tower/defaults/main.yml +++ b/roles/tower/defaults/main.yml @@ -18,6 +18,12 @@ tower_create_preload_data: true tower_task_replicas: "1" +tower_task_mem_request: 1Gi +tower_task_cpu_request: 500m + +tower_web_mem_request: 2Gi +tower_web_cpu_request: 1000m + tower_memcached_image: memcached:alpine tower_rabbitmq_image: rabbitmq:3 diff --git a/roles/tower/tasks/main.yml b/roles/tower/tasks/main.yml index afe90e6f..45819ef8 100644 --- a/roles/tower/tasks/main.yml +++ b/roles/tower/tasks/main.yml @@ -8,7 +8,7 @@ - tower_postgres.yaml.j2 - tower_rabbitmq.yaml.j2 - tower_config.yaml.j2 - - tower.yaml.j2 + - tower_web.yaml.j2 - tower_task.yaml.j2 - name: Get the Tower pod information. diff --git a/roles/tower/templates/tower_task.yaml.j2 b/roles/tower/templates/tower_task.yaml.j2 index a384e48c..f39192bd 100644 --- a/roles/tower/templates/tower_task.yaml.j2 +++ b/roles/tower/templates/tower_task.yaml.j2 @@ -42,6 +42,10 @@ spec: mountPath: /etc/tower/settings.py subPath: settings.py readOnly: true + resources: + requests: + memory: '{{ tower_task_mem_request }}' + cpu: '{{ tower_task_cpu_request }}' volumes: - name: secret-key secret: diff --git a/roles/tower/templates/tower.yaml.j2 b/roles/tower/templates/tower_web.yaml.j2 similarity index 93% rename from roles/tower/templates/tower.yaml.j2 rename to roles/tower/templates/tower_web.yaml.j2 index 334c9623..7813d07d 100644 --- a/roles/tower/templates/tower.yaml.j2 +++ b/roles/tower/templates/tower_web.yaml.j2 @@ -14,7 +14,7 @@ data: apiVersion: apps/v1 kind: Deployment metadata: - name: '{{ meta.name }}-tower' + name: '{{ meta.name }}-tower-web' namespace: '{{ meta.namespace }}' labels: app: tower @@ -50,6 +50,10 @@ spec: mountPath: /etc/nginx/nginx.conf subPath: nginx.conf readOnly: true + resources: + requests: + memory: '{{ tower_web_mem_request }}' + cpu: '{{ tower_web_cpu_request }}' volumes: - name: secret-key secret: