Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Create a initial docker container for FIREWHEEL #68

Open
wants to merge 51 commits into
base: main
Choose a base branch
from

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants