Skip to content

Conversation

sdelliot
Copy link
Collaborator

This PR provides a working Docker container for FIREWHEEL. We should consider this as a beta-testing phase and remove that label in a future release. This container has been tested in both low-trust and high-trust environments where various permissions/kernel modules were stripped and verified functionality. The associated documentation provides a good overview of the container and how it was created.
Aside from that, there are a few important things to note:

  • The FIREWHEEL docker container is based on the minimega container image.
  • Multi-node/containers have not been tested/explored.
  • This PR does not include a Docker compose environment. This should happen in a different PR.
  • The container does not contain any VM images and those will need to be added post-launch by users.

@sdelliot sdelliot added the feature New feature or request label Feb 20, 2025
Comment on lines +3 to +12
/usr/share/openvswitch/scripts/ovs-ctl start 1>/var/log/minimega.log 2>/var/log/minimega.log
if [ $? -ne 0 ]; then
echo "Failed to start Open vSwitch" 1> /var/log/minimega.log
fi

# Check if Minimega is already running
if pgrep -f "/opt/minimega/bin/minimega" > /dev/null; then
echo "Minimega is already running. Exiting script." 1> /var/log/minimega.log
exit 0
fi
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GhostofGoes and @jacdavi do you think that minimega would benefit from these additions to the start-minimega.sh or do you think it would cause a loss of functionality?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting, I see a warning from time to time about minimega already running (when deployed with minimega+phenix). In what circumstances does this happen?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The primary logic change is exiting the when minimega is already running. We call this script to start minimega when clearing our testbed, but if minimega (and miniweb) are still running, that isn't a useful action. Especially as trying to start multiple instances of minimega/miniweb seemed to cause issues (even with -force True).

WORKDIR /

# Install discovery
RUN wget https://github.com/mitchnegus/minimega-discovery/releases/download/firewheel-debian_faed761/discovery.deb && \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this where we want to be pulling from?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eventually, we want to pull from https://github.com/sandia-minimega/discovery/ but a new release hasn't been issued yet. I plan on pinging them on this offline.

sdelliot added 2 commits March 6, 2025 07:52
Signed-off-by: Steven Elliott <6461548+sdelliot@users.noreply.github.com>
@github-actions github-actions bot added the documentation Improvements or additions to documentation label Mar 17, 2025
@gregjacobus gregjacobus merged commit 025ce94 into sandialabs:main Mar 18, 2025
3 of 4 checks passed
@sdelliot sdelliot deleted the feat-dockerize branch March 19, 2025 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants