-
Notifications
You must be signed in to change notification settings - Fork 6
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
Slow Startup RiB Container on Apple M1 #928
Comments
RACK without a native build on M1 macOS is basically unusable for the production ingestion package. I've been using a locally packed docker image against the |
Arm64 images must be built using the same OS/arch. The rack-box files include x86 specific files (python) and cannot be reused. Removed:
GitHub arch provision action (qemu with docker buildx):
|
The build process for arch64 requires an arch64 github action runner that can only be configured as a standalone runner. Instead you can build the docker image locally on an arch64 machine. The main difference between arch builds is the base docker image used and python dependencies (the packer process expects dependencies to be mounted into the image as a volume). To build arch64 RACK Image locally (requires arch64 machine):
|
See Github Runners (and tool info) @ |
I understand we cannot automate the CI build of an arch64 RACK image except on an arch64 github action runner, which would have to be a standalone (self-hosted) machine available somewhere on the Internet. Still, you can build the arch64 RACK image manually on a Mac M1 computer using the installation package (files) from the latest successful GitHub action. If you can push the built image to Docker Hub as well (it should be just a matter of granting your account the necessary privilege), then RACK users will be able to download and run the appropriate image for their architecture. |
Another option might be to use docker's buildx command (referenced in an earlier comment) but this might require overhaul of the CI/CD action. Docker Docs: Targeting for post-release. blocked on cost of running standalone || time for CI/CD development |
I haven't automated the process, but when we make the next release I can build a docker image to update for it |
Background:
The rack-box docker image is only built for linux/amd64 OS/ARCH resulting in slow startup times on Apple Silicone (tested on M1) - requesting RiB docker image distribution for linux/arm64
Acceptance Criteria:
Integrate aarch64 RIB image creation & deployment process to github action
Implementation Details:
Modify the github action to push an aarch64 docker image on release -
https://github.com/ge-high-assurance/RACK/blob/master/.github/workflows/release.yml
The base docker image (ubuntu) should be updated to aarch64 @ https://hub.docker.com/_/ubuntu
Add another builder to the https://github.com/ge-high-assurance/RACK/blob/ff93cbacd621838bfd765a7e4492f56bbca5f0b2/rack-box/rack-box-docker.json#L11C12-L11C12 packer file. Ref packer docker builder documentation
The text was updated successfully, but these errors were encountered: