From 529a936d0a7f5ff1defa415bae34f931d305bcf7 Mon Sep 17 00:00:00 2001 From: Seth Foster Date: Tue, 27 Sep 2022 13:15:59 -0400 Subject: [PATCH] Make installing minikube optional in dev setup --- Makefile | 3 +- .../minikube/defaults/main.yml | 4 +- .../minikube/tasks/main.yml | 41 +++++++++++-------- tools/docker-compose/README.md | 10 ++++- 4 files changed, 38 insertions(+), 20 deletions(-) diff --git a/Makefile b/Makefile index 65e5aec54b..cb8b86cdac 100644 --- a/Makefile +++ b/Makefile @@ -454,6 +454,7 @@ COMPOSE_OPTS ?= CONTROL_PLANE_NODE_COUNT ?= 1 EXECUTION_NODE_COUNT ?= 2 MINIKUBE_CONTAINER_GROUP ?= false +MINIKUBE_SETUP ?= false # if false, run minikube separately EXTRA_SOURCES_ANSIBLE_OPTS ?= ifneq ($(ADMIN_PASSWORD),) @@ -462,7 +463,7 @@ endif docker-compose-sources: .git/hooks/pre-commit @if [ $(MINIKUBE_CONTAINER_GROUP) = true ]; then\ - ansible-playbook -i tools/docker-compose/inventory tools/docker-compose-minikube/deploy.yml; \ + ansible-playbook -i tools/docker-compose/inventory -e minikube_setup=$(MINIKUBE_SETUP) tools/docker-compose-minikube/deploy.yml; \ fi; ansible-playbook -i tools/docker-compose/inventory tools/docker-compose/ansible/sources.yml \ diff --git a/tools/docker-compose-minikube/minikube/defaults/main.yml b/tools/docker-compose-minikube/minikube/defaults/main.yml index b61ada8d34..a0cb7bdf03 100644 --- a/tools/docker-compose-minikube/minikube/defaults/main.yml +++ b/tools/docker-compose-minikube/minikube/defaults/main.yml @@ -9,8 +9,8 @@ addons: minikube_url_linux: 'https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64' minikube_url_macos: 'https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64' -kubectl_url_linux: 'https://dl.k8s.io/release/v1.21.0/bin/linux/amd64/kubectl' -kubectl_url_macos: 'https://dl.k8s.io/release/v1.21.0/bin/darwin/amd64/kubectl' +kubectl_url_linux: 'https://dl.k8s.io/release/v1.25.0/bin/linux/amd64/kubectl' +kubectl_url_macos: 'https://dl.k8s.io/release/v1.25.0/bin/darwin/amd64/kubectl' # Service Account Name minikube_service_account_name: 'awx-devel' diff --git a/tools/docker-compose-minikube/minikube/tasks/main.yml b/tools/docker-compose-minikube/minikube/tasks/main.yml index 9ddef11167..0cf9c841a9 100644 --- a/tools/docker-compose-minikube/minikube/tasks/main.yml +++ b/tools/docker-compose-minikube/minikube/tasks/main.yml @@ -8,6 +8,10 @@ state: 'directory' mode: '0700' +- name: debug minikube_setup + debug: + var: minikube_setup + # Linux block - block: - name: Download Minikube @@ -24,6 +28,7 @@ when: - ansible_architecture == "x86_64" - ansible_system == "Linux" + - minikube_setup | default(False) | bool # MacOS block - block: @@ -41,25 +46,29 @@ when: - ansible_architecture == "x86_64" - ansible_system == "Darwin" + - minikube_setup | default(False) | bool -- name: Starting Minikube - shell: "{{ sources_dest }}/minikube start --driver={{ driver }} --install-addons=true --addons={{ addons | join(',') }}" - register: minikube_stdout +- block: + - name: Starting Minikube + shell: "{{ sources_dest }}/minikube start --driver={{ driver }} --install-addons=true --addons={{ addons | join(',') }}" + register: minikube_stdout -- name: Enable Ingress Controller on Minikube - shell: "{{ sources_dest }}/minikube addons enable ingress" + - name: Enable Ingress Controller on Minikube + shell: "{{ sources_dest }}/minikube addons enable ingress" + when: + - minikube_stdout.rc == 0 + register: _minikube_ingress + ignore_errors: true + + - name: Show Minikube Ingress known-issue 7332 warning + pause: + seconds: 5 + prompt: "The Minikube Ingress addon has been disabled since it looks like you are hitting https://github.com/kubernetes/minikube/issues/7332" + when: + - '"minikube/issues/7332" in _minikube_ingress.stderr' + - ansible_system == "Darwin" when: - - minikube_stdout.rc == 0 - register: _minikube_ingress - ignore_errors: true - -- name: Show Minikube Ingress known-issue 7332 warning - pause: - seconds: 5 - prompt: "The Minikube Ingress addon has been disabled since it looks like you are hitting https://github.com/kubernetes/minikube/issues/7332" - when: - - '"minikube/issues/7332" in _minikube_ingress.stderr' - - ansible_system == "Darwin" + - minikube_setup | default(False) | bool - name: Create ServiceAccount and clusterRoleBinding k8s: diff --git a/tools/docker-compose/README.md b/tools/docker-compose/README.md index 530b4dc3e5..b668f27f94 100644 --- a/tools/docker-compose/README.md +++ b/tools/docker-compose/README.md @@ -301,11 +301,19 @@ Note that you may see multiple messages of the form `2021-03-04 20:11:47,666 WAR To bring up a 1 node AWX + minikube that is accessible from AWX run the following. +Start minikube + +```bash +(host)$minikube start --cpus=4 --memory=8g --addons=ingress` +``` + +Start AWX + ```bash (host)$ make docker-compose-container-group ``` -Alternatively, you can set the env var `MINIKUBE_CONTAINER_GROUP=true` to use the default dev env bring up. his way you can use other env flags like the cluster node count. +Alternatively, you can set the env var `MINIKUBE_CONTAINER_GROUP=true` to use the default dev env bring up. his way you can use other env flags like the cluster node count. Set `MINIKUBE_SETUP=true` to make the roles download, install and run minikube for you, but if you run into issues with this just start minikube yourself. ```bash (host)$ MINIKUBE_CONTAINER_GROUP=true make docker-compose