platform icon indicating copy to clipboard operation
platform copied to clipboard

Support volumes and their sharing

Open MichaelRoeder opened this issue 7 years ago • 2 comments

Description

A component should be enabled to define a (named) volume and share this volume with other containers.

Discussion

  • When do we have to define a volume? Does it have to be mounted while the container is created or can we add it later on?
    • If we have to define it during the creation, how should we enable a benchmark controller (or a system adapter) to define that it needs shared volumes? Does it has to be defined via its meta data (.ttl) file?
  • Should it be possible for a benchmark to share a volume with a system?
  • Do we need to take care of the removing of these volumes after the experiment ended?

MichaelRoeder avatar Aug 22 '17 15:08 MichaelRoeder

Volumes are mounted on container creation, yes (see ContainerCreate method for details). Creation of the volume itself can be done any time before that.

yamalight avatar Aug 22 '17 15:08 yamalight

The named volume definition and attachment to a container can be done easily. However, given that container can be deployed on any of the nodes inside docker swarm (7 in our case), we can not use "local" volume driver.

To solve this issue the following steps are necessary:

  1. [ ] Short list distributed FS available for docker swarm (e.g. GlusterFS, NFS etc). Volume driver should be available.
  2. [ ] Implement lifecycle of named volumes given selected distributed FS.
  3. [ ] Modify HOBBIT infrastructure to include custom volume driver.

earthquakesan avatar Feb 13 '18 13:02 earthquakesan