Implement ceph-nfs service
Change-Id: Ia909c62158acbec9d1dd926d45c66ac36e6b4244 Depends-On: I06325d4601128a0b5a2235370fa44012427c29e3 Implements: blueprint ceph-nfs-ganesha
This commit is contained in:
parent
096746a48b
commit
0bc83d06f3
@ -382,6 +382,7 @@ enable_central_logging: "no"
|
||||
enable_ceph: "no"
|
||||
enable_ceph_mds: "no"
|
||||
enable_ceph_rgw: "no"
|
||||
enable_ceph_nfs: "no"
|
||||
enable_chrony: "no"
|
||||
enable_cinder: "no"
|
||||
enable_cinder_backup: "yes"
|
||||
|
@ -299,6 +299,9 @@ ceph
|
||||
[ceph-mgr:children]
|
||||
ceph
|
||||
|
||||
[ceph-nfs:children]
|
||||
ceph
|
||||
|
||||
[ceph-mon:children]
|
||||
ceph
|
||||
|
||||
|
@ -318,6 +318,9 @@ ceph
|
||||
[ceph-mgr:children]
|
||||
ceph
|
||||
|
||||
[ceph-nfs:children]
|
||||
ceph
|
||||
|
||||
[ceph-mon:children]
|
||||
ceph
|
||||
|
||||
|
@ -20,6 +20,10 @@ ceph_mgr_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker
|
||||
ceph_mgr_tag: "{{ ceph_tag }}"
|
||||
ceph_mgr_image_full: "{{ ceph_mgr_image }}:{{ ceph_mgr_tag }}"
|
||||
|
||||
ceph_nfs_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ ceph_install_type }}-ceph-nfs"
|
||||
ceph_nfs_tag: "{{ ceph_tag }}"
|
||||
ceph_nfs_image_full: "{{ ceph_nfs_image }}:{{ ceph_nfs_tag }}"
|
||||
|
||||
ceph_osd_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ ceph_install_type }}-ceph-osd"
|
||||
ceph_osd_tag: "{{ ceph_tag }}"
|
||||
ceph_osd_image_full: "{{ ceph_osd_image }}:{{ ceph_osd_tag }}"
|
||||
|
@ -10,6 +10,7 @@
|
||||
- "ceph-rgw"
|
||||
- "ceph-mgr"
|
||||
- "ceph-mds"
|
||||
- "ceph-nfs"
|
||||
|
||||
- name: Copying over config.json files for services
|
||||
template:
|
||||
@ -28,6 +29,8 @@
|
||||
group: "ceph-mgr"
|
||||
- name: "ceph-mds"
|
||||
group: "ceph-mds"
|
||||
- name: "ceph-nfs"
|
||||
group: "ceph-nfs"
|
||||
|
||||
- name: Copying over ceph.conf
|
||||
vars:
|
||||
@ -44,3 +47,4 @@
|
||||
- "ceph-rgw"
|
||||
- "ceph-mgr"
|
||||
- "ceph-mds"
|
||||
- "ceph-nfs"
|
||||
|
@ -12,6 +12,9 @@
|
||||
- include: start_mgrs.yml
|
||||
when: inventory_hostname in groups['ceph-mgr']
|
||||
|
||||
- include: start_nfss.yml
|
||||
when: inventory_hostname in groups['ceph-nfs']
|
||||
|
||||
- include: bootstrap_osds.yml
|
||||
when: inventory_hostname in groups['ceph-osd']
|
||||
|
||||
|
@ -36,3 +36,11 @@
|
||||
when:
|
||||
- enable_ceph_mds | bool
|
||||
- inventory_hostname in groups['ceph-mds']
|
||||
|
||||
- name: Pulling ceph-nfs image
|
||||
kolla_docker:
|
||||
action: "pull_image"
|
||||
common_options: "{{ docker_common_options }}"
|
||||
image: "{{ ceph_nfs_image_full }}"
|
||||
when:
|
||||
- inventory_hostname in groups['ceph-nfs']
|
||||
|
12
ansible/roles/ceph/tasks/start_nfss.yml
Normal file
12
ansible/roles/ceph/tasks/start_nfss.yml
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
- name: Starting ceph-nfs container
|
||||
kolla_docker:
|
||||
action: "start_container"
|
||||
common_options: "{{ docker_common_options }}"
|
||||
image: "{{ ceph_nfs_image_full }}"
|
||||
name: "ceph_nfs"
|
||||
volumes:
|
||||
- "{{ node_config_directory }}/ceph-nfs/:{{ container_config_directory }}/:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "/var/run/dbus:/var/run/dbus"
|
||||
- "kolla_logs:/var/log/kolla/"
|
@ -19,3 +19,8 @@
|
||||
when:
|
||||
- enable_ceph_mds | bool
|
||||
- inventory_hostname in groups['ceph-mds']
|
||||
|
||||
- include: start_nfss.yml
|
||||
when:
|
||||
- enable_ceph_nfs | bool
|
||||
- inventory_hostname in groups['ceph-nfs']
|
||||
|
24
ansible/roles/ceph/templates/ceph-nfs.json.j2
Normal file
24
ansible/roles/ceph/templates/ceph-nfs.json.j2
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
"command": "/usr/bin/ganesha.nfsd -f /etc/ganesha/ganesha.conf",
|
||||
"config_files": [
|
||||
{
|
||||
"source": "{{ container_config_directory }}/ganesha.conf",
|
||||
"dest": "/etc/ganesha/ganesha.conf",
|
||||
"owner": "ceph",
|
||||
"perm": "0600"
|
||||
},
|
||||
{
|
||||
"source": "{{ container_config_directory }}/ceph.conf",
|
||||
"dest": "/etc/ceph/ceph.conf",
|
||||
"owner": "ceph",
|
||||
"perm": "0600"
|
||||
},
|
||||
{
|
||||
"source": "{{ container_config_directory }}/ceph.client.admin.keyring",
|
||||
"dest": "/etc/ceph/ceph.client.admin.keyring",
|
||||
"owner": "ceph",
|
||||
"perm": "0600",
|
||||
"optional": true
|
||||
}
|
||||
]
|
||||
}
|
27
ansible/roles/ceph/templates/ganesha.conf.j2
Normal file
27
ansible/roles/ceph/templates/ganesha.conf.j2
Normal file
@ -0,0 +1,27 @@
|
||||
EXPORT
|
||||
{
|
||||
Export_id=1;
|
||||
|
||||
Path = "/";
|
||||
|
||||
Pseudo = /cephfs;
|
||||
|
||||
Access_Type = RW;
|
||||
|
||||
Protocols = 4;
|
||||
|
||||
Transports = TCP;
|
||||
|
||||
FSAL {
|
||||
Name = CEPH;
|
||||
User_Id = "admin";
|
||||
}
|
||||
}
|
||||
|
||||
LOG {
|
||||
Facility {
|
||||
name = FILE;
|
||||
destination = "/var/log/kolla/ceph/ceph-nfs.log";
|
||||
enable = active;
|
||||
}
|
||||
}
|
@ -144,6 +144,7 @@ kolla_internal_vip_address: "10.10.10.254"
|
||||
#enable_ceph: "no"
|
||||
#enable_ceph_mds: "no"
|
||||
#enable_ceph_rgw: "no"
|
||||
#enable_ceph_nfs: "no"
|
||||
#enable_chrony: "no"
|
||||
#enable_cinder: "no"
|
||||
#enable_cinder_backup: "yes"
|
||||
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Implement ceph-nfs service, Nfs-ganesha can be used as a proxy when mounting
|
||||
ceph file shares.
|
Loading…
Reference in New Issue
Block a user