eden
eden copied to clipboard
Eden doesn't support the use of custom built image with additional package
Description
Eden doesn't work when intending to setup a playground using a custom image of an additional package fetched from the dockerhub registry or built locally.
Steps to Reproduce
This is using k3s and a arm64 arch as an example. The targeted device is a Raspberry Pi 4. The tag used doesn't matter but helps illustrating the issue encountered here.
Example with Dockerhub registry
Fetch the docker image:
docker pull lfedge/eve-k3s:a5ec95f0c7d7914bf1a9da91d87fefb6a91ec9a7-arm64
Example with locally built image
In EVE repository:
make eve-k3s
Create a Eden playground:
In EDEN repository
make build
./eden config add default --devmodel RPi4
./eden config set default --key adam.eve-ip --value <your adam external ip>
./eden setup --eve-tag a5ec95f0c7d7914bf1a9da91d87fefb6a91ec9a7 --eve-arch arm64
Actual Results
INFO[0011] GenerateEveCerts done
INFO[0011] GenerateEVEConfig done
ERRO[0015] cannot download EVE: ImagePull (lfedge/eve:a5ec95f0c7d7914bf1a9da91d87fefb6a91ec9a7-kvm-arm64): imagePull: Error response from daemon: manifest for lfedge/eve:a5ec95f0c7d7914bf1a9da91d87fefb6a91ec9a7-kvm-arm64 not found: manifest unknown: manifest unknown
To activate EDEN settings run:
* for BASH -- `source ~/.eden/activate.sh`
* for TCSH -- `source ~/.eden/activate.csh`
To deactivate them -- eden_deactivate
Expected Results
INFO[0011] GenerateEveCerts done
INFO[0011] GenerateEVEConfig done
[...]
NFO[0060] download EVE done: lfedge/eve-k3s:a5ec95f0c7d7914bf1a9da91d87fefb6a91ec9a7-arm64
INFO[0060] Write file /Users/theo/Projects/eden/dist/default-images/eve/live.img to sd (it is in raw format)
To activate EDEN settings run:
* for BASH -- `source ~/.eden/activate.sh`
* for TCSH -- `source ~/.eden/activate.csh`
To deactivate them -- eden_deactivate
Additional Information
The image can't be found because the link is wrong. EDEN can't "build" the image name properly in this case.
Whether it is an issue with EDEN handling of image nomenclature or the name of the image itself, it is not possible to create a playground with custom image for an additional package out of the box.
References:
- The custom image retrieved from dockerhub doesn't follow the nomenclature expected from EDEN (no hypervisor in the string).
- the prefix 'eve:' is hardcoded and can be found in the downloader.go. The prefix for the custom image in this case is 'eve-k3s:'.
@TheodoreGC Perhaps the documentation isn't clear, but eve-k3s built from pkg/k3s is an application which can be uploaded and deployed on top of EVE, and Eden needs the eve image to deploy on the device. That image is built using 'make eve' which produces a tag.
But do you have any modifications to EVE? If not you can just run Eden with the default EVE version without specifying a tag.