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

Introduce the Feel++ shell #1

Open
prudhomm opened this issue Apr 26, 2018 · 1 comment
Open

Introduce the Feel++ shell #1

prudhomm opened this issue Apr 26, 2018 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@prudhomm
Copy link
Member

@prudhomm commented on Sat Mar 31 2018

we need a script that hides all the gory docker/singularity details.
something like

feelppshell run -c [docker|singularity] <cmd>

without we would enter the docker|singularity shell.

This should be as simple as possible to run a Feel++ application. It would hide the details regarding mounting volumes, passing env variables.

Another feature would be that we wouldn't have to update the documentation each time we add some new docker|singularity features or environment variable to the command line

Here is what I propose:

  • run as --user=$(id -u) systematically
  • mount $home/feel to $home in docker
  • if necessary, install feel++ scripts to install, start and stop feel++ containers
  • default container is feelpp/feelpp-toolboxes
  • to install feel++ container do sh installFeelpp: it starts a container and call it after the latest release by default
  • to start using feel++ do sh startFeelpp : it exec the default feel++ container
  • to stop using feel++ do sh stopFeelpp : it stops and rm the default feel++ container

the implementation is in https://github.com/feelpp/install

/cc @feelpp/mso4sc


@gdolle commented on Sat Mar 31 2018

We should wait next meeting and discuss it before implementing that @prudhomm @vincentchabannes @celineCQ .
See also my point of view feelpp/book.feelpp.org#48 (comment)


@prudhomm commented on Sat Mar 31 2018

what is a Cloud link? in my mind, it is not very complicated what I propose. the objective is to simplify the command line. I fail to see currently what you are proposing.
if you look at the different tools (4fastsim, angiotk, ...) we develop, the docker command line can be quite/very long. Even I, I need to get reminded all the time of the command line. This is just good sense to simplify it.
Now, if you think you have something better to propose, feel free to discuss it here.


@gdolle commented on Sat Mar 31 2018

in my mind, it is not very complicated what I propose. the objective is to simplify the command line. I fail to see currently what you are proposing.

I give my thought there feelpp/book.feelpp.org#48 (comment)

PS: Note also that we had a feel++ shell env for cling already. It should rather be feelcontainer or feelppimg instead.


@prudhomm commented on Sat Mar 31 2018

sure things like aws/ecs are on the roadmap for us at some point. But how about that https://aws.amazon.com/fr/ecs/pricing/? I don't see students or us paying for that in the near future (maybe I missed something).
Again, I fail to see why it is complicated and the maintenance burden regarding the feelpp container or whatever. It is just an encapsulation of the docker/singularity Feel++ command lines.


@prudhomm commented on Sat Mar 31 2018

by the way @gdolle where is the code for the feel++ shell for cling?


@prudhomm commented on Sat Mar 31 2018

what I envision is the following steps for the beginner:

  • wget http://git.com/feelpp/feelpp/feelppsh
  • feelppsh run starts docker with feelpp/toolboxes by default and the user enters the container
    We could do something fancy like
  • feelppsh run -np 4 feelpp_toolbox_cfd_2d --config-file=<url> run the 2D cfd toolbox on 4 processors where <url> points to an example or benchmark directory on, say, Github using #1121

then we would have an option to select the underlying container system and have the possibility to store the selection


@gdolle commented on Sat Mar 31 2018

I said amazon as an example as you can get 1year 750h computation with AWS free tier (there's REDHat/openshift too for example).

My problem is trying to hide container system under a unique command in the documentation.
These container (long) commands are often machine/env specific (e.g gpu driver, mount point, usage), so in my opinion creating a script is not a solution (But maybe ok for students).
But as long as it's clear in the documentation which container system we use, where to find containers, where to find official container system documentation, and an easy way to retrieve the original command hidden, it's ok for me.

PS: Good question for cling. It's a cmake and there was a shell script, but @vincentchabannes did some change in cmake, I've to check.


@prudhomm commented on Mon Apr 23 2018

I have updated the description and provided an implementation that currently works nicely in linux (not mac or windows)

@prudhomm prudhomm self-assigned this Apr 26, 2018
@prudhomm prudhomm added the enhancement New feature or request label Apr 26, 2018
@prudhomm
Copy link
Member Author

prudhomm commented May 1, 2018

I moved this issue to v0.105.
I have a linux version running based on the linux docker image.
mac and windows needs to be supported as well and the documentation be updated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant