--- lib/PXElator/amt.pm 2009/08/10 12:28:03 191 +++ lib/PXElator/amt.pm 2009/08/19 11:51:51 263 @@ -8,27 +8,41 @@ use Intel::AMT::NetworkAdministration; use Data::Dump qw/dump/; use Regexp::Common qw/net/; +use Net::Ping; use html; +use CouchDB; sub info { - my $amt = shift; + my ( $amt, $client_ip ) = @_; my ( $passwd, $ip ) = split(/\s+/, $amt); ( $ip, $passwd ) = ( $passwd, $ip ) if $passwd =~ m/$RE{net}{IPv4}/; + $ip ||= $client_ip; + + my $p = Net::Ping->new; + + if ( ! $p->ping( $ip, 0.7 ) ) { + return "$ip unreachable"; + } + warn "amt $ip ", '*' x length($passwd), "\n"; $ENV{AMT_HOST} = $ip; $ENV{AMT_PASSWORD} = $passwd; + my $amt = Intel::AMT::NetworkAdministration::network_settings; + $amt->{power_state} = Intel::AMT::RemoteControl::SystemPowerState; + + CouchDB::audit('network', $amt ); + my $out; - $out = qq|power: S| . Intel::AMT::RemoteControl::SystemPowerState - . qq|
| - . qq| amt| + $out = + qq| amt| . qq| ip| . qq|
| - . html::pre_dump( Intel::AMT::NetworkAdministration::network_settings ) + . html::pre_dump( $amt ) ; return $out;