diff --git a/tools/docker-compose-minikube/minikube/defaults/main.yml b/tools/docker-compose-minikube/minikube/defaults/main.yml index 42ee8bdbe7..b61ada8d34 100644 --- a/tools/docker-compose-minikube/minikube/defaults/main.yml +++ b/tools/docker-compose-minikube/minikube/defaults/main.yml @@ -1,6 +1,10 @@ --- sources_dest: '_sources' driver: 'docker' +addons: + - default-storageclass + - storage-provisioner + - dashboard 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' diff --git a/tools/docker-compose-minikube/minikube/tasks/main.yml b/tools/docker-compose-minikube/minikube/tasks/main.yml index aa2c4c8c8d..9ddef11167 100644 --- a/tools/docker-compose-minikube/minikube/tasks/main.yml +++ b/tools/docker-compose-minikube/minikube/tasks/main.yml @@ -1,4 +1,7 @@ --- +- name: Include pre-flight checks + include_tasks: preflight.yml + - name: Create _sources directory file: path: "{{ sources_dest }}" @@ -40,7 +43,23 @@ - ansible_system == "Darwin" - name: Starting Minikube - shell: "{{ sources_dest }}/minikube start --driver={{ driver }} --install-addons=true --addons=ingress" + 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" + 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" - name: Create ServiceAccount and clusterRoleBinding k8s: diff --git a/tools/docker-compose-minikube/minikube/tasks/preflight.yml b/tools/docker-compose-minikube/minikube/tasks/preflight.yml new file mode 100644 index 0000000000..989b782b81 --- /dev/null +++ b/tools/docker-compose-minikube/minikube/tasks/preflight.yml @@ -0,0 +1,12 @@ +--- +- name: Check if Kubernetes python module is installed + shell: pip freeze | grep openshift + register: _pip_openshift + ignore_errors: true + +- name: Preflight check - require openshift python module + assert: + fail_msg: "The openshift python module was not found. You can either install it via 'pip install openshift' or using your distro package manager." + that: + - _pip_openshift.rc == 0 + - "'openshift==' in _pip_openshift.stdout"