Shell access to a running du

Registered by Krishna Raman

The OpenStack admin/operator should be able to optionally allow shell access to running containers. Shell access allows users to see and interact with processes running inside the container and simplifies development and debugging.

Shell access could be provided via SSH and via a HTTP(S) based protocol.

SSH based access:
 * For more advanced users
 * Many existing tools can use and operate over ssh

  Implementation Note:
  * Running a ssh process per container is not efficient:
    - Extra memory usage
    - Assumed SSH is available within a container
  * Option 1) Run a single SSH server on host
    - Memory efficient
    - Required some key management/distribution or other integration with Keystone for
      authentication
  * Option 2) Enable access via a bastion host

HTTP(S) Based access:
 * Better for novice users who don't use SSH.
 * Authenticated access to a container shell via HTTP(S) (possibly via a bastion host)
 * Access via HTTP could be exposed in the Web-UI as well as CLI

  Implementation Note:
    * Docker will soon have the capability to enable such access by allowing a shell to run within the
       container and streaming stdin/stderr/stdout via the docker daemon.

Other notes:
* A component can resolve to multiple containers so the CLI or Web-UI would need to perform a REST API call to find the URI(s) for the remote sessions (SSH or HTTP(S))
* CLI or Web-UI may need to provide user with ability to drill down to find the URI to use to connect
the to component they want work with.

Blueprint information

Status:
Complete
Approver:
Adrian Otto
Priority:
Low
Drafter:
Krishna Raman
Direction:
Approved
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Adrian Otto

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.