{"action":"created","issue":{"url":"https://api.github.com/repos/flux-framework/flux-core/issues/334","labels_url":"https://api.github.com/repos/flux-framework/flux-core/issues/334/labels{/name}","comments_url":"https://api.github.com/repos/flux-framework/flux-core/issues/334/comments","events_url":"https://api.github.com/repos/flux-framework/flux-core/issues/334/events","html_url":"https://github.com/flux-framework/flux-core/issues/334","id":101775016,"number":334,"title":"create shell for KVS based exec (wreck replacement)","user":{"login":"garlick","id":169947,"avatar_url":"https://avatars.githubusercontent.com/u/169947?v=3","gravatar_id":"","url":"https://api.github.com/users/garlick","html_url":"https://github.com/garlick","followers_url":"https://api.github.com/users/garlick/followers","following_url":"https://api.github.com/users/garlick/following{/other_user}","gists_url":"https://api.github.com/users/garlick/gists{/gist_id}","starred_url":"https://api.github.com/users/garlick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garlick/subscriptions","organizations_url":"https://api.github.com/users/garlick/orgs","repos_url":"https://api.github.com/users/garlick/repos","events_url":"https://api.github.com/users/garlick/events{/privacy}","received_events_url":"https://api.github.com/users/garlick/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-08-18T23:52:39Z","updated_at":"2015-08-19T16:40:44Z","closed_at":null,"body":"The program execution service (#333) would launch this shell with cmb.exec, with a program number on the command line.  It would connect to the broker using the local connector and interact with the KVS to determine program parameters, environment, etc..  It may define its own schema to store under the program context.  For example, like wrexecd, it might store stdio of processes under the KVS.  (Although its own stdio should be captured by the cmb.exec and then by the program exec service).\r\n\r\nThe shell should be built to be testable in isolation, and be only loosely coupled with the program execution service so that different shells could be substituted for different situations.\r\n\r\nEventually a shell with some privileged capability might be inserted here for running as different users, privileged containment, etc.."},"comment":{"url":"https://api.github.com/repos/flux-framework/flux-core/issues/comments/132689399","html_url":"https://github.com/flux-framework/flux-core/issues/334#issuecomment-132689399","issue_url":"https://api.github.com/repos/flux-framework/flux-core/issues/334","id":132689399,"user":{"login":"garlick","id":169947,"avatar_url":"https://avatars.githubusercontent.com/u/169947?v=3","gravatar_id":"","url":"https://api.github.com/users/garlick","html_url":"https://github.com/garlick","followers_url":"https://api.github.com/users/garlick/followers","following_url":"https://api.github.com/users/garlick/following{/other_user}","gists_url":"https://api.github.com/users/garlick/gists{/gist_id}","starred_url":"https://api.github.com/users/garlick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garlick/subscriptions","organizations_url":"https://api.github.com/users/garlick/orgs","repos_url":"https://api.github.com/users/garlick/repos","events_url":"https://api.github.com/users/garlick/events{/privacy}","received_events_url":"https://api.github.com/users/garlick/received_events","type":"User","site_admin":false},"created_at":"2015-08-19T16:40:44Z","updated_at":"2015-08-19T16:40:44Z","body":"Maybe I am off track this morning, but to be clear, I was proposing a 1:1 relationship between shell and user process.  So launching an MPI program with 32 tasks per node you'd have 32 shells + 32 user processes.  All 64 UNIX processes would be part of one Flux program."}}