diff options
| author | Jason DeTiberus <jdetiber@redhat.com> | 2015-10-23 14:08:40 -0400 | 
|---|---|---|
| committer | Jason DeTiberus <jdetiber@redhat.com> | 2015-10-26 15:33:42 -0400 | 
| commit | aff1356306adf8d02efe06ccbb322b68bef0995d (patch) | |
| tree | 3e2bb40077fece9ec59ff294cf85bfc38c0f3aa7 /roles/openshift_node | |
| parent | db570ca4fa92560e0ec1b90e1eabe6192f332c61 (diff) | |
make storage plugin dependency installation more flexible
Diffstat (limited to 'roles/openshift_node')
| -rw-r--r-- | roles/openshift_node/tasks/main.yml | 21 | ||||
| -rw-r--r-- | roles/openshift_node/tasks/storage_plugins/ceph.yml | 5 | ||||
| -rw-r--r-- | roles/openshift_node/tasks/storage_plugins/glusterfs.yml | 12 | ||||
| -rw-r--r-- | roles/openshift_node/tasks/storage_plugins/main.yml | 17 | ||||
| -rw-r--r-- | roles/openshift_node/tasks/storage_plugins/nfs.yml | 7 | 
5 files changed, 44 insertions, 18 deletions
diff --git a/roles/openshift_node/tasks/main.yml b/roles/openshift_node/tasks/main.yml index 036196d5e..aea60b75c 100644 --- a/roles/openshift_node/tasks/main.yml +++ b/roles/openshift_node/tasks/main.yml @@ -32,6 +32,7 @@        schedulable: "{{ openshift_schedulable | default(openshift_scheduleable) | default(None) }}"        docker_log_driver:  "{{ lookup( 'oo_option' , 'docker_log_driver'  )  | default('',True) }}"        docker_log_options: "{{ lookup( 'oo_option' , 'docker_log_options' )  | default('',True) }}" +      storage_plugin_deps: "{{ osn_storage_plugin_deps | default(None) }}"  # We have to add tuned-profiles in the same transaction otherwise we run into depsolving  # problems because the rpms don't pin the version properly. @@ -39,15 +40,6 @@    yum: pkg={{ openshift.common.service_type }}-node{{ openshift_version  }},tuned-profiles-{{ openshift.common.service_type }}-node{{ openshift_version  }} state=present    register: node_install_result -# TODO: allow for storage pre-requisites to be optional -- name: Install storage plugin pre-requisites -  yum: -    pkg: "{{ item }}" -    state: installed -  with_items: -  - glusterfs-fuse -  - ceph-common -  - name: Install sdn-ovs package    yum: pkg={{ openshift.common.service_type }}-sdn-ovs{{ openshift_version }} state=present    register: sdn_install_result @@ -133,15 +125,8 @@    notify:      - restart docker -- name: Set sebooleans to allow storage plugin access from containers -  seboolean: -    name: "{{ item }}" -    state: yes -    persistent: yes -  when: ansible_selinux and ansible_selinux.status == "enabled" -  with_items: -  - virt_use_nfs -  - virt_use_fusefs +- name: Additional storage plugin configuration +  include: storage_plugins/main.yml  - name: Start and enable node    service: name={{ openshift.common.service_type }}-node enabled=yes state=started diff --git a/roles/openshift_node/tasks/storage_plugins/ceph.yml b/roles/openshift_node/tasks/storage_plugins/ceph.yml new file mode 100644 index 000000000..b6936618a --- /dev/null +++ b/roles/openshift_node/tasks/storage_plugins/ceph.yml @@ -0,0 +1,5 @@ +--- +- name: Install Ceph storage plugin dependencies +  yum: +    pkg: ceph-common +    state: installed diff --git a/roles/openshift_node/tasks/storage_plugins/glusterfs.yml b/roles/openshift_node/tasks/storage_plugins/glusterfs.yml new file mode 100644 index 000000000..b812e81df --- /dev/null +++ b/roles/openshift_node/tasks/storage_plugins/glusterfs.yml @@ -0,0 +1,12 @@ +--- +- name: Install GlusterFS storage plugin dependencies +  yum: +    pkg: glusterfs-fuse +    state: installed + +- name: Set seboolean to allow gluster storage plugin access from containers +  seboolean: +    name: virt_use_fusefs +    state: yes +    persistent: yes +  when: ansible_selinux and ansible_selinux.status == "enabled" diff --git a/roles/openshift_node/tasks/storage_plugins/main.yml b/roles/openshift_node/tasks/storage_plugins/main.yml new file mode 100644 index 000000000..042b38cd3 --- /dev/null +++ b/roles/openshift_node/tasks/storage_plugins/main.yml @@ -0,0 +1,17 @@ +--- +- pause: + +# The NFS storage plugin is always enabled since it doesn't require any +# additional package dependencies +- name: NFS storage plugin configuration +  include: nfs.yml + +- name: GlusterFS storage plugin configuration +  include: glusterfs.yml +  when: "'glusterfs' in openshift.node.storage_plugin_deps" + +- name: Ceph storage plugin configuration +  include: ceph.yml +  when: "'ceph' in openshift.node.storage_plugin_deps" + +- pause: diff --git a/roles/openshift_node/tasks/storage_plugins/nfs.yml b/roles/openshift_node/tasks/storage_plugins/nfs.yml new file mode 100644 index 000000000..1edf21d9b --- /dev/null +++ b/roles/openshift_node/tasks/storage_plugins/nfs.yml @@ -0,0 +1,7 @@ +--- +- name: Set seboolean to allow nfs storage plugin access from containers +  seboolean: +    name: virt_use_nfs +    state: yes +    persistent: yes +  when: ansible_selinux and ansible_selinux.status == "enabled"  | 
