blob: 6544bf11571c9a507cc7f94ba438700010d3cd57 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# Copyright (C) 2015 Kristoffer Gronlund
#
# License: GNU General Public License (GPL)
version: 2.2
category: NFS
shortdesc: NFS Server
longdesc: |
Configure an NFS server. Requires an existing file system resource,
for example a file system running on LVM on DRBD.
parameters:
- name: base-id
required: true
shortdesc: Base File System Resource ID
longdesc: The ID of an existing file system resource.
type: resource
value: base-fs
include:
- name: rootfs
script: exportfs
required: false
shortdesc: NFSv4 Virtual File System Root
parameters:
- name: id
value: exportfs-root
- name: fsid
value: 0
- name: directory
value: /srv/nfs
- name: options
value: "rw,crossmnt"
- script: exportfs
required: true
shortdesc: Exported NFS Mount Point
parameters:
- name: id
value: exportfs
- name: directory
value: /srv/nfs/example
- name: options
value: "rw,mountpoint"
- name: wait_for_leasetime_on_stop
value: true
- script: virtual-ip
required: false
shortdesc: Virtual IP Address Used to Access the NFS Mounts
actions:
- crm: "configure show {{base-id}}"
shortdesc: Ensure That the File System Resource Exists
- install: nfs-client nfs-kernel-server nfs-utils
shortdesc: Install NFS Packages
- service:
- nfsserver: enable
- nfsserver: start
- include: rootfs
- include: exportfs
- include: virtual-ip
- cib: |
group g-nfs {{exportfs:id}} {{virtual-ip:id}}
order base-then-nfs Mandatory: {{base-id}} g-nfs
colocation nfs-with-base inf: g-nfs {{base-id}}
{{#rootfs}}
clone c-{{rootfs:id}} {{rootfs:id}}
order rootfs-before-nfs Mandatory: c-{{rootfs:id}} g-nfs:start
colocation nfs-with-rootfs inf: g-nfs c-{{rootfs:id}}
{{/rootfs}}
- call: /usr/sbin/exportfs -v
error: Failed to configure NFS exportfs
shortdesc: Check Result of exportfs -v
sudo: true
|