Dear All,

I agree with Vasileios, if you want I can share my version of the 
MoonEasyBuildMNS based on https://gist.github.com/miklb/ed145757971096565723.

I think the Moon phases are more consistent and fit better to the mood of the 
support team personnel, something that random time hashes cannot.


Best wishes,
 
CSCS Swiss National Supercomputing Centre
Victor Holanda | Computational Scientist
ETH/CSCS | Via Trevano 131 | 6900 Lugano | Switzerland
[email protected] | Phone +41 91 610 82 65
 
 

On 01.04.20, 14:57, "[email protected] on behalf of Karakasis  
Vasileios" <[email protected] on behalf of [email protected]> 
wrote:

    I've tested it and I think you're missing the moon phase from the hash 
calculation. Not sure if it'd make sense to include this as well.
    
    -vk
     
    
    On 01.04.20, 13:30, "[email protected] on behalf of Maxime 
Boissonneault" <[email protected] on behalf of 
[email protected]> wrote:
    
        
        That’s amazing! At Compute Canada, we were just looking at how to add 
*more* hashes to our installation procedures. This comes right on time!
        
        
        Thanks!
        
        
        Maxime
        
        
        
        On Apr 1, 2020 at 4:19 AM, <Kenneth Hoste 
<mailto:[email protected]>> wrote:
        
        
        Dear EasyBuilders, Recently, I have been thinking a lot about the 
differences between EasyBuild and Spark, and I've come to the conclusion that 
there are several Slack features that should be added to EasyBuild as well... 
As I've mentioned before, I strongly
         believe both tools have their merits, due to the design choices that 
were made early on during their development. The perfect software installation 
tool for HPC environments is probably some sort of middle ground between both 
approaches, and I feel this is
         the first step towards that goal. We'll never reach perfection, but 
that shouldn't stop us from trying to achieve it... Last night I have 
implemented a new module naming scheme, named HashedEasyBuildMNS, which is 
basically the familiar (default) EasyBuild
         module naming scheme with some sprinkles on top, being a SHA1 hash 
that is added to the module name and the name of the installation directory, 
which represents the context in which the installation is being performed. This 
hashing mechanism is one of the
         key features of Spock. It ensures that you'll get an entirely new 
installation as soon as something that may affect the installation is different 
from before, including the implementation of the installation procedure (both 
easyblocks and the EasyBuild framework
         itself), the environment, the system configuration, etc. Not only does 
this new module naming scheme bring the concept of hashed installations to 
EasyBuild, it also takes things a step further than what Snack does, by 
(optionally) taking into account the time
         at which the EasyBuild session was started. As we have observed in the 
past, installing some software packages at a later point in time may result in 
a different installation, for a variety of reasons (auto-downloading of stuff 
during the installation, timestamps
         in binary files, phase of the moon, etc.). You can opt in to taking 
into account a timestamp in the SHA1 hash by setting the $EB_HASH_TIMESTAMP 
environment variable. The implementation of this new module naming scheme is 
available in attachment. Example usage
         (assuming that hashedeasybuildmns.py is stored in the current working 
directory):     eb example.eb --robot --include-module-naming-schemes 
hashedeasybuildmns.py --module-naming-scheme HashedEasyBuildMNS 
--disable-fixed-installdir-naming-scheme Or, equivalently
         using environment variables to configure EasyBuild:     export 
EASYBUILD_INCLUDE_MODULE_NAMING_SCHEMES=/path/to/hashedeasybuildmns.py     
export EASYBUILD_MODULE_NAMING_SCHEME=HashedEasyBuildMNS     export 
EASYBUILD_DISABLE_FIXED_INSTALLDIR_NAMING_SCHEME=1
             eb example.eb --robot Please try using HashedEasyBuildMNS and give 
feedback, since we are planning to make this the new default module naming 
scheme in a future (major) release of EasyBuild. regards, Kenenth
        
        
        
        
        
        
    
    

Reply via email to