Hi, Am 08.05.2013 um 19:46 schrieb Michael Coffman:
> I am having a problem with a client side jsv submit script setting a boolen > complex to 0. I've kind of worked around it until now... > > #grid version > 6.2u5 > > # complex line > spice spice BOOL == FORCED > NO 0 0 > > # jsv script is called from global sge_request. > > # grid submit line > qrsh -now no -l spice > > #without memory rule (commented out so nothing in the jsv is exercised) > hard resource_list: spice=TRUE > > #with memory rule > hard resource_list: mem_total=128G,spice=0.000000 This looks like: http://gridengine.org/pipermail/users/2012-December/005360.html But besides the calling issue it wasn't elaborated further AFAICS. -- Reuti > # output of jsv debug log (logging_enabled) - this is the same with either > way. >>>> START > <<< SEND ENV > <<< STARTED >>>> PARAM VERSION 1.0 >>>> PARAM CONTEXT client >>>> PARAM CLIENT qrsh >>>> PARAM USER coffman >>>> PARAM GROUP games >>>> PARAM CMDNAME NONE >>>> PARAM CMDARGS 0 >>>> PARAM e /dev/null >>>> PARAM l_hard spice=0.000000 >>>> PARAM M [email protected] >>>> PARAM N QRLOGIN >>>> PARAM o /dev/null >>>> PARAM display localhost:11.0 >>>> ENV ADD DISPLAY localhost:11.0 >>>> ENV ADD QRSH_PORT gtmaster.ftc.avagotech.net:44360 >>>> BEGIN > <<< PARAM l_hard mem_total=128G,spice=0.000000 > <<< RESULT STATE CORRECT Job was modified before it was accepted >>>> QUIT > > > Any clues as to how best to fix this? It seems to be something in the > JSV.pm file that maps the r_value to 0 if none is given. It only seems > to happen when the jsv_sub_add_param is called. > > Here is a jsv script that I see this issue with... > ---------------------------------------------- > #!/usr/bin/perl > use strict; > use warnings; > no warnings qw/uninitialized/; > > use Env qw(SGE_ROOT); > use lib "$SGE_ROOT/util/resources/jsv"; > use JSV qw( :DEFAULT jsv_send_env jsv_log_info ); > > jsv_on_start(sub { > jsv_send_env(); > }); > > jsv_on_verify(sub { > my %params = jsv_get_param_hash(); > my $do_correct = 0; > my $do_wait = 0; > > if ((exists $params{l_hard}{memory}) or (exists $params{l_hard}{mem})) { > my $memory = 0; > # set local memory value the l_hard memory value is one that I > created and the short > # cut is mem.. > if (exists $params{l_hard}{memory}) { $memory = $params{l_hard}{memory} } > elsif (exists $params{l_hard}{mem}) { $memory = $params{l_hard}{mem} } > if (!exists $params{l_hard}{mem_total}) { > # check values and set memory ceilings > if ($memory < 128 ) { > $do_correct = 1; > jsv_sub_add_param('l_hard','mem_total', '260G'); > } elsif ($memory < 387 ) { > $do_correct = 1; > jsv_sub_add_param('l_hard','mem_total', '400G'); > } > } > } else { > $do_correct = 1; > jsv_sub_add_param('l_hard','mem_total', '128G'); > } > > if ($do_wait) { > jsv_reject_wait('Job is rejected. It might be submitted later.'); > } elsif ($do_correct) { > jsv_correct('Job was modified before it was accepted'); > } else { > jsv_accept('Job is accepted'); > } > }); > > jsv_main(); > ---------------------------------------------- > > Any help is greatly appreciated. Hopefully I don't have to check > every boolean value and if the r_value is 0, remap to true. I guess > that wouldn't be the worst thing... > > Thanks. > -- > -MichaelC > _______________________________________________ > users mailing list > [email protected] > https://gridengine.org/mailman/listinfo/users _______________________________________________ users mailing list [email protected] https://gridengine.org/mailman/listinfo/users
