8 use lib "$FindBin::Bin/lib";
9 use lib "$FindBin::Bin/../lib";
15 my $clearadm = new Clearadm;
19 alias => 'defaria.com',
20 admin => 'Andrew DeFaria',
21 os => 'Linux defaria.com 2.6.32-25-generic-pae #45-Ubuntu SMP Sat Oct 16 21:01:33 UTC 2010 i686 GNU/Linux',
23 description => 'Home server',
27 'system' => 'jupiter',
35 'system' => 'jupiter',
36 'filesystem' => '/dev/mapper/jupiter-root',
43 'system' => 'jupiter',
44 'tag' => '/vobs/clearscm',
48 'system' => 'jupiter',
49 'tag' => 'andrew_view',
53 'verbose' => sub { set_verbose },
54 'usage' => sub { Usage },
57 sub DisplayRecord (%) {
62 display "$_: $record{$_}";
64 display "$_: <undef>";
69 sub DisplayRecords(@) {
72 DisplayRecord %{$_} for (@records);
76 verbose "Adding system $system{name}";
78 my ($err, $msg) = $clearadm->AddSystem(%system);
81 warning 'You already have that record!';
86 verbose "Finding systems that match \'jup\'";
87 DisplayRecords $clearadm->FindSystem('jup');
89 verbose "Getting record for \'jupiter\'";
90 DisplayRecord $clearadm->GetSystem('jupiter');
92 verbose "Finding systems that match \'def\'";
93 DisplayRecords $clearadm->FindSystem('def');
95 verbose "Getting record for \'defaria.com\'";
96 DisplayRecord $clearadm->GetSystem('defaria.com');
99 'region' => 'East Coast',
102 verbose "Updating system $system{name}";
104 ($err, $msg) = $clearadm->UpdateSystem($system{name}, %update);
106 error $msg, $err if $err;
110 verbose "Adding package $package{name}";
112 my ($err, $msg) = $clearadm->AddPackage(%package);
115 warning 'You already have that record!';
121 'vendor' => 'ClearSCM',
122 'description' => 'This is not ClearSCM\'s version of MySQL',
125 verbose "Updating package $package{name}";
127 ($err, $msg) = $clearadm->UpdatePackage($package{system}, $package{name}, %update);
129 error $msg, $err if $err;
131 verbose "Finding packages for $system{name} that match \'My\'";
132 DisplayRecords $clearadm->FindPackage($system{name}, 'My');
134 verbose ("Getting package for $system{name} record for \'MySQL\'");
135 DisplayRecord $clearadm->GetPackage($system{name}, 'MySQL');
138 sub TestFilesystem() {
139 verbose "Adding filesystem $filesystem{filesystem}";
141 my ($err, $msg) = $clearadm->AddFilesystem(%filesystem);
143 error $msg, $err if $err;
145 $filesystem{filesystem} = '/dev/sda5';
146 $filesystem{path} = '/disk2';
148 verbose "Adding filesystem $filesystem{filesystem}";
150 ($err, $msg) = $clearadm->AddFilesystem(%filesystem);
152 error $msg, $err if $err;
155 'filesystem' => '/dev/sdb5',
158 verbose "Updating filesystem $filesystem{filesystem}";
160 ($err, $msg) = $clearadm->UpdateFilesystem(
161 $filesystem{system}, $filesystem{filesystem}, %update
164 error $msg, $err if $err;
166 verbose "Finding filesystems for $system{name} that match \'My\'";
167 DisplayRecords $clearadm->FindFilesystem($system{name}, 'root');
169 verbose ("Getting filesystem for $system{name} record for \'/dev/sdb5\'");
170 DisplayRecord $clearadm->GetFilesystem($system{name}, '/dev/sdb5');
174 verbose "Adding vob $vob{tag}";
176 my ($err, $msg) = $clearadm->AddVob(%vob);
178 error $msg, $err if $err;
180 $vob{tag} = '/vobs/clearscm_old';
182 verbose "Adding vob $vob{tag}";
184 ($err, $msg) = $clearadm->AddVob(%vob);
186 error $msg, $err if $err;
188 verbose "Finding vobs that match \'clearscm\'";
189 DisplayRecords $clearadm->FindVob('clearscm');
191 verbose ("Getting vob for \'clearscm\'");
192 DisplayRecord $clearadm->GetVob('clearscm');
196 verbose "Adding view $view{tag}";
198 my ($err, $msg) = $clearadm->AddView(%view);
200 error $msg, $err if $err;
202 $view{tag} = 'andrew2_view';
204 verbose "Adding view $view{tag}";
206 ($err, $msg) = $clearadm->AddView(%view);
208 error $msg, $err if $err;
210 verbose "Finding views that match \'andrew\'";
211 DisplayRecords $clearadm->FindView('andrew');
213 verbose ("Getting view for \'view\'");
214 DisplayRecord $clearadm->GetView('andrew');
223 ########################
224 verbose "Deleting system $system{name}";
226 my ($err, $msg) = $clearadm->DeleteSystem($system{name});
228 error $msg, $err if $err;