mirror of
https://github.com/ansible/awx.git
synced 2024-10-31 23:51:09 +03:00
77 lines
2.5 KiB
YAML
77 lines
2.5 KiB
YAML
---
|
|
- name: Get Project Detail
|
|
shell: "{{ openshift_oc_bin }} get project {{ openshift_project }}"
|
|
register: project_details
|
|
ignore_errors: true
|
|
|
|
- name: Create AWX Openshift Project
|
|
shell: "{{ openshift_oc_bin }} new-project {{ openshift_project }}"
|
|
when: project_details.rc != 0
|
|
|
|
- name: Ensure PostgreSQL PVC is available
|
|
block:
|
|
- name: Check PVC status
|
|
command: "{{ openshift_oc_bin }} get pvc {{ openshift_pg_pvc_name }} -n {{ openshift_project }} -o=jsonpath='{.status.phase}'"
|
|
register: pg_pvc_status
|
|
ignore_errors: true
|
|
|
|
- name: Ensure PostgreSQL PVC is available
|
|
assert:
|
|
that:
|
|
- pg_pvc_status.stdout == "Bound"
|
|
msg: "Ensure a PVC named '{{ openshift_pg_pvc_name }}' is created and bound in the '{{ openshift_project }}' namespace."
|
|
when:
|
|
- pg_hostname is not defined or pg_hostname == ''
|
|
- openshift_pg_emptydir is defined and (openshift_pg_emptydir | bool) != true
|
|
|
|
- name: Set postgresql service name
|
|
set_fact:
|
|
postgresql_service_name: "postgresql"
|
|
when: "pg_hostname is not defined or pg_hostname == ''"
|
|
|
|
- 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:] }}"
|