forked from voxpupuli/puppet-cvmfs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
110 lines (85 loc) · 3.46 KB
/
README
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
This cvmfs module is designed to install, enable and configure
CvmFS clients and servers.
For general details on CvmFS see
http://cernvm.cern.ch/portal/filesystem
The module include two customfacts
cvmfsversion returns the version of cvmfs installed as supplied by '/usr/bin/cvmfs2 --version'
cvmfspartsize returns the size in megabytes of partition that contains the CVMFS_CACHE_BASE.
These facts will only be available once cvmfs is installed and so configuration
of cvmfs is skipped until cvmfs has been installed on the first puppet run.
Two puppet runs are required to install and then configure cvmfs.
Client Configuration
--------------------
To configure a cvmfs client enable the module
include (cvmfs)
and then enable individual repositories optionally with a particular
configuration on each repository. e.g.
cvmfs::mount{'lhcb.example.org':}
cvmfs::mount{'atlas.example.org': cvmfs_quota => 50 }
cvmfs::mount{'cms.example.org':
cvmfs_quota => 100,
cvmfs_server_url => 'http://web.example.org/cms.cern.ch'
}
The global defaults for all repositories are maintained within
params.pp. This file supports hiera as a data source so use hiera
or change the values in params.pp. These global values
end up in /etc/cvmfs/cvmfs.local.
In addition to creating mounts as above the
create_resources('cvmfs::mount',{}) function is enabled
to allow the mounts to specified in a hiera yaml file:
cvmfs::mount:
atlas.example.ch:
cvmfs_quota_limit: 10000
atlas-condb.example.ch:
{}
atlas-nightlies.example.ch:
cvmfs_server_url: http://cvmfs-atlas-nightlies.example.ch/cvmfs/atlas-nightlies.example.ch
which will enable these three mount points with the specified options.
Warning
-------
CvmFS supports 3 locations for configuration.
* global defaults - /etc/cvmfs/default.*
* domain settings - /etc/cvmfs/domain.d/*
* repository settings - /etc/cvmfs/config.d/*
This cvmfs module has no knowledge about the 'domain settings'.
It is based on set defaults and and then add repositories
possibly overriding the default values.
As such this module deletes all files in /etc/cvmfs/domain.d/*
since they are not managed by this puppet. Typically
the domain.d files contains the values of 'CVMFS_PUBLIC_KEY'
so this should be set at the global and/or per repository level.
Fsck Module
-----------
An optional class 'cvmfs::fsck' can be included to enable a cron job to regualarly
run fsck on cvmfs systems.
include ('cvmfs::fsck')
Server Configuration
--------------------
A stratum zero can be configured with a simple.
class{'cvmfs::server':
repo => 'ilc.example.org',
}
See the docs in cvmfs::server for explanation of parameters.
Stratum One Configuration
------------------------
A stratum one can be configured for multiple repositories with
a
cvmfs::one{'mice.example.org':
origin => 'http://cvmfs01.example.org/cvmfs',
keys => ['/etc/cvmfs/keys/example1.pub','/etc/cvmfs/keys/example1.pub']
}
See cvmfs::one.pp for more details of parameters.
ToDo
---
It's now possible to install multiple stratum zeros in the same
node. This module does not support that and it should.
License
-------
Apache II License for all files except automaster.aug which is copied from
the http://augeas.net project. The automaster.aug file is LGPL v2+.
Contact
-------
Steve Traylen <[email protected]>
Support
-------
https://github.com/cvmfs/puppet-cvmfs