remove dependency of BuildMonitor 02/126902/1
authorJunghyun Kim <jh0822.kim@samsung.com>
Tue, 25 Apr 2017 08:31:11 +0000 (17:31 +0900)
committerJunghyun Kim <jh0822.kim@samsung.com>
Tue, 25 Apr 2017 08:31:11 +0000 (17:31 +0900)
Change-Id: I53d41b95cb3d09b8a5dc4b17122b03681c7a9fb6
Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
src/backend/BSSched/BuildJob.pm
src/backend/bs_repserver

index 19930a8..7e48daf 100644 (file)
@@ -95,17 +95,6 @@ use BSCando;
 use BSNotify;
 use BSPrereleaseOpt;
 
-my $build_monitor_enabled = eval {
-  require plugins::BuildMonitorDB;
-  plugins::BuildMonitorDB->import();
-  1;
-};
-if( $build_monitor_enabled ) {
-  print "build monitor enabled.!\n";
-} else {
-  print "build monitor DISABLED.!\n";
-}
-
 =head1 NAME
 
 BSSched::BuildJob
@@ -184,6 +173,26 @@ sub purgejob {
 
 }
 
+sub get_rawlog_url {
+  my ($proj_name, $repo, $arch, $pkg_name) = @_;
+
+  my $obs_url = $BSConfig::obs_frontend_url || '';
+
+  # for obs 2.7
+  my @arr = (
+    $obs_url,
+    "public/build",
+    $proj_name,
+    $repo,
+    $arch,
+    $pkg_name,
+    "_log"
+  );
+  my $url = join("/", @arr);
+
+  return $url;
+}
+
 =head2 killjob - kill a single build job
 
  input: $job - job identificator
@@ -856,10 +865,7 @@ sub create {
   # Make symlink for scheduled packages.
   BSPrereleaseOpt::make_symlink_rpms($projpacks, $gctx->{'reporoot'}, $projid, $repoid, $myarch, $packid);
   writexml("$dst/.status", "$dst/status", { 'status' => 'scheduled', 'readytime' => $now, 'job' => $job}, $BSXML::buildstatus);
-  my $build_log_url = "";
-  if( $build_monitor_enabled ) {
-    $build_log_url = encode_base64(BuildMonitorDB::get_rawlog_url($projid, $repoid, $myarch, $packid), '');
-  }
+  my $build_log_url = encode_base64(get_rawlog_url($projid, $repoid, $myarch, $packid), '');
   BSNotify::notify('BUILD_START', {'project'=>$projid, 'repository'=>$repoid, 'arch'=>$myarch, 'package'=>$packid, 'reason'=>$reason, 'build_log_url'=>$build_log_url}, undef, $gctx->{'testmode'});
   # And store reason and time
   $reason->{'time'} = $now;
index c8f2714..ed8ee0e 100755 (executable)
@@ -67,17 +67,6 @@ use BSSolv;
 
 use strict;
 
-my $build_monitor_enabled = eval {
-  require plugins::BuildMonitorDB;
-  plugins::BuildMonitorDB->import();
-  1;
-};
-if( $build_monitor_enabled ) {
-  print "build monitor enabled.!\n";
-} else {
-  print "build monitor DISABLED.!\n";
-}
-
 my $port = 5252;       #'RR'
 $port = $1 if $BSConfig::reposerver =~ /:(\d+)$/;
 my $proxy;
@@ -112,6 +101,30 @@ sub jobname {
   return $job;
 }
 
+sub parse_statistics {
+  my ($filename) = @_;
+
+  if ( ! defined $filename ) {
+    return undef;
+  }
+
+  #print "filename=$filename\n";
+  #if( open(DATA1, "<$filename") ) {
+    #while( <DATA1> ) {
+      #print $_;
+    #}
+  #}
+  my $statistics=BSUtil::readxml($filename, $BSXML::buildstatistics, 1);
+
+  #print Dumper($statistics);
+
+  my $preinstall=$statistics->{'times'}->{'preinstall'}->{'time'}->{'_content'};
+  my $install   =$statistics->{'times'}->{'install'}->{'time'}->{'_content'};
+  my $main      =$statistics->{'times'}->{'main'}->{'time'}->{'_content'};
+
+  return $preinstall, $install, $main;
+}
+
 # add :full repo to pool, make sure repo is up-to-data by
 # scanning the directory
 sub addrepo_scan {
@@ -1929,12 +1942,11 @@ sub putjob {
 
   $ninfo{'previouslyfailed'} = 1 if -e "$reporoot/$prpa/:logfiles.fail/$info->{package}";
 
-  if( $build_monitor_enabled ) {
-    my ($pre_install_time, $install_time, $main_build_time) = BuildMonitorDB::parse_statistics("$dir/_statistics");
-    $ninfo{'pre_install_time'} = $pre_install_time;
-    $ninfo{'install_time'} = $install_time;
-    $ninfo{'main_build_time'} = $main_build_time;
-  }
+  my ($pre_install_time, $install_time, $main_build_time) = parse_statistics("$dir/_statistics");
+  $ninfo{'pre_install_time'} = $pre_install_time;
+  $ninfo{'install_time'} = $install_time;
+  $ninfo{'main_build_time'} = $main_build_time;
+
   if ($cgi->{'code'} && $cgi->{'code'} eq 'unchanged') {
     $jobstatus->{'result'} = 'unchanged';
     BSNotify::notify('BUILD_UNCHANGED', \%ninfo);