From: ivan Date: Thu, 23 Jul 2009 06:58:08 +0000 (+0000) Subject: need to see who is still on deb 4 & pg 7.4 X-Git-Tag: root_of_svc_elec_features~989 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=cfaf9fea2cfb5cf14ad5f835e89fc2a34cc460de need to see who is still on deb 4 & pg 7.4 --- diff --git a/FS/FS/Tron.pm b/FS/FS/Tron.pm index 26ab639ed..78af0fe33 100644 --- a/FS/FS/Tron.pm +++ b/FS/FS/Tron.pm @@ -9,34 +9,56 @@ use FS::Record qw( qsearchs ); use FS::svc_external; use FS::cust_svc_option; -our @EXPORT_OK = qw( tron_scan tron_lint); +our @EXPORT_OK = qw( tron_ping tron_scan tron_lint); our %desired = ( - #lenient for now, so we can fix up important stuff + #less lenient, we need to make sure we upgrade deb 4 & pg 7.4 'freeside_version' => qr/^1\.(7\.3|9\.0)/, - 'debian_version' => qr/^4/, + 'debian_version' => qr/^5/, #qr/^5.0.[2-9]$/ #qr/^4/, 'apache_mpm' => qw/^(Prefork|$)/, + 'pg_version' => qr/^8\.[1-9]/, + 'apache_version' => qr/^2/, #payment gateway survey # 'payment_gateway' => qw/^authorizenet$/, #stuff to add/replace later - #'pg_version' => qr/^8\.[1-9]/, - #'apache_version' => qr/^2/, #'apache_mpm' => qw/^Prefork/, + #'pg_version' => qr/^8\.[3-9]/, ); -sub tron_scan { - my $cust_svc = shift; +sub _cust_svc_external { + my $cust_svc_or_svcnum = shift; - my $svc_external; - if ( ref($cust_svc) ) { + my ( $cust_svc, $svc_external ); + if ( ref($cust_svc_or_svcnum) ) { + $cust_svc = $cust_svc_or_svcnum; $svc_external = $cust_svc->svc_x; } else { - $svc_external = qsearchs('svc_external', { 'svcnum' => $cust_svc } ); + $svc_external = qsearchs('svc_external', { svcnum=>$cust_svc_or_svcnum } ); $cust_svc = $svc_external->cust_svc; } + ( $cust_svc, $svc_external ); + +} + +sub tron_ping { + my( $cust_svc, $svc_external ) = _cust_svc_external(shift); + + my %hash = (); + my $machine = $svc_external->title; # or better as a cust_svc_option?? + sshopen2($machine, *READER, *WRITER, '/bin/echo pong'); + my $pong = scalar(); + close READER; + close WRITER; + + $pong =~ /pong/; +} + +sub tron_scan { + my( $cust_svc, $svc_external ) = _cust_svc_external(shift); + #don't scan again if things are okay my $bad = 0; foreach my $option ( keys %desired ) { @@ -48,7 +70,9 @@ sub tron_scan { #do the scan my %hash = (); my $machine = $svc_external->title; # or better as a cust_svc_option?? - sshopen2($machine, *READER, *WRITER, '/usr/local/bin/freeside-yori all'); + #sshopen2($machine, *READER, *WRITER, '/usr/local/bin/freeside-yori all'); + #fix freeside users' patch if necessary, since packages put this in /usr/bin + sshopen2($machine, *READER, *WRITER, 'freeside-yori all'); while () { chomp; my($option, $value) = split(/: ?/);