aboutsummaryrefslogtreecommitdiff
path: root/ansible/roles
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-11-11 16:58:30 +0000
committerGerrit Code Review <review@openstack.org>2016-11-11 16:58:30 +0000
commit7178e13d782c32b2d3b32aaadfd5cc6ba39c4a23 (patch)
treee073e3df4b65622f7dcb2e260e6491a795887b2b /ansible/roles
parentd389d7aacff98687a7fb625292cf767543e91f15 (diff)
parent17e6e629f5660a364498b2bfd2f5aa6aede79859 (diff)
downloadkolla-7178e13d782c32b2d3b32aaadfd5cc6ba39c4a23.tar.gz
kolla-7178e13d782c32b2d3b32aaadfd5cc6ba39c4a23.zip
Merge "Allow cinder-volume to be configured to use NFS"
Diffstat (limited to 'ansible/roles')
-rw-r--r--ansible/roles/cinder/defaults/main.yml3
-rw-r--r--ansible/roles/cinder/tasks/config.yml11
-rw-r--r--ansible/roles/cinder/templates/cinder-volume.json.j217
-rw-r--r--ansible/roles/cinder/templates/cinder.conf.j27
-rw-r--r--ansible/roles/nova/tasks/start_compute.yml3
5 files changed, 37 insertions, 4 deletions
diff --git a/ansible/roles/cinder/defaults/main.yml b/ansible/roles/cinder/defaults/main.yml
index ad948e6a4..757022f02 100644
--- a/ansible/roles/cinder/defaults/main.yml
+++ b/ansible/roles/cinder/defaults/main.yml
@@ -74,5 +74,8 @@ cinder_backends:
- name: "lvm-1"
driver: "lvm"
enabled: "{{ enable_cinder_backend_lvm | bool }}"
+ - name: "nfs-1"
+ driver: "nfs"
+ enabled: "{{ enable_cinder_backend_nfs | bool }}"
cinder_enabled_backends: "{{ cinder_backends|selectattr('enabled', 'equalto', true)|list }}"
diff --git a/ansible/roles/cinder/tasks/config.yml b/ansible/roles/cinder/tasks/config.yml
index 800401615..ecdd67c40 100644
--- a/ansible/roles/cinder/tasks/config.yml
+++ b/ansible/roles/cinder/tasks/config.yml
@@ -49,3 +49,14 @@
dest: "{{ node_config_directory }}/cinder/policy.json"
when:
cinder_policy.stat.exists
+
+- name: Copying over nfs_shares files for cinder_volume
+ template:
+ src: "{{ item }}"
+ dest: "{{ node_config_directory }}/cinder-volume/nfs_shares"
+ with_first_found:
+ - "{{ node_custom_config }}/nfs_shares.j2"
+ - "{{ node_custom_config }}/cinder/nfs_shares.j2"
+ - "{{ node_custom_config }}/cinder/cinder-volume/nfs_shares.j2"
+ - "{{ node_custom_config }}/cinder/{{ inventory_hostname }}/nfs_shares.j2"
+ when: enable_cinder_backend_nfs | bool
diff --git a/ansible/roles/cinder/templates/cinder-volume.json.j2 b/ansible/roles/cinder/templates/cinder-volume.json.j2
index db3891119..5dc729b14 100644
--- a/ansible/roles/cinder/templates/cinder-volume.json.j2
+++ b/ansible/roles/cinder/templates/cinder-volume.json.j2
@@ -6,19 +6,28 @@
"dest": "/etc/cinder/cinder.conf",
"owner": "cinder",
"perm": "0600"
- }{% if cinder_backend_ceph | bool %},
+ },
{
"source": "{{ container_config_directory }}/ceph.*",
"dest": "/etc/ceph/",
"owner": "cinder",
- "perm": "0700"
+ "perm": "0700",
+ "optional": {{ (not cinder_backend_ceph | bool) | string | lower }}
},
{
"source": "{{ container_config_directory }}/ceph.conf",
"dest": "/etc/ceph/ceph.conf",
"owner": "cinder",
- "perm": "0600"
- }{% endif %}
+ "perm": "0600",
+ "optional": {{ (not cinder_backend_ceph | bool) | string | lower }}
+ },
+ {
+ "source": "{{ container_config_directory }}/nfs_shares",
+ "dest": "/etc/cinder/nfs_shares",
+ "owner": "cinder",
+ "perm": "0600",
+ "optional": {{ (not enable_cinder_backend_nfs | bool) | string | lower }}
+ }
],
"permissions": [
{
diff --git a/ansible/roles/cinder/templates/cinder.conf.j2 b/ansible/roles/cinder/templates/cinder.conf.j2
index a34ee75fd..16f07b976 100644
--- a/ansible/roles/cinder/templates/cinder.conf.j2
+++ b/ansible/roles/cinder/templates/cinder.conf.j2
@@ -99,5 +99,12 @@ rbd_secret_uuid = {{ rbd_secret_uuid }}
report_discard_supported = True
{% endif %}
+{% if enable_cinder_backend_nfs | bool %}
+[nfs-1]
+volume_driver = cinder.volume.drivers.nfs.NfsDriver
+volume_backend_name = nfs-1
+nfs_shares_config = /etc/cinder/nfs_shares
+{% endif %}
+
[privsep_entrypoint]
helper_command=sudo cinder-rootwrap /etc/cinder/rootwrap.conf privsep-helper --config-file /etc/cinder/cinder.conf
diff --git a/ansible/roles/nova/tasks/start_compute.yml b/ansible/roles/nova/tasks/start_compute.yml
index 1ba3c47c8..d40e7a007 100644
--- a/ansible/roles/nova/tasks/start_compute.yml
+++ b/ansible/roles/nova/tasks/start_compute.yml
@@ -17,6 +17,7 @@
- "kolla_logs:/var/log/kolla/"
- "libvirtd:/var/lib/libvirt"
- "nova_compute:/var/lib/nova/"
+ - "/var/lib/nova/mnt:/var/lib/nova/mnt:shared"
- "nova_libvirt_qemu:/etc/libvirt/qemu"
register: start_nova_libvirt_container
# NOTE(Jeffrey4l): retry 5 to remove nova_libvirt container because when
@@ -37,6 +38,7 @@
- "{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}"
- "libvirtd:/var/lib/libvirt"
- "nova_compute:/var/lib/nova/"
+ - "/var/lib/nova/mnt:/var/lib/nova/mnt:shared"
- name: Starting nova-compute container
kolla_docker:
@@ -94,6 +96,7 @@
- "/etc/localtime:/etc/localtime:ro"
- "kolla_logs:/var/log/kolla"
- "nova_compute:/var/lib/nova"
+ - "/var/lib/nova/mnt:/var/lib/nova/mnt:shared"
- "heka_socket:/var/lib/kolla/heka/"
# TODO(jeffrey4l): how to handle the nova-compute-fake and
# nova-compute-ironic