Browse Source

merge changes from origin

master
Nicolas Massé 8 years ago
parent
commit
66fa83ca40
  1. 3
      playbooks/post-install.yml
  2. 11
      roles/hostpath-provisioner/files/registry-storage-pvc.yaml
  3. 39
      roles/hostpath-provisioner/tasks/main.yml
  4. 7
      roles/hostpath-provisioner/vars/main.yml
  5. 3
      test.hosts

3
playbooks/post-install.yml

@ -6,4 +6,5 @@
tasks: tasks:
- name: Give admin rights to nicolas - name: Give admin rights to nicolas
command: oc adm policy add-cluster-role-to-user cluster-admin nicolas.masse@itix.fr command: oc adm policy add-cluster-role-to-user cluster-admin nicolas.masse@itix.fr
roles:
- { name: 'hostpath-provisioner', tags: 'hostpath-provisioner' }

11
roles/hostpath-provisioner/files/registry-storage-pvc.yaml

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: registry-storage
namespace: default
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi

39
roles/hostpath-provisioner/tasks/main.yml

@ -0,0 +1,39 @@
---
- 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

7
roles/hostpath-provisioner/vars/main.yml

@ -0,0 +1,7 @@
---
hostpath_provisioner_path: /var/openshift
hostpath_provisioner_target_namespace: default
hostpath_provisioner_docker_image: nmasse/openshift-hostpath-provisioner:latest
hostpath_provisioner_template: https://raw.githubusercontent.com/nmasse-itix/OpenShift-HostPath-Provisioner/master/setup/hostpath-provisioner-template.yaml
hostpath_provisioner_patch_docker_registry: true

3
test.hosts

@ -50,8 +50,9 @@ osm_default_node_selector='workload-app=true'
# Make sure NTP is enabled # Make sure NTP is enabled
openshift_clock_enabled=true openshift_clock_enabled=true
# default router # Place router and registry on infra nodes
openshift_hosted_router_selector='workload-infra=true' openshift_hosted_router_selector='workload-infra=true'
openshift_hosted_registry_selector='workload-infra=true'
# Do not create the default project "my-project" # Do not create the default project "my-project"
openshift_additional_projects={} openshift_additional_projects={}

Loading…
Cancel
Save