Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switching between naming schemes #1535

Closed
ocaisa opened this issue Jan 6, 2016 · 4 comments
Closed

Switching between naming schemes #1535

ocaisa opened this issue Jan 6, 2016 · 4 comments

Comments

@ocaisa
Copy link
Member

ocaisa commented Jan 6, 2016

One major hurdle when switching between naming schemes is that the default installation directory is dependent on the naming scheme. This is unnecessary since the module files themselves don't care where the installation is. Changing the default to a unique value, for example that used by easybuild_mns.py, would make switching naming schemes relatively trivial via a simple script:

  • Search for all installed easyconfigs in the installation space (no need to know what MNS was used to install them)
  • Parse them
  • Check existing module from old naming scheme to see if it is hidden, set flag if it is
  • Rebuild all easyconfigs using --module-only with new MNS

I even think the default naming scheme tree should be created regardless of the naming scheme actually used just so you only need to indicate the new MNS when creating a new module tree.

@ocaisa
Copy link
Member Author

ocaisa commented Jan 6, 2016

Changing this would be backwards compatible for everyone already using the new default and would also work seamlessly for other supported naming schemes (I think) but they would not be able to change naming scheme via the new script since only the new software would be in the correct installation path.

@boegel
Copy link
Member

boegel commented Jan 6, 2016

@ocaisa: supporting using a fixed naming scheme for the installation directories makes a lot of sense indeed, I'm just not sure it's a good idea to make this the default

Although EasyBuild itself or existing modules/installations won't mind, people may have made assumptions on the naming scheme used for the installation in other places, e.g. a script that crawls the installation directories (for whatever reason).

So, your backward compatibility argument is not 100% correct.

That said, we do have some other options if we do want to change the default to using a fixed naming scheme:

  • make sure people can opt-out easily, e.g. with --disable-fixed-install-dir-naming-scheme or whatever
  • be very verbal about changing the default (mentioning it on the ML in a separate post, in the release notes, and in the release announcement, comments in the code where the name of the install directory is decided on, etc.)
  • indicate that the naming scheme of the modules and the install directories doesn't match every time eb is run, with an option to silence that warning (maybe even with a generic --slience-warnings=module-vs-install-dir-naming-scheme-mismatch); maybe that's a bit over the top though, I'm not sure

You mentioned you were going to look into implementing this yourself, thanks for that. Let's do that first, and then consider switching the default behaviour. I'm willing to consider it since i) it makes a lot of sense, ii) the impact is low, iii) we can poll up front via the ML whether this may impact people in one way or another.

@boegel
Copy link
Member

boegel commented Jan 14, 2016

support for --fixed-installdir-naming-scheme configuration option added in #1546

@ocaisa: ok to close this?

@ocaisa
Copy link
Member Author

ocaisa commented Jan 14, 2016

Thanks!

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

No branches or pull requests

2 participants