Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • beat.core beat.core
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 14
    • Issues 14
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 3
    • Merge requests 3
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • beat
  • beat.corebeat.core
  • Issues
  • #106
Closed
Open
Created Nov 19, 2020 by Samuel GAIST@samuel.gaistOwner

ROS specific needs

Requirement

In the scope of the learn-real project, ROS is one of the possible system used however it needs to write some files (pids, small logs, etc.) in order to run properly however these can be discarded when the run ends.

The current estimation done by @cazinn for the space needed is about 10Mb.

The ROS main folder is ~.ros by default and that can be changed using the ROS_HOME environment variable.

Current situation

For security reasons, our containers are run in read-only mode with two small read/write tmpfs mounted on the containers: /tmp and /var. Each of which is allocated 500kb which is enough for the use of BEAT.

We do have support for adding temporary volumes in place as well as setting custom environment variables.

Possible solutions

In order to run Docker containers that can execute ROS, we have several possibilities:

  1. Mount a tmpfs volume on the default ROS home folder
  2. Make either the /tmp or /var volumes bigger and point ROS_HOME in a subfolder in them
  3. Add a new tmpfs volume in a separated known folder and point ROS_HOME to it

ROS_HOME can either be hardcoded during the image creation process or dynamically set when running the container.

Main questions

For solution 1, from where should the information about the size of the target folder come from as well as the target location ?

For solution 2, ROS_HOME can be hardcoded as part of the image creation

For solution 3, same questions as for solution 1 with the possibility of hardcoding the environment variable as in solution 2.

Assignee
Assign to
Time tracking