Open MPI logo

MTT Devel Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all MTT Devel mailing list

Subject: Re: [MTT devel] Best way to run ftb_database_server and ftb_agent
From: DongInn Kim (dikim_at_[hidden])
Date: 2010-11-09 01:00:33


No, I did not know that it should be added in the MPI Get phase.
OK, I tried to add it the MPI Get phase and mpi_details are recognized but I could not have "Test Run" phase run the scripts in before_any_exec and after_all_exec.
  DB<25> p Dumper($self->{v}{$sect})
$VAR1 = {
          'program_dir' => '/u/ftbteam/projects/mtt/client',
          'after_all_exec' => [
                                'ftb_db_pid=`pgrep ftb_database_server`',
                                'kill $ftb_db_pid',
                                'ftb_agent_pid=`pgrep ftb_agent`',
                                'kill $ftb_agent_pid'
                              ],
          'before_any_exec' => [
                                 'install_dir=&test_prefix_pretty()',
                                 'ftb_server_daemon="$install_dir/sbin/ftb_database_server"',
                                 'ftb_agent_daemon="$install_dir/sbin/ftb_agent"',
                                 '$ftb_server_daemon &',
                                 '$ftb_agent_daemon'
                               ],
          'program_name' => '/u/ftbteam/projects/mtt/client/ftt',
          'ini_section_name' => 'platform',
          'ini_name' => '/u/ftbteam/ftt-runs/odin/20101108-Nightly/ini/g-br-trunk_i-32gccFT_ftb-gen'
        };

It seems that entries of before_** and after_** are filled in to the steps to run but it could not run because of the malformed syntax.
So, I removed the entries and then just "touch /tmp/foo" in before_** and after_** but it did not create the empty file /tmp/foo and I got the following errors in the perl debug mode.
*** ERROR: Module aborted: MTT::Test::Specify::Simple:Specify: Bizarre copy
    of ARRAY in leave at
    /nfs/rinfs/san/homedirs/ftbteam/projects/mtt/lib/MTT/Values.pm line
    118, <HANDLE> line 63.
 at /nfs/rinfs/san/homedirs/ftbteam/projects/mtt/lib/MTT/Messages.pm line 122
        MTT::Messages::Abort('Module aborted: MTT::Test::Specify::Simple:Specify: Bizarre c...') called at /nfs/rinfs/san/homedirs/ftbteam/projects/mtt/lib/MTT/Messages.pm line 85
        MTT::Messages::Error('Module aborted: MTT::Test::Specify::Simple:Specify: Bizarre c...') called at /nfs/rinfs/san/homedirs/ftbteam/projects/mtt/lib/MTT/Module.pm line 52
        MTT::Module::Run('MTT::Test::Specify::Simple', 'Specify', 'Config::IniFiles=HASH(0x19dfea0)', 'test run: ftb', 'HASH(0x19ebba0)', 'HASH(0x19e4940)', 'HASH(0x19df600)') called at /nfs/rinfs/san/homedirs/ftbteam/projects/mtt/lib/MTT/Test/Specify.pm line 24
        MTT::Test::Specify::Specify('Simple', 'Config::IniFiles=HASH(0x19dfea0)', 'test run: ftb', 'HASH(0x19ebba0)', 'HASH(0x19e4940)', 'HASH(0x19df600)') called at /nfs/rinfs/san/homedirs/ftbteam/projects/mtt/lib/MTT/Test/Run.pm line 552
        MTT::Test::Run::_do_run('Config::IniFiles=HASH(0x19dfea0)', 'test run: ftb', 'HASH(0x19ebba0)', 'HASH(0x19dfdf0)', 'HASH(0x19e4940)', '/u/ftbteam/ftt-runs/odin/20101109-Nightly/pb_0/installs', '/u/ftbteam/ftt-runs/odin/20101109-Nightly/pb_0/test_runs', 'undef') called at /nfs/rinfs/san/homedirs/ftbteam/projects/mtt/lib/MTT/Test/Run.pm line 200
        MTT::Test::Run::Run('Config::IniFiles=HASH(0x19dfea0)', 'Config::IniFiles=HASH(0x19ba940)', '/u/ftbteam/ftt-runs/odin/20101109-Nightly/pb_0/installs', '/u/ftbteam/ftt-runs/odin/20101109-Nightly/pb_0/test_runs', 'undef') called at /u/ftbteam/projects/mtt/client/ftt line 557

Can you please help this out?

Regards,

On 11/8/10 5:27 PM, Jeff Squyres wrote:
> Are you executing an MPI Get section?
>
> I believe that the mpi_details section is filled in via the MPI Get phase and then propagated down through all the other phases (i.e., each of the other phases looks allll the way back to their corresponding mpi get phase to find the mpi_details value).
>
>
> On Nov 8, 2010, at 5:16 PM, DongInn Kim wrote:
>
>> Jeff, thank you.
>>
>> BTW, I have looked at the ompi-core-perf-testing.ini file which seems to have used the mpi detail sections and I tried to use it in our ftb.ini file but I still get the same warning message.
>>
>> *** Test Run phase starting
>>>> Test Run [ftb]
>>>> Running with [ftb-nightly-trunk] / [0.6.2] / [platform]
>> *** WARNING: Unable to find MPI details section for [MPI Install: platform;
>> skipping
>> *** Run test phase complete
>>>> Phase: Test Run
>> Started: Mon Nov 8 17:10:30 2010
>> Stopped: Mon Nov 8 17:10:31 2010
>> Elapsed: 00:00:01 0.02u 0.06s
>> Total elapsed: 00:00:01 0.02u 0.06s
>>>> Phase: Trim
>> Started: Mon Nov 8 17:10:31 2010
>> Stopped: Mon Nov 8 17:10:31 2010
>> Elapsed: 00:00:00 0.00u 0.00s
>> Total elapsed: 00:00:01 0.02u 0.06s
>> *** Reporter finalizing
>> *** Reporter finalized
>>
>>
>> Here is the entry in the new ftb.ini file.
>> #----------------------------------------------------------------------
>>
>> [MPI Details: platform]
>>
>> # Need a before_any_exec step to test all the FTB example tests
>> before_any_exec = <<EOF
>> install_dir=&test_prefix_pretty()
>> ftb_server_daemon="$install_dir/sbin/ftb_database_server"
>> ftb_agent_daemon="$install_dir/sbin/ftb_agent"
>> $ftb_server_daemon &
>> $ftb_agent_daemon
>> EOF
>>
>> after_all_exec = <<EOT
>> ftb_db_pid=`pgrep ftb_database_server`
>> kill $ftb_db_pid
>> ftb_agent_pid=`pgrep ftb_agent`
>> kill $ftb_agent_pid
>> EOT
>>
>> #----------------------------------------------------------------------
>>
>> I have tried to replace "platform" with "FTB" in "[MPI Details: platform]" but it still did not work.
>>
>> Any helps on this?
>>
>> Regards,
>>
>>
>> On 11/8/10 3:42 PM, Jeff Squyres wrote:
>>> Sorry for jumping in late -- been swamped recently...
>>>
>>> In the MPI details section, there's 4 fields that should let you do what you want.
>>>
>>> before_any_exec -- run once before all the tests in a given Test Run
>>> before_each_exec -- run once before every single exec (including all variants)
>>> after_each_exec -- run after after every single exec (include all variants)
>>> after_all_exec -- run after all tests in a given Test Run section have completed
>>>
>>> So you can use the before_any_exec / after_all_exec to launch the daemons once at the beginning and then take them down, or you can use before_each_exec / after_each_exec to launch the daemons before each test and then take them down at the end of that test.
>>>
>>> I'm assuming that the *each* variants will cause your tests to run much slower.
>>>
>>> I see that we don't have an MPI Details section on the wiki describing these parameters. Sorry! :-(
>>>
>>>
>>
>>
>> --
>> - DongInn
>> _______________________________________________
>> mtt-devel mailing list
>> mtt-devel_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel
>
>

-- 
- DongInn