7912135e5427c15fb829f566b4fb4205fc128cae
[buildfarm-server.git] / scripts / set_system_status.pl
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5 use DBI;
6 use Data::Dumper;
7
8 die "Must pass sysname and status\n" unless scalar @ARGV == 2;
9
10 use vars qw($dbhost $dbname $dbuser $dbpass $dbport
11 );
12 require "$ENV{BFConfDir}/BuildFarmWeb.pl";
13
14 die "no dbname" unless $dbname;
15 die "no dbuser" unless $dbuser;
16
17 my $dsn="dbi:Pg:dbname=$dbname";
18 $dsn .= ";host=$dbhost" if $dbhost;
19 $dsn .= ";port=$dbport" if $dbport;
20
21 my $db = DBI->connect($dsn,$dbuser,$dbpass);
22
23 die $DBI::errstr unless $db;
24
25 my $sth_up = $db->prepare(q[
26        UPDATE buildsystems AS b
27        SET status = ?
28        WHERE name = ?
29       ]);
30 $sth_up->execute($ARGV[1],$ARGV[0]);
31
32 my $sth = $db->prepare(q[ 
33        SELECT name, status, operating_system, os_version, sys_owner, owner_email
34        FROM buildsystems AS b
35        ORDER BY name ASC
36       ]);
37 $sth->execute();
38
39 my $format = "%-10s %-10s %-18s %-20s %-18s %-s\n";
40 printf $format, "SysName", "Status", "Owner", "Email", "Distro", "Version";
41 while (my $row = $sth->fetchrow_hashref)
42 {
43   printf $format, $row->{name}, $row->{status}, $row->{sys_owner},
44                   $row->{owner_email}, $row->{operating_system},
45                   $row->{os_version};
46 }
47 $db->disconnect();