Skip to content

Feature: make dry run output readable (and also of eb --search)#781

Merged
boegel merged 18 commits intoeasybuilders:developfrom
fgeorgatos:feature_make_dry-run_output_readable
Dec 13, 2013
Merged

Feature: make dry run output readable (and also of eb --search)#781
boegel merged 18 commits intoeasybuilders:developfrom
fgeorgatos:feature_make_dry-run_output_readable

Conversation

@fgeorgatos
Copy link
Copy Markdown
Contributor

Here is the why of this:
(sry, but I couldn't really read the other kind of output)

bash-3.2$ export CFGS=/Users/fotis/Desktop/arena/uni.lu/easybuild-easyconfigs/easybuild/easyconfigs
bash-3.2$ eb e/EMBOSS/EMBOSS-6.5.7-goolf-1.4.10.eb --dry-run -r
== temporary log file in case of crash /var/folders/3L/3LkVBznPF7WgIo752F4GjE+++TI/-Tmp-/easybuild-BkOeUk.log
== Dry run: printing build status of easyconfigs and dependencies
 * [ ] $CFGS/g/GCC/GCC-4.7.2.eb    # module: GCC/4.7.2
 * [ ] $CFGS/h/hwloc/hwloc-1.6.2-GCC-4.7.2.eb    # module: hwloc/1.6.2-GCC-4.7.2
 * [ ] $CFGS/o/OpenMPI/OpenMPI-1.6.4-GCC-4.7.2.eb    # module: OpenMPI/1.6.4-GCC-4.7.2
 * [ ] $CFGS/g/gompi/gompi-1.4.10.eb    # module: gompi/1.4.10
 * [ ] $CFGS/o/OpenBLAS/OpenBLAS-0.2.6-gompi-1.4.10-LAPACK-3.4.2.eb    # module: OpenBLAS/0.2.6-gompi-1.4.10-LAPACK-3.4.2
 * [ ] $CFGS/f/FFTW/FFTW-3.3.3-gompi-1.4.10.eb    # module: FFTW/3.3.3-gompi-1.4.10
 * [ ] $CFGS/s/ScaLAPACK/ScaLAPACK-2.0.2-gompi-1.4.10-OpenBLAS-0.2.6-LAPACK-3.4.2.eb    # module: ScaLAPACK/2.0.2-gompi-1.4.10-OpenBLAS-0.2.6-LAPACK-3.4.2
 * [ ] $CFGS/g/goolf/goolf-1.4.10.eb    # module: goolf/1.4.10
 * [ ] $CFGS/z/zlib/zlib-1.2.7-goolf-1.4.10.eb    # module: zlib/1.2.7-goolf-1.4.10
 * [ ] $CFGS/n/ncurses/ncurses-5.9-goolf-1.4.10.eb    # module: ncurses/5.9-goolf-1.4.10
 * [ ] $CFGS/l/libpng/libpng-1.5.13-goolf-1.4.10.eb    # module: libpng/1.5.13-goolf-1.4.10
 * [ ] $CFGS/c/CMake/CMake-2.8.4-goolf-1.4.10.eb    # module: CMake/2.8.4-goolf-1.4.10
 * [ ] $CFGS/l/libharu/libharu-2.2.0-goolf-1.4.10.eb    # module: libharu/2.2.0-goolf-1.4.10
 * [ ] $CFGS/e/EMBOSS/EMBOSS-6.5.7-goolf-1.4.10.eb    # module: EMBOSS/6.5.7-goolf-1.4.10
bash-3.2$ eb --search sympy
== temporary log file in case of crash /var/folders/3L/3LkVBznPF7WgIo752F4GjE+++TI/-Tmp-/easybuild-JOQqYB.log
== Searching for sympy in /Users/fotis/Desktop/arena/uni.lu/easybuild-easyconfigs/easybuild/easyconfigs
== * $CFGS/s/sympy/sympy-0.7.2-goolf-1.4.10-Python-2.7.3.eb
== * $CFGS/s/sympy/sympy-0.7.2-ictce-4.1.13-Python-2.7.3.eb
== temporary log file /var/folders/3L/3LkVBznPF7WgIo752F4GjE+++TI/-Tmp-/easybuild-JOQqYB.log has been removed.

@hpcugentbot
Copy link
Copy Markdown

Automatic reply from Jenkins: Can I test this?

@boegel
Copy link
Copy Markdown
Member

boegel commented Dec 9, 2013

Jenkins: ok to test

Comment thread easybuild/main.py Outdated
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should pick up the robot path instead of grabbing the value of some random environment variable $CFGS.

Try and take into account somehow that the robot path might contain multiple entries, separated by os.pathsep (:).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, what happens if $CFGS is not set here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, first, thanks for looking into this early on, because we'll need to time to settle on the preferred design.

The whole point of this, is to make output of --dry-run & eb --search more readable for the newcomers.
I see no way to avoid ambiguity if I rely on robotpath exclusively, because trimming down the output on the basis of that, creates confusion when an easyconfig exists on more than one paths. What's your stance on that? Any ideas to offer?

It's important to settle at this first, because that affects all the rest of the changes.
(and surely agree, that it should behave reasonably if CFGS is not defined ;-)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I hadn't realized that $CFGS is now considered "random" variable, because in early versions of the tool (I think including v1.0) it was defined as the default robotpath, no? Admittedly, this code will not handle gracefully the situation of a multicomponent robotpath.

@fgeorgatos
Copy link
Copy Markdown
Contributor Author

how does this get affected by #786 ?

Unless you come up with some other idea, I think we will be forced to settle to some convention (eg. match against variables finishing in easybuild/easyconfigs or something of that type). Any better offers?

@JensTimmerman
Copy link
Copy Markdown

What's with the CFGs variable? Why do you need this here? Can't you set EASYBUILD_ROBOT ?

I see no way this is getting merged in with the current CFGSVAR = 'CFGS'

configuration should be don in the config file,
Don't start using constants in the middle of helper functions all of a sudden.

add the CFG to the 'path' in the search_file, and allow it to take a template or something, and then set the template in the config file.

This way when other people want another output format they can easily change it, without having to change the python code again.

@boegel
Copy link
Copy Markdown
Member

boegel commented Dec 12, 2013

@JensTimmerman: No worries, I'm on it. :-)

boegel and others added 2 commits December 13, 2013 00:02
add --dry-short-short/-D and --search-short-S options, clean up implementation, add unit tests
@fgeorgatos
Copy link
Copy Markdown
Contributor Author

one further improvement, could be to have the output of --search actually report also in markdown/github style, * [x],
if particular easyconfigs have been built; since this could come at computational expense though, I am not that sure I am a strong supporter of the idea; just give it a thought.

@boegel
Copy link
Copy Markdown
Member

boegel commented Dec 13, 2013

@fgeorgatos: I feel that goes beyond the intention of --search. Currently, it's using * <path> as output, which is also markdown style (just no checkboxes).

So, this should be ready to go, you think? Have you played with it?

@boegel
Copy link
Copy Markdown
Member

boegel commented Dec 13, 2013

I'm happy with this, the unit tests are happy, so merging it in. Thanks for initiating this @fgeorgatos!

boegel added a commit that referenced this pull request Dec 13, 2013
…eadable

Feature: make dry run output readable (and also of eb --search)
@boegel boegel merged commit de74527 into easybuilders:develop Dec 13, 2013
@fgeorgatos
Copy link
Copy Markdown
Contributor Author

cool! sorry for being slow to reply... i am still on the road for today ;-)
nice to have it!
On Dec 13, 2013 10:43 PM, "Kenneth Hoste" [email protected] wrote:

Merged #781 #781.


Reply to this email directly or view it on GitHubhttps://github.com//pull/781
.

@boegel boegel mentioned this pull request Dec 14, 2013
@fgeorgatos fgeorgatos deleted the feature_make_dry-run_output_readable branch December 15, 2013 00:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants