Merge "Add support for NFS"
This commit is contained in:
commit
a781cb40b1
@ -407,6 +407,20 @@ nova_discover_hosts_in_cells_interval: "{{ 300 if groups['nova_compute'] | lengt
|
|||||||
# Otherwise keys will be generated on the first run and not regenerated each run.
|
# Otherwise keys will be generated on the first run and not regenerated each run.
|
||||||
nova_recreate_keys: False
|
nova_recreate_keys: False
|
||||||
|
|
||||||
|
# Define nfs information to enable nfs shares as mounted directories for
|
||||||
|
# nova. The ``nova_nfs_client`` value is a list of dictionaries that must
|
||||||
|
# be filled out completely to enable the persistent NFS mounts.
|
||||||
|
#
|
||||||
|
# Example of the expected dict structure:
|
||||||
|
# nova_nfs_client:
|
||||||
|
# - server: "127.0.0.1" ## Hostname or IP address of NFS Server
|
||||||
|
# remote_path: "/instances" ## Remote path from the NFS server's export
|
||||||
|
# local_path: "/var/lib/nova/instances" ## Local path on machine
|
||||||
|
# type: "nfs" ## This can be nfs or nfs4
|
||||||
|
# options: "_netdev,auto" ## Mount options
|
||||||
|
# config_overrides: "{}" ## Override dictionary for unit file
|
||||||
|
nova_nfs_client: []
|
||||||
|
|
||||||
# Nova Ceph rbd
|
# Nova Ceph rbd
|
||||||
# Enble and define nova_libvirt_images_rbd_pool to use rbd as nova backend
|
# Enble and define nova_libvirt_images_rbd_pool to use rbd as nova backend
|
||||||
#nova_libvirt_images_rbd_pool: vms
|
#nova_libvirt_images_rbd_pool: vms
|
||||||
|
5
releasenotes/notes/add-nfs-support-5aacc81dbf3c2270.yaml
Normal file
5
releasenotes/notes/add-nfs-support-5aacc81dbf3c2270.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- It is now possible to use NFS mountpoints with the role by using the
|
||||||
|
nova_nfs_client variable, which is useful for using NFS for instance
|
||||||
|
data and saves.
|
@ -24,3 +24,31 @@
|
|||||||
- include_tasks: nova_compute_key_distribute.yml
|
- include_tasks: nova_compute_key_distribute.yml
|
||||||
tags:
|
tags:
|
||||||
- nova-config
|
- nova-config
|
||||||
|
|
||||||
|
- name: Run the systemd mount role
|
||||||
|
include_role:
|
||||||
|
name: systemd_mount
|
||||||
|
private: true
|
||||||
|
vars:
|
||||||
|
systemd_mounts:
|
||||||
|
- config_overrides: "{{ mount_var.config_overrides | default({}) }}"
|
||||||
|
what: "{{ mount_var.server }}:{{ mount_var.remote_path }}"
|
||||||
|
where: "{{ mount_var.local_path }}"
|
||||||
|
type: "{{ mount_var.type }}"
|
||||||
|
options: "{{ mount_var.options }}"
|
||||||
|
unit:
|
||||||
|
After:
|
||||||
|
- network.target rpcbind.service rpc-statd.service
|
||||||
|
Conflicts:
|
||||||
|
- umount.target
|
||||||
|
Requires:
|
||||||
|
- rpcbind.service rpc-statd.service
|
||||||
|
Before:
|
||||||
|
- nova-compute.service
|
||||||
|
state: 'started'
|
||||||
|
enabled: true
|
||||||
|
with_items: "{{ nova_nfs_client }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: mount_var
|
||||||
|
tags:
|
||||||
|
- nova-config
|
||||||
|
@ -52,6 +52,15 @@
|
|||||||
- nova-key
|
- nova-key
|
||||||
- nova-key-create
|
- nova-key-create
|
||||||
|
|
||||||
|
- name: Create Nova NFS mount point(s)
|
||||||
|
file:
|
||||||
|
path: "{{ item.local_path }}"
|
||||||
|
state: directory
|
||||||
|
mode: "0755"
|
||||||
|
with_items: "{{ nova_nfs_client }}"
|
||||||
|
tags:
|
||||||
|
- nova-dirs
|
||||||
|
|
||||||
- name: Create nova dir
|
- name: Create nova dir
|
||||||
file:
|
file:
|
||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
@ -59,6 +68,8 @@
|
|||||||
owner: "{{ item.owner|default(nova_system_user_name) }}"
|
owner: "{{ item.owner|default(nova_system_user_name) }}"
|
||||||
group: "{{ item.group|default(nova_system_group_name) }}"
|
group: "{{ item.group|default(nova_system_group_name) }}"
|
||||||
mode: "{{ item.mode|default('0755') }}"
|
mode: "{{ item.mode|default('0755') }}"
|
||||||
|
when:
|
||||||
|
- "item.path not in nova_mount_points"
|
||||||
with_items:
|
with_items:
|
||||||
- { path: "/openstack", owner: "root", group: "root" }
|
- { path: "/openstack", owner: "root", group: "root" }
|
||||||
- { path: "/etc/nova", mode: "0750" }
|
- { path: "/etc/nova", mode: "0750" }
|
||||||
|
@ -28,3 +28,13 @@ filtered_nova_services: |-
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{{ services | sort(attribute='start_order') }}
|
{{ services | sort(attribute='start_order') }}
|
||||||
|
|
||||||
|
# Define all Nova mountpoints when using NFS. If defined
|
||||||
|
# the corresponding directory will only be created by the
|
||||||
|
# mount point task.
|
||||||
|
nova_mount_points: |-
|
||||||
|
{% set mps = [] %}
|
||||||
|
{% for mp in nova_nfs_client %}
|
||||||
|
{% set _ = mps.append(mp.local_path) %}
|
||||||
|
{% endfor %}
|
||||||
|
{{ mps }}
|
||||||
|
Loading…
Reference in New Issue
Block a user