mirror of
https://github.com/ansible/awx.git
synced 2026-02-20 20:50:06 -03:30
Merge pull request #5597 from shanemcd/kube-oc-specific-server-version-logic
Add kubectl / oc-specific API server version logic Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
This commit is contained in:
@@ -12,3 +12,12 @@
|
|||||||
set_fact:
|
set_fact:
|
||||||
postgresql_service_name: "{{ kubernetes_deployment_name }}-postgresql"
|
postgresql_service_name: "{{ kubernetes_deployment_name }}-postgresql"
|
||||||
when: "pg_hostname is not defined or pg_hostname == ''"
|
when: "pg_hostname is not defined or pg_hostname == ''"
|
||||||
|
|
||||||
|
- name: Get Kubernetes API version
|
||||||
|
command: |
|
||||||
|
kubectl version -o json
|
||||||
|
register: kube_version
|
||||||
|
|
||||||
|
- name: Extract server version from command output
|
||||||
|
set_fact:
|
||||||
|
kube_api_version: "{{ (kube_version.stdout | from_json).serverVersion.gitVersion[1:] }}"
|
||||||
|
|||||||
@@ -185,45 +185,6 @@
|
|||||||
include_tasks: ssl_cert_gen.yml
|
include_tasks: ssl_cert_gen.yml
|
||||||
when: "rabbitmq_use_ssl|default(False)|bool"
|
when: "rabbitmq_use_ssl|default(False)|bool"
|
||||||
|
|
||||||
- name: Get Kubernetes Config
|
|
||||||
command: |
|
|
||||||
{{ kubectl_or_oc }} config view -o json
|
|
||||||
register: kube_config_cmd
|
|
||||||
no_log: true
|
|
||||||
|
|
||||||
- name: Convert kube config to dictionary
|
|
||||||
set_fact:
|
|
||||||
kube_config: "{{ kube_config_cmd.stdout | from_json }}"
|
|
||||||
no_log: true
|
|
||||||
|
|
||||||
- name: Extract current context from kube config
|
|
||||||
set_fact:
|
|
||||||
current_kube_context: "{{ kube_config['current-context'] }}"
|
|
||||||
|
|
||||||
- name: Find cluster for current context
|
|
||||||
set_fact:
|
|
||||||
kube_cluster: |
|
|
||||||
{{ (kube_config.contexts |
|
|
||||||
selectattr("name", "equalto", current_kube_context) |
|
|
||||||
list)[0].context.cluster }}
|
|
||||||
|
|
||||||
- name: Find server for current context
|
|
||||||
set_fact:
|
|
||||||
kube_server: |
|
|
||||||
{{ (kube_config.clusters |
|
|
||||||
selectattr("name", "equalto", kube_cluster|trim) |
|
|
||||||
list)[0].cluster.server }}
|
|
||||||
|
|
||||||
- name: Get kube version from api server
|
|
||||||
uri:
|
|
||||||
url: "{{ kube_server | trim }}/version"
|
|
||||||
validate_certs: false
|
|
||||||
register: kube_version
|
|
||||||
|
|
||||||
- name: Extract server version from command output
|
|
||||||
set_fact:
|
|
||||||
kube_api_version: "{{ kube_version.json.gitVersion[1:] }}"
|
|
||||||
|
|
||||||
- name: Determine StatefulSet api version
|
- name: Determine StatefulSet api version
|
||||||
set_fact:
|
set_fact:
|
||||||
kubernetes_statefulset_api_version: "{{ 'apps/v1' if kube_api_version is version('1.9', '>=') else 'apps/v1beta1' }}"
|
kubernetes_statefulset_api_version: "{{ 'apps/v1' if kube_api_version is version('1.9', '>=') else 'apps/v1beta1' }}"
|
||||||
|
|||||||
@@ -32,3 +32,45 @@
|
|||||||
- name: Add privileged SCC to service account
|
- name: Add privileged SCC to service account
|
||||||
shell: |
|
shell: |
|
||||||
{{ openshift_oc_bin }} adm policy add-scc-to-user privileged system:serviceaccount:{{ openshift_project }}:awx
|
{{ openshift_oc_bin }} adm policy add-scc-to-user privileged system:serviceaccount:{{ openshift_project }}:awx
|
||||||
|
|
||||||
|
# https://github.com/openshift/origin/issues/19182#issuecomment-378233606
|
||||||
|
# If oc version ever grows a -o json option, remove the following tasks
|
||||||
|
# and go with the approach in kubernetes.yml.
|
||||||
|
- name: Get Kubernetes Config
|
||||||
|
command: |
|
||||||
|
{{ openshift_oc_bin }} config view -o json
|
||||||
|
register: kube_config_cmd
|
||||||
|
no_log: true
|
||||||
|
|
||||||
|
- name: Convert kube config to dictionary
|
||||||
|
set_fact:
|
||||||
|
kube_config: "{{ kube_config_cmd.stdout | from_json }}"
|
||||||
|
no_log: true
|
||||||
|
|
||||||
|
- name: Extract current context from kube config
|
||||||
|
set_fact:
|
||||||
|
current_kube_context: "{{ kube_config['current-context'] }}"
|
||||||
|
|
||||||
|
- name: Find cluster for current context
|
||||||
|
set_fact:
|
||||||
|
kube_cluster: |
|
||||||
|
{{ (kube_config.contexts |
|
||||||
|
selectattr("name", "equalto", current_kube_context) |
|
||||||
|
list)[0].context.cluster }}
|
||||||
|
|
||||||
|
- name: Find server for current context
|
||||||
|
set_fact:
|
||||||
|
kube_server: |
|
||||||
|
{{ (kube_config.clusters |
|
||||||
|
selectattr("name", "equalto", kube_cluster|trim) |
|
||||||
|
list)[0].cluster.server }}
|
||||||
|
|
||||||
|
- name: Get kube version from api server
|
||||||
|
uri:
|
||||||
|
url: "{{ kube_server | trim }}/version"
|
||||||
|
validate_certs: false
|
||||||
|
register: kube_version
|
||||||
|
|
||||||
|
- name: Extract server version from command output
|
||||||
|
set_fact:
|
||||||
|
kube_api_version: "{{ kube_version.json.gitVersion[1:] }}"
|
||||||
|
|||||||
Reference in New Issue
Block a user