According to adaptive this change was introduced in:

5_4 branch as of the .0 version changeset 7922ced7105a79a3


Phil Eckert
LLNL

On 6/6/12 1:29 PM, "Eckert, Phil" <[email protected]> wrote:

>
>In Moab 6.1 and later the Moab wiki does filter out the quotes in the data
>it gets from SLURM. We currently use SLURM 2.3.3 and Moab 6.1 and see none
>of the issues that Jon is seeing. Looking through the Moab wiki code I
>found the change that does this, and I have a query into Adaptive as to
>which release they first implemented it in. I will post the version when I
>hear back from them.
>
>Phil Eckert
>LLNL
>
>On 6/6/12 12:47 PM, "Jon Bringhurst" <[email protected]> wrote:
>
>>
>>I think a good end result would be this:
>>
>>* Use quotes in the wiki2 syntax to avoid the "#" issue.
>>* Have the moab folks update their wiki specification to allow quotes,
>>or at least find out why it doesn't already support quotes.
>>* Update the slurm docs to replace "Use Moab version 5.0.0 or higher"
>>with whatever version of moab supports quotes in wiki.
>>
>>In the meantime, I'm going to try to figure out what version of moab we
>>need to upgrade to for when we upgrade to slurm newer than April 2012 on
>>production clusters. It's probably overdue to make a push for upgrading
>>from 5.3.5 anyway.
>>
>>-Jon
>>
>>On 06/06/2012 01:12 PM, Moe Jette wrote:
>>> 
>>> My recollection is this change was made to address someone submitting
>>> a job in which the working directory contained a "#". When Moab read
>>> job state information from SLURM, it interpreted the "#" as a job
>>> separator and could not parse anything after that point. Quoting the
>>> working directory name fixed the problem. This same problem could
>>> happen with several other fields that could contain a "#". Removing
>>> this patch will restore this parsing problem.
>>> 
>>> Moe
>>> 
>>> 
>>> Quoting Jon Bringhurst <[email protected]>:
>>> 
>>>>
>>>> I'd like to propose backing out a patch, as well as removing quotes
>>>>from
>>>> SUBMITHOST in wiki2.
>>>>
>>>> <http://bugs.schedmd.com/show_bug.cgi?id=29>
>>>>
>>>> 
>>>><https://github.com/SchedMD/slurm/commit/6cd20848dc3ed5375b637cbf34a6ba
>>>>6
>>>>af5fe9653>
>>>>
>>>> It's breaking several things when used with moab 5.3.5, including
>>>> classes and accounts.
>>>>
>>>> For example, we're getting this error:
>>>>
>>>> "NOTE:  job violates constraints for partition slurm (partition
>>>> slurm does not support requested class "standard")"
>>>>
>>>> note that ""standard"" should be "standard".
>>>>
>>>> Here's a patch to back it out as well as remove the quotes from
>>>>SUBMITHOST:
>>>>
>>>> diff --git a/src/plugins/sched/wiki2/get_jobs.c
>>>> b/src/plugins/sched/wiki2/get_jobs.c
>>>> index 3b6153e..ec5d75b 100644
>>>> --- a/src/plugins/sched/wiki2/get_jobs.c
>>>> +++ b/src/plugins/sched/wiki2/get_jobs.c
>>>> @@ -326,7 +326,7 @@ static char *       _dump_job(struct job_record
>>>> *job_ptr, time_t update_time)
>>>>
>>>>         if (!IS_JOB_FINISHED(job_ptr) && job_ptr->details &&
>>>>             job_ptr->details->work_dir) {
>>>> -               snprintf(tmp, sizeof(tmp), "IWD=\"%s\";",
>>>> +               snprintf(tmp, sizeof(tmp), "IWD=%s;",
>>>>                          job_ptr->details->work_dir);
>>>>                 xstrcat(buf, tmp);
>>>>         }
>>>> @@ -335,17 +335,17 @@ static char *     _dump_job(struct job_record
>>>> *job_ptr, time_t update_time)
>>>>                 xstrcat(buf, "FLAGS=INTERACTIVE;");
>>>>
>>>>         if (job_ptr->gres) {
>>>> -               snprintf(tmp, sizeof(tmp),"GRES=\"%s\";",
>>>>job_ptr->gres);
>>>> +               snprintf(tmp, sizeof(tmp),"GRES=%s;", job_ptr->gres);
>>>>                 xstrcat(buf, tmp);
>>>>         }
>>>>
>>>>         if (job_ptr->resp_host) {
>>>> -               snprintf(tmp, sizeof(tmp),"SUBMITHOST=\"%s\";",
>>>> job_ptr->resp_host);
>>>> +               snprintf(tmp, sizeof(tmp),"SUBMITHOST=%s;",
>>>> job_ptr->resp_host);
>>>>                 xstrcat(buf, tmp);
>>>>         }
>>>>
>>>>         if (job_ptr->wckey) {
>>>> -               snprintf(tmp, sizeof(tmp),"WCKEY=\"%s\";",
>>>>job_ptr->wckey);
>>>> +               snprintf(tmp, sizeof(tmp),"WCKEY=%s;",
>>>>job_ptr->wckey);
>>>>                 xstrcat(buf, tmp);
>>>>         }
>>>>
>>>> @@ -373,7 +373,7 @@ static char *       _dump_job(struct job_record
>>>> *job_ptr, time_t update_time)
>>>>         else
>>>>                 pname = "UNKNOWN";      /* should never see this */
>>>>         snprintf(tmp, sizeof(tmp),
>>>> -               "QUEUETIME=%u;STARTTIME=%u;RCLASS=\"%s\";",
>>>> +               "QUEUETIME=%u;STARTTIME=%u;RCLASS=%s;",
>>>>                 _get_job_submit_time(job_ptr),
>>>>                 (uint32_t) job_ptr->start_time, pname);
>>>>         xstrcat(buf, tmp);
>>>> @@ -407,7 +407,7 @@ static char *       _dump_job(struct job_record
>>>> *job_ptr, time_t update_time)
>>>>
>>>>         if (job_ptr->account) {
>>>>                 snprintf(tmp, sizeof(tmp),
>>>> -                       "ACCOUNT=\"%s\";", job_ptr->account);
>>>> +                       "ACCOUNT=%s;", job_ptr->account);
>>>>                 xstrcat(buf, tmp);
>>>>         }
>>>>
>>>> -Jon
>>>>
>>> 

Reply via email to