My Ansible Playbook to install an OpenShift Lab
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
2.0 KiB

---
- name: Create a directory for the hostpath-provisioner
file: state=directory path={{ hostpath_provisioner_path }} owner=root group=root mode=0777 setype=svirt_sandbox_file_t
- name: Query existing deploymentconfigs
command: oc get daemonset -n "{{ hostpath_provisioner_target_namespace }}" -o name -l "name=hostpath-provisioner"
register: oc_get_daemonset
changed_when: false
- name: Deploy app if needed
set_fact:
deploy_needed: "{{ 'daemonsets/hostpath-provisioner' not in oc_get_daemonset.stdout_lines }}"
- name: Process the OpenShift Template and create the OpenShift objects for the hostpath-provisioner
shell: oc process -f "{{ hostpath_provisioner_template }}" -p "HOSTPATH_TO_USE={{ hostpath_provisioner_path }}" -p "TARGET_NAMESPACE={{ hostpath_provisioner_target_namespace }}" -p "HOSTPATH_PROVISIONER_IMAGE={{ hostpath_provisioner_docker_image }}" | oc create -f -
when: deploy_needed
register: oc
failed_when: oc.rc > 0 and 'Error from server (AlreadyExists):' not in oc.stderr
changed_when: oc.rc == 0
- name: Create a temporary directory to hold the PVC YAML file
tempfile: state=directory
register: tempfile
- name: Copy the PersistentVolumeClaim object definition
copy: src=registry-storage-pvc.yaml dest={{tempfile.path}}/registry-storage-pvc.yaml
when: hostpath_provisioner_patch_docker_registry
- name: Create a PersistentVolumeClaim for the docker-registry
command: oc create -n default -f {{tempfile.path}}/registry-storage-pvc.yaml
when: hostpath_provisioner_patch_docker_registry
register: oc
failed_when: oc.rc > 0 and 'Error from server (AlreadyExists):' not in oc.stderr
changed_when: oc.rc == 0
- name: Add the new volume to docker-registry
command: oc volume dc docker-registry -n default --add=true --overwrite=true --type=persistentVolumeClaim --name=registry-storage --claim-name=registry-storage
when: hostpath_provisioner_patch_docker_registry