summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastien Douheret <sebastien.douheret@iot.bzh>2017-05-26 16:03:24 +0200
committerSebastien Douheret <sebastien.douheret@iot.bzh>2017-05-27 23:07:38 +0200
commit0805255ee01103c500f2aae8845850b3dae6a0b6 (patch)
tree737de20f823bbe6f6a416f9ad52ab6b0641ece26
parent49497b5b1e2a40ae9fac8bd43ecdfeed4d00e248 (diff)
Add doc to create & start XDS AGL docker container.
Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
-rw-r--r--README.md68
-rwxr-xr-xscripts/xds-start-server.sh2
-rw-r--r--scripts/xds-stop-server.sh18
3 files changed, 87 insertions, 1 deletions
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
+