Puppet: System Administration Automated

Support

Ticket #475: README

File README, 2.9 kB (added by lutter, 2 years ago)
Line 
1 This package includes several puppet types for storage management. The
2 types are currently tied to RHEL/Fedora systems, as the storage
3 management operations are all done through Conga, Red Hat's cluster
4 and storage management application. The puppet types bypass the Conga
5 front end and communicate directly with Conga's ricci-modstorage via
6 stdin/stdout XML message passing. The conga source is located at
7 sources.redhat.com:/cvs/cluster. Conga is currently in the pipeline
8 to inclusion in either Fedora extras or core. For the moment, the
9 conga source is located at sources.redhat.com:/cvs/cluster/conga
10
11 These types could be extended to allow for multiplatform support in
12 various ways, including porting the Conga storage module (~10,000
13 lines C++ code), by writing additional platform-specific storage
14 modules which communicate via the same XML API, or by modifying the
15 puppet types directly.
16
17 The only steps required to use these types is to make sure that the
18 lib directory is included in RUBYLIB.
19
20 The included types are:
21
22 partition:
23
24 This type doesn't really do much -- it's mainly a placeholder so that
25 we can use Puppet's dependency mechanism to ensure that the partition
26 is there before Puppet tries to actually create something on the
27 partition. Currently, actual partition creation is not supported via
28 puppet, since I haven't come up with a declarative way to do
29 this. Before the partition is created, we don't know what it's
30 identifier will be -- i.e. we can't say "if /dev/sda2 isn't created,
31 create it".
32
33 manifest example:
34   partition { "/dev/sdc1": ensure => present}
35
36 extended_fs:
37
38 ext2/ext3 filesystem. Currently conga fs support is limited to
39 ext2/ext3 -- with multiplatform support, this type may need to be
40 generalized -- name "filesystem" with a "type" param, or something
41 like that. We'd also need to come up with a better scheme for handling
42 type-specific attributes -- i.e. dir_index and has_journal for ext
43 filesystems, perhaps others for reiser or solaris filesystems, etc.
44
45 TODO: support unit suffixes on block_size (4K vs. 4096)
46
47 manifest example:
48   extended_fs { "/dev/sdc3":
49                 block_size => 4096,
50                 dir_index => true,
51                 fstab => true,
52                 has_journal => true,
53                 label => "my_fs2",
54                 mountpoint => "/misc/foo2"
55   }
56
57 volumegroup:
58
59 LVM volume group. physicalvolumes can be either a single partition (or
60 RAID array), or an array of them.
61
62 manifest example:
63   volumegroup { "my_vg1": physicalvolumes => ["/dev/sdc5", "/dev/sdb1"]}
64
65 logicalvolume:
66
67 LVM logical volume. The parent volume group is included in the path
68 (i.e. in the below example, "my_vg1" is the volume group)
69
70 TODO: support unit suffixes on size (20M vs. 20971520)
71
72 manifest example:
73   logicalvolume { "/dev/my_vg1/my_lv10": size => 20971520}
74
75 mdraid:
76
77 MD Raid array. Currently, conga must be patched to support mdraid (see
78 conga-patch-notes.txt).
79
80 manifest example:
81   mdraid { "/dev/md12": level => raid5, partitions => ["/dev/sdc7", "/dev/sdc10"]}