diff options
Diffstat (limited to 'roles')
7 files changed, 52 insertions, 7 deletions
| diff --git a/roles/openshift_ansible_inventory/templates/multi_ec2.yaml.j2 b/roles/openshift_ansible_inventory/templates/multi_ec2.yaml.j2 index 8228ab915..ce8515e17 100644 --- a/roles/openshift_ansible_inventory/templates/multi_ec2.yaml.j2 +++ b/roles/openshift_ansible_inventory/templates/multi_ec2.yaml.j2 @@ -15,10 +15,10 @@ accounts:      env_vars:        AWS_ACCESS_KEY_ID: {{ account.env_vars.AWS_ACCESS_KEY_ID }}        AWS_SECRET_ACCESS_KEY: {{ account.env_vars.AWS_SECRET_ACCESS_KEY }} -{% if account.all_group is defined and account.hostvars is defined%} +{% if account.all_group is defined and account.extra_vars is defined%}      all_group: {{ account.all_group }} -    hostvars: -{%    for property, value in account.hostvars.items() %} +    extra_vars: +{%    for property, value in account.extra_vars.items() %}        {{ property }}: {{ value }}  {%    endfor %}  {% endif %} diff --git a/roles/openshift_facts/library/openshift_facts.py b/roles/openshift_facts/library/openshift_facts.py index 67994d11d..795f38341 100755 --- a/roles/openshift_facts/library/openshift_facts.py +++ b/roles/openshift_facts/library/openshift_facts.py @@ -500,7 +500,7 @@ def set_aggregate_facts(facts):  def set_deployment_facts_if_unset(facts):      """ Set Facts that vary based on deployment_type. This currently          includes common.service_type, common.config_base, master.registry_url, -        node.registry_url +        node.registry_url, node.storage_plugin_deps          Args:              facts (dict): existing facts @@ -550,6 +550,14 @@ def set_deployment_facts_if_unset(facts):                      registry_url = 'aep3/aep-${component}:${version}'                  facts[role]['registry_url'] = registry_url +    if 'node' in facts: +        deployment_type = facts['common']['deployment_type'] +        if 'storage_plugin_deps' not in facts['node']: +            if deployment_type in ['openshift-enterprise', 'atomic-enterprise']: +                facts['node']['storage_plugin_deps'] = ['ceph', 'glusterfs'] +            else: +                facts['node']['storage_plugin_deps'] = [] +      return facts diff --git a/roles/openshift_node/tasks/main.yml b/roles/openshift_node/tasks/main.yml index 98271c8b3..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. @@ -124,9 +125,8 @@    notify:      - restart docker -- name: Allow NFS access for VMs -  seboolean: name=virt_use_nfs state=yes persistent=yes -  when: ansible_selinux and ansible_selinux.status == "enabled" +- 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..39c7b9390 --- /dev/null +++ b/roles/openshift_node/tasks/storage_plugins/main.yml @@ -0,0 +1,13 @@ +--- +# 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" 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" | 
