Running mender-client-qemu

Hi @mirzak
i am tring to pull the docker image mendersoftware/mender-client-qemu after running this image it is asking login details could you please suggest me any solution for this i will share my screen for better understanding


it is not taking root
Best Regards
Avi

The login is root with no password. However I suspect the issue is that you are viewing the docker logs of the container running qemu and not actually the login console of the device.

I sometimes connect over ssh to the qemu client but I don’t think there is any easy way to get to the login console when it is running like this under docker. I use something like the following to access the device over SSH (although I don’t know when I last did this so YMMV).

CONTAINER_ID=$(docker ps | grep mender-client-qemu | awk '{print $1}' | head -1)
if [ -n "${CONTAINER_ID}" ]; then
    CONTAINER_IP=$(docker exec ${CONTAINER_ID} /sbin/ip addr | grep global | awk '{print $2}' | cut -d/ -f 1)
    exec ssh -o "StrictHostKeyChecking no" -o "UserKnownHostsFile /dev/null" -p 8822 root@${CONTAINER_IP}
fi

I normally run:

docker run -it -e SERVER_URL='https://hosted.mender.io' \
-e TENANT_TOKEN=$TENANT_TOKEN mendersoftware/mender-client-qemu:latest

This will run in “attached” mode, and you will be able to use terminal. Probably -it arguments that does it.

Hi @drewmoseley,@mirzak,
i have some doubt about the server also when i am running mender server 2.3.0 i am facing some difficulty i am posting the error which i got normally

1.) Integration 2.3 demo server storage proxy error,
ERROR: for integration230_storage-proxy_1 Cannot start service storage-proxy: driver failed programming external connectivity on endpoint integration230_storage-proxy_1 (a8271e285e352a97c4ca0010ef8516a7ce394fcfd1e2780b961dfd5da508f15d): Bind for 0.0.0.0:8000 failed: port is already allocated
This error start coming since we are using Mender Server 2.3.0

2.)The server 2.3.0 will take 5-10 mins to reflect the device in pending state while its very much faster in previous version.

Secondly when i am updating docker container i got update successfull but when i am executing the command
docker run hello-world
this command will start pulling the image instant of running the image
3.)In case of Docker image update ,after the successful update from mender server in few cases image is not present in the device.

and need some clarification about Azure Kubernetes service
4.)How to host mender server on premises in Managed Services Like (AKS).

expecting our valuable suggestion

Regards
Avi

Hi @avi992

Regarding your #1 above this simply means that something else on your system is already using port 8000. The default Mender server configuration does not use port 8000. Have you modified that?

Regarding #2, I’m not sure what the problem is. Although it normally, in demo mode, does not take that long as the polling intervals are deliberately shorter. In production mode, you may need to tweak the polling intervals in your client config to have it connect more quickly.

Regarding the missing container images, it’s hard to say. In the case where the image is not present on the device after the deployment, can you provide the client logs by running “journalctl -u mender-client” from a login shell on the device?

I don’t know anything specifically about AKS but it is in theory possible. We provide the docker-compose setup as an out-of-the-box config so it can run in any infrastructure that can run docker containers.

Drew

Hi @drewmoseley
first of all we appreciate your response on every query about mender.
i want to know is there an possibility to get the base image or docker script of the image mendersoftware/mender-client-qemu or the images running on the docker hub

Thanks & Regards
Avi

You can find the source for the Dockerfiles used to generate the mendersoftware/mender-client-qemu image here:

thanks mirzak

Hi @mirjak
we are able to update docker images and normal file in the qemu emulator.will i be able to update full os update in qemu emulator.

Thanks and regards
Avinash

This should work just fine. In fact this is how most of our integration tests are run :slight_smile: