質問する質問する
 

回答済みCannot pass environment variables containing ";" via job submit

  • 2009年4月8日 19:59Dr.Darshan ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    I have a cluster with Windows HPC Server 2008 and Microsoft HPC Pack. I am trying to submit a job using the "job submit" command that needs to set an environment variable with semi-colon delimited values for each task. I have tried the following alternatives, but each of them fails in the same manner:
    Microsoft Windows [Version 6.0.6001]
    Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

    C:\Users\XXXXX>job submit /env:key="value1;value2" dir
    Bad format for 'env' parameter.  Should be /env:name=value;*

    C:\Users\XXXXX>job submit /env:"key=value1;value2" dir
    Bad format for 'env' parameter.  Should be /env:name=value;*

    C:\Users\XXXXX>job submit /env:key=value1;value2 dir
    Bad format for 'env' parameter.  Should be /env:name=value;*

    Could someone please let me know what I am doing incorrectly? The error message is quite incomprehensible and the documentation did not address this problem.

回答

  • 2009年4月17日 19:04MWirtz ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     回答済み
    I believe you're not doing anything wrong, because the "job submit" command seems to use the ";" as a string delimiter while parsing the argument /env. I guess it's just impossible that way. Maybe you could try to add the set variable command to your commandline string  e.g. like this:

    job submit set key=value1;value2 ^&^& dir

    Make sure to mask the "&" with "^" because otherwise the dir command would be executed directly after your submission command in the local shell.
    Hope this helps.

    - Michael
    • 回答としてマークDr.Darshan 2009年5月5日 18:28
    •  
  • 2009年5月2日 0:28sayanch1MSFT, モデレータユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     回答済み
    This issue should be fixed in SP1. However, you might try using the SetEnvironmentVariable method in the Scheduler API as that might work.
    • 回答としてマークDr.Darshan 2009年5月5日 18:29
    •  

すべての返信

  • 2009年4月17日 19:04MWirtz ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     回答済み
    I believe you're not doing anything wrong, because the "job submit" command seems to use the ";" as a string delimiter while parsing the argument /env. I guess it's just impossible that way. Maybe you could try to add the set variable command to your commandline string  e.g. like this:

    job submit set key=value1;value2 ^&^& dir

    Make sure to mask the "&" with "^" because otherwise the dir command would be executed directly after your submission command in the local shell.
    Hope this helps.

    - Michael
    • 回答としてマークDr.Darshan 2009年5月5日 18:28
    •  
  • 2009年5月2日 0:28sayanch1MSFT, モデレータユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     回答済み
    This issue should be fixed in SP1. However, you might try using the SetEnvironmentVariable method in the Scheduler API as that might work.
    • 回答としてマークDr.Darshan 2009年5月5日 18:29
    •  
  • 2009年5月5日 18:24Dr.Darshan ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    Thank you, that was indeed helpful.
  • 2009年5月5日 18:28Dr.Darshan ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    Thank you, I will wait for SP1 and use the previous workaround meanwhile. I would have preferred to use the Scheduler API, but cannot because I am submitting jobs from a Python application.
    • 回答としてマークDr.Darshan 2009年5月5日 18:28
    • 回答としてマークされていないDr.Darshan 2009年5月5日 18:28
    •