llnl / llnl/maestrowf

Spaces are not stripped from script names when generated.

Open
#158 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement Good First Issue
Dominant language
Python
Stars
161
Forks
49
PR merge metrics
No merged PRs in 30d

Description

The way the current script generation looks is as follows:

to_be_scheduled, script_path, restart_path = \
            self._write_script(ws_path, step)
        st = os.stat(script_path)
        os.chmod(script_path, st.st_mode | stat.S_IXUSR)

        if restart_path:
            st = os.stat(restart_path)
            os.chmod(restart_path, st.st_mode | stat.S_IXUSR)

        return to_be_scheduled, script_path, restart_path

The _write_script method is the abstract backend method that handles writing the scripts and is overwritten per derived class. The write_script method is the interface method that presents a consistent interface to other code, but the structure above makes it difficult to handle making script names path safe (the primary thing here is that script names can have spaces). While this doesn't seem to hinder anything currently, it can become problematic just like the lack of consistent calling that was fixed in PR #157.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the write_script interface and its abstract _write_script method, then inspect the derived backend implementations that generate scripts. Compare the calling structure with the consistency change in PR #157. Done means generated script names are path-safe when they contain spaces across the affected backends.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.