lf-edge / eden

Eden is where EVE and Adam get tried and tested:
https://projecteve.dev
Apache License 2.0
49 stars 47 forks source link

Eden doesn't support the use of custom built image with additional package #572

Open TheodoreGC opened 3 years ago

TheodoreGC commented 3 years ago

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:

eriknordmark commented 3 years ago

@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.