mirror of
https://github.com/ansible/awx.git
synced 2024-10-30 22:21:13 +03:00
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:
commit
a0304eeb16
@ -12,3 +12,12 @@
|
||||
set_fact:
|
||||
postgresql_service_name: "{{ kubernetes_deployment_name }}-postgresql"
|
||||
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
|
||||
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
|
||||
set_fact:
|
||||
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
|
||||
shell: |
|
||||
{{ 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:] }}"
|
||||
|
Loading…
Reference in New Issue
Block a user