From 0805255ee01103c500f2aae8845850b3dae6a0b6 Mon Sep 17 00:00:00 2001 From: Sebastien Douheret Date: Fri, 26 May 2017 16:03:24 +0200 Subject: [PATCH] Add doc to create & start XDS AGL docker container. Signed-off-by: Sebastien Douheret --- README.md | 68 +++++++++++++++++++++++++++++++++++++++++++++ scripts/xds-start-server.sh | 2 +- scripts/xds-stop-server.sh | 18 ++++++++++++ 3 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 scripts/xds-stop-server.sh diff --git a/README.md b/README.md index 1697009..9b4e952 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,74 @@ Use `xds-start-server.sh` script to start all requested tools config file `XDS_CONFFILE` or change logs directory `LOGDIR`. See head section of `xds-start-server.sh` file to see all configurable variables. +## Install XDS-server in AGL SDK docker container + +XDS-server has been designed to easily cross compile +[AGL](https://www.automotivelinux.org/) applications. That's why XDS-server is +integrated in AGL SDK docker container. + +>**NOTE** For more info about AGL SDK docker container, please refer to +[AGL SDK Quick Setup](http://docs.automotivelinux.org/docs/getting_started/en/dev/reference/setup-sdk-environment.html) + +### Create XDS AGL docker worker container + +Execute following commands to build docker image: +```bash +git clone https://git.automotivelinux.org/AGL/docker-worker-generator +cd docker-worker-generator +make build FLAVOUR=xds +``` + +You should get `docker.automotivelinux.org/agl/worker-xds:X.Y` image + +```bash +docker images +REPOSITORY TAG IMAGE ID CREATED SIZE +docker.automotivelinux.org/agl/worker-xds 3.2 786d65b2792c 6 days ago 602MB +``` + +### Start XDS AGL docker worker container + +Use provided script to create a new docker image and start a new container: +```bash +> ./docker-worker-generator/contrib/create_container 0 docker.automotivelinux.org/agl/worker-xds:3.2 + +> docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +b985d81af40c docker.automotivelinux.org/agl/worker-xds:3.2 "/usr/bin/wait_for..." 6 days ago Up 4 hours 0.0.0.0:8000->8000/tcp, 0.0.0.0:69->69/udp, 0.0.0.0:10809->10809/tcp, 0.0.0.0:2222->22/tcp agl-worker-seb-laptop-0-seb +``` + +This container exposes following ports: + - 8000 : XDS-server to serve XDS Dashboard + - 69 : TFTP + - 2222 : ssh + +Now start xds-server inside this container: +```bash +> ssh -p 2222 devel@localhost +[15:59:58] devel@agl-worker-seb-laptop-0-seb:~$ /usr/local/bin/xds-start-server.sh +### Configuration in config.json: +{ + "webAppDir": "/usr/local/bin/www-xds-server", + "shareRootDir": "/home/devel/.xds/share", + "logsDir": "/tmp/xds-server/logs", + "sdkRootDir": "/xdt/sdk", + "syncthing": { + "binDir": "/usr/local/bin", + "home": "/home/devel/.xds/syncthing-config", + "gui-address": "http://localhost:8384", + "gui-apikey": "1234abcezam" + } +} + +### Start XDS server +nohup /usr/local/bin/xds-server --config /home/devel/.xds/config.json -log warn > /tmp/xds-server/logs/xds-server.log 2>&1 +pid=22379 +``` + +You can now connect your browser to XDS-server (running by default on port 8000): +[http://localhost:8000](http://localhost:8000) + ## Debugging diff --git a/scripts/xds-start-server.sh b/scripts/xds-start-server.sh index 9a6ff05..066029a 100755 --- a/scripts/xds-start-server.sh +++ b/scripts/xds-start-server.sh @@ -14,7 +14,7 @@ [[ -f $BINDIR/xds-server ]] || { echo "Cannot find xds-server in BINDIR !"; exit 1; } # Create config.json file when needed -if [ -f "${XDS_CONFFILE}" ]; then +if [ ! -f "${XDS_CONFFILE}" ]; then mv ${XDS_CONFFILE} ${XDS_CONFFILE}.old [ ! -f "$XDS_WWWDIR/index.html" ] && XDS_WWWDIR=$BINDIR/www-xds-server [ ! -f "$XDS_WWWDIR/index.html" ] && XDS_WWWDIR=/var/www/xds-server diff --git a/scripts/xds-stop-server.sh b/scripts/xds-stop-server.sh new file mode 100644 index 0000000..8a6bf5e --- /dev/null +++ b/scripts/xds-stop-server.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# Stop it gracefully +pkill -INT xds-server +sleep 1 + +# Seems no stopped, nasty kill +nbProc=$(ps -ef |grep xds-server |grep -v grep |wc -l) +if [ "$nbProc" != "0" ]; then + pkill -KILL xds-server +fi + +nbProc=$(ps -ef |grep syncthing |grep -v grep |wc -l) +if [ "$nbProc" != "0" ]; then + pkill -KILL syncthing + pkill -KILL syncthing-inotify +fi + -- 2.16.6