Skip to content
This repository was archived by the owner on Jun 30, 2021. It is now read-only.

Commit 4951102

Browse files
committed
wily-20150829, -e NOVNC=true, supervisor 2015-08-24, pull race condition
1 parent c9161b5 commit 4951102

File tree

11 files changed

+153
-77
lines changed

11 files changed

+153
-77
lines changed

CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,32 @@ How to get container versions
1313
google-chrome-unstable --version && echo "\n"
1414
sc | grep build && BrowserStackLocal -version
1515

16+
## 2.47.1j (2015-09-09)
17+
+ Upgrade from wily-20150807 to wily-20150829 (Leo Gallucci)
18+
+ Make noVNC service only start with `-e NOVNC=true`
19+
+ Upgrade supervisor 4.0.0.dev0 from 2015-06-24 commit to 2015-08-24.
20+
+ Fix race condition after docker pull and run the image the first time.
21+
+ Fix SSH_AUTH_KEYS detected issue
22+
+ Image tag details:
23+
+ Selenium: v2.47.1 (411b314)
24+
+ Chrome stable: 45.0.2454.85
25+
+ Chrome beta: 46.0.2490.13
26+
+ Chrome dev (unstable): 47.0.2503.0
27+
+ Firefox versions in this image:
28+
40.0.3 39.0.3 38.0.6 37.0.2 36.0.4
29+
35.0.1 34.0.5 33.0.3 32.0.3 31.0 30.0
30+
29.0.1 28.0 27.0.1 26.0 25.0.1 24.0
31+
+ Chromedriver: 2.19.346067 (6abd8652f8bc7a1d825962003ac88ec6a37a82f1)
32+
+ Java: 1.8.0_66-internal OpenJDK 64-Bit 1.8.0_66-b01
33+
+ Timezone: Europe/Berlin
34+
+ Built with: Docker version 1.8.1, build d12ea79
35+
+ FROM ubuntu:wily-20150829
36+
+ Python: 2.7.10
37+
+ Sauce Connect 4.3.11, build 1757 2b421bb
38+
+ BrowserStack Local version 3.7
39+
+ Image ID: TBD
40+
+ Digest: sha256:TBD
41+
1642
## 2.47.1i (2015-09-04)
1743
+ Upgrade Chrome stable to 45.0.2454.85 and beta/dev (Leo Gallucci)
1844
+ Document how to share the host dns via --net=host --pid=host

Dockerfile

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#== Ubuntu wily is 15.10.x, i.e. FROM ubuntu:15.10
55
# search for more at https://registry.hub.docker.com/_/ubuntu/tags/manage/
66
# next: wily-TBD
7-
FROM ubuntu:wily-20150807
7+
FROM ubuntu:wily-20150829
88
ENV UBUNTU_FLAVOR wily
99

1010
#== Ubuntu vivid is 15.04.x, i.e. FROM ubuntu:15.04
@@ -398,10 +398,12 @@ RUN mkdir -p ${NORMAL_USER_HOME}/firefox-src \
398398
# && apt-get -qqy install \
399399
# supervisor \
400400
# 2015-06-24 commit: b3ad59703b554f, version: supervisor-4.0.0.dev0
401+
# 2015-08-24 commit: 304b4f388d3e3f, supervisor/version.txt: 4.0.0.dev0
401402
# https://github.com/Supervisor/supervisor/commit/b3ad59703b554fcf61639ca92
403+
# https://github.com/Supervisor/supervisor/commit/304b4f388d3e3f
402404
# TODO: Upgrade to supervisor stable 4.0 as soon as is released
403405
RUN pip install --upgrade \
404-
"https://github.com/Supervisor/supervisor/zipball/b3ad59703b554f" \
406+
"https://github.com/Supervisor/supervisor/zipball/304b4f388d3e3f" \
405407
&& rm -rf /var/lib/apt/lists/*
406408

407409
#----------------------------#
@@ -758,14 +760,17 @@ ENV FIREFOX_VERSIONS="${FIREFOX_VERSIONS1}, ${FIREFOX_VERSIONS2}, ${FIREFOX_VERS
758760
# Vnc
759761
VNC_PORT=25900 \
760762
NOVNC_PORT=26080 \
763+
NOVNC=false \
761764
# You can set the VNC password or leave null so a random password is generated:
762765
# ENV VNC_PASSWORD topsecret
763766
SSHD_PORT=22222 \
764767
# Supervisor (process management) http server
765768
SUPERVISOR_HTTP_PORT=29001 \
766769
SUPERVISOR_HTTP_USERNAME=supervisorweb \
767770
SUPERVISOR_HTTP_PASSWORD=somehttpbasicauthpwd \
768-
SUPERVISOR_REQUIRED_SRV_LIST="vnc|novnc|sshd|xmanager|xvfb" \
771+
SUPERVISOR_REQUIRED_SRV_LIST="vnc|sshd|xmanager|xvfb" \
772+
SUPERVISOR_NOT_REQUIRED_SRV_LIST1="ignoreMe" \
773+
SUPERVISOR_NOT_REQUIRED_SRV_LIST2="ignoreMe" \
769774
SLEEP_SECS_AFTER_KILLING_SUPERVISORD=3 \
770775
SUPERVISOR_STOPWAITSECS=20 \
771776
# Supervisor loglevel and also general docker log level
@@ -854,6 +859,8 @@ EXPOSE ${SSHD_PORT}
854859
#================
855860
ADD bin/* ${BIN_UTILS}/
856861
ADD **/bin/* ${BIN_UTILS}/
862+
ADD utils/bin/selenium-grep.sh /usr/bin/errors
863+
ADD xterm/bin/timeout-wait-xterm.sh /usr/bin/wait_all_done
857864
ADD host-scripts/* /host-scripts/
858865

859866
#==================

README.md

Lines changed: 33 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ Note SeleniumHQ/docker-selenium project is more useful for building selenium gri
1919

2020
In general add `sudo` only if needed in your environment and `--privileged` or `-v /dev/shm:/dev/shm` if you really need it like when [Chrome crashes](https://github.com/elgalu/docker-selenium/issues/20) during your high gpu intensive tests.
2121

22-
docker run -p 4444:24444 -p 5920:25900 -v /dev/shm:/dev/shm \
23-
-e VNC_PASSWORD=hola elgalu/selenium:2.47.1i
22+
docker run --rm --name=grid -p 4444:24444 -p 5920:25900 \
23+
-v /dev/shm:/dev/shm -e VNC_PASSWORD=hola elgalu/selenium:2.47.1j
2424

25-
Make sure `docker run` finishes with **selenium all done and ready for testing** else you won't be able to start your tests. To perform this check programatically please use this command where `ch` is the name of the container:
25+
Make sure `docker run` finishes with **selenium all done and ready for testing** else you won't be able to start your tests. To perform this check programatically please use this command where `grid` is the name of the container:
2626

27-
docker exec ch /bin-utils/timeout-wait-xterm.sh 1m
27+
docker exec grid wait_all_done 30s
2828

2929
Selenium should be up and running at http://localhost:4444/wd/hub open the web page to confirm is running.
3030

@@ -39,7 +39,7 @@ Include `-X` in ssh command if you want to redirect the started GUI programs to
3939

4040
That's is useful for tunneling else you can stick with `docker exec` to get into the instance with a shell:
4141

42-
docker exec -ti ch bash
42+
docker exec -ti grid bash
4343

4444
Supervisor exposes an http server but is not enough to bind the ports via `docker run -p` so in this case you need to FWD ports with `ssh -L`
4545

@@ -57,7 +57,7 @@ To configure which Firefox version to use first check available versions in the
5757

5858
If you create the container with `-e VIDEO=true` it will start recording a video through the vnc connection run upon start but first create a local folder `videos` in your current directory and mount the videos directory for an easy transfer with `-v $(pwd)/videos:/videos`
5959

60-
Once your tests are done you can either manually stop the recording via `docker exec ch /bin-utils/stop-video` where *ch* is just the arbitrary container chosen name in `docker run` command. Or simply stop the container and that will stop the video recording automatically.
60+
Once your tests are done you can either manually stop the recording via `docker exec grid /bin-utils/stop-video` where *ch* is just the arbitrary container chosen name in `docker run` command. Or simply stop the container and that will stop the video recording automatically.
6161

6262
Relevant environment variables to customize it are:
6363

@@ -68,14 +68,26 @@ Relevant environment variables to customize it are:
6868

6969
It is important to note that `ffmpeg` video recording takes an important amount of CPU usage, even more when a well compressed format like *mkv* is selected. You may want to delegate video recording through `vnc2swf-start.sh` to a separate server process and even delegate compression to a further step or to a cloud service like Youtube.
7070

71+
### VNC
72+
73+
When you don't specify a VNC password a random one will be generated. That password can be seeing by grepping the logs:
74+
75+
docker exec grid grep "was generated for you:" /var/log/sele/vnc-stdout.log
76+
#=> a VNC password was generated for you: ooGhai0aesaesh
7177

7278
### noVNC
7379

7480
We are now using https://github.com/kanaka/noVNC instead of guacamole so you can open a browser at [localhost:6080](http://localhost:6080/vnc.html) if you don't want to use your own vnc client. Note Safari Browser comes with a built-in one, just navigate to vnc://localhost:5920
7581

82+
You need to pass the environment variable `-e NOVNC=true` in order to start the noVNC service.
83+
84+
docker run --rm --name=grid -p 4444:24444 -p 5920:25900 \
85+
-e NOVNC=true \
86+
elgalu/selenium:2.47.1j
87+
7688
If the VNC password was randomly generated find out with
7789

78-
docker exec ch grep "was generated for you:" /var/log/sele/vnc-stdout.log
90+
docker exec grid grep "was generated for you:" /var/log/sele/vnc-stdout.log
7991
#=> a VNC password was generated for you: ooGhai0aesaesh
8092

8193
## Grid
@@ -85,7 +97,7 @@ You can launch a grid only container via environment variables:
8597

8698
docker run --rm --name=hub -p 4444:24444 -p 5930:25900 -p 2223:22222 \
8799
-p=6081:26080 -e CHROME=false -e FIREFOX=false \
88-
elgalu/selenium:2.47.1i
100+
elgalu/selenium:2.47.1j
89101

90102
The important part above is `-e CHROME=false -e FIREFOX=false` which tells the docker image not run run default chorme and firefox nodes turning the container into a grid-only one.
91103

@@ -101,7 +113,7 @@ You can lunch a node only container via environment variables:
101113
-p 25550:25550 -p 25551:25551 \
102114
-e GRID=false -e CHROME=true -e FIREFOX=true \
103115
-v $(pwd)/videos:/videos \
104-
elgalu/selenium:2.47.1i
116+
elgalu/selenium:2.47.1j
105117

106118
The important part above is `-e GRID=false` which tells the container to be a node-only node, this this case with 2 browsers `-e CHROME=true -e FIREFOX=true` but could be just 1.
107119

@@ -117,8 +129,8 @@ Alternatively you can increase it inside the container:
117129
2. increase shm size from default 64mb to something bigger:
118130

119131
```sh
120-
docker exec ch sudo umount /dev/shm
121-
docker exec ch sudo mount -t tmpfs -o rw,nosuid,nodev,noexec,relatime,size=512M tmpfs /dev/shm
132+
docker exec grid sudo umount /dev/shm
133+
docker exec grid sudo mount -t tmpfs -o rw,nosuid,nodev,noexec,relatime,size=512M tmpfs /dev/shm
122134
```
123135

124136
## Security
@@ -142,9 +154,9 @@ There are also additional steps you can take to ensure you're using the correct
142154

143155
You can simply verify that image id is indeed the correct one.
144156

145-
# e.g. full image id for tag 2.47.1i
146-
export IMGID=66be67ad7da61893b2341b03afd34bc18da9031fa70df823375cab680a28c2a5
147-
if docker inspect -f='{{.Id}}' elgalu/selenium:2.47.1i |grep ${IMGID} &> /dev/null; then
157+
# e.g. full image id for tag 2.47.1j
158+
export IMGID=TBD
159+
if docker inspect -f='{{.Id}}' elgalu/selenium:2.47.1j |grep ${IMGID} &> /dev/null; then
148160
echo "Image ID tested ok"
149161
else
150162
echo "Image ID doesn't match"
@@ -154,8 +166,8 @@ You can simply verify that image id is indeed the correct one.
154166

155167
Given docker.io currently allows to push the same tag image twice this represent a security concern but since docker >= 1.6.2 is possible to fetch the digest sha256 instead of the tag so you can be sure you're using the exact same docker image every time:
156168

157-
# e.g. sha256 for tag 2.47.1i
158-
export SHA=d3e6b627463598bd59cc9b6201d1f471df122632f9413f69fa5dcd9c7f03c0cc
169+
# e.g. sha256 for tag 2.47.1j
170+
export SHA=TBD
159171
docker pull elgalu/selenium@sha256:${SHA}
160172

161173
You can find all digests sha256 and image ids per tag in the [CHANGELOG](./CHANGELOG.md) so as of now you just need to trust the sha256 in the CHANGELOG. Bullet proof is to fork this project and build the images yourself if security is a big concern.
@@ -180,7 +192,7 @@ Host machine, terminal 2:
180192
docker run --rm --name=ch -p=4444:24444 \
181193
-e SCREEN_WIDTH -e SCREEN_HEIGHT -e XE_DISP_NUM \
182194
-v /tmp/.X11-unix/X${XE_DISP_NUM}:/tmp/.X11-unix/X${XE_DISP_NUM} \
183-
elgalu/selenium:2.47.1i
195+
elgalu/selenium:2.47.1j
184196

185197
Now when you run your tests instead of connecting. If docker run fails try `xhost +`
186198

@@ -202,7 +214,7 @@ ANYPORT=0
202214
REMOTE_DOCKER_SRV=localhost
203215
CONTAINER=$(docker run -d -p=0.0.0.0:${ANYPORT}:22222 -p=0.0.0.0:${ANYPORT}:24444 \
204216
-p=0.0.0.0:${ANYPORT}:25900 -e SCREEN_HEIGHT=1110 -e VNC_PASSWORD=hola \
205-
-e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" elgalu/selenium:2.47.1i
217+
-e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" elgalu/selenium:2.47.1j
206218
207219
# -- Option 2.docker run- Running docker on remote docker server like in the cloud
208220
# Useful if the docker server is running in the cloud. Establish free local ports
@@ -212,10 +224,10 @@ ssh ${REMOTE_DOCKER_SRV} #get into the remote docker provider somehow
212224
# it acts as a jump host so my public key is already on that server
213225
CONTAINER=$(docker run -d -p=0.0.0.0:${ANYPORT}:22222 -e SCREEN_HEIGHT=1110 \
214226
-e VNC_PASSWORD=hola -e SSH_AUTH_KEYS="$(cat ~/.ssh/authorized_keys)" \
215-
elgalu/selenium:2.47.1i
227+
elgalu/selenium:2.47.1j
216228
217229
# -- Common: Wait for the container to start
218-
./host-scripts/wait-docker-selenium.sh ch 7s
230+
./host-scripts/wait-docker-selenium.sh grid 7s
219231
json_filter='{{(index (index .NetworkSettings.Ports "22222/tcp") 0).HostPort}}'
220232
SSHD_PORT=$(docker inspect -f='${json_filter}' $CONTAINER)
221233
echo $SSHD_PORT #=> e.g. SSHD_PORT=32769
@@ -283,7 +295,7 @@ If you git clone this repo locally, i.e. cd into where the Dockerfile is, you ca
283295
284296
If you prefer to download the final built image from docker you can pull it, personally I always prefer to build them manually except for the base images like Ubuntu 14.04.2:
285297
286-
docker pull elgalu/selenium:2.47.1i
298+
docker pull elgalu/selenium:2.47.1j
287299
288300
#### 2. Use this image
289301

READMELeo.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
## Build
22

3-
time (docker build -t="elgalu/selenium:2.47.1i" . ;echo $?;beep)
4-
docker run --rm -ti -m 4000M --cpu-quota=0 --name=ch -p=4470:24444 -p=5920:25900 -p=2222:22222 -e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" -v $(pwd)/videos:/videos -e DISABLE_ROLLBACK=true -e VIDEO=true -e MEM_JAVA="1024m" elgalu/selenium:2.47.1i
3+
time (docker build -t="elgalu/selenium:2.47.1j" . ;echo $?;beep)
4+
docker run --rm -ti -m 4000M --cpu-quota=0 --name=ch -p=4470:24444 -p=5920:25900 -p=2222:22222 -e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" -v $(pwd)/videos:/videos -e DISABLE_ROLLBACK=true -e VIDEO=true -e MEM_JAVA="1024m" elgalu/selenium:2.47.1j
55

66
See logs
77

88
docker exec -ti ch bash -c "ls -lah /var/log/sele/"
99

1010
Testing in ssh [email protected]
1111

12-
docker run --rm --name=ch -p=4470:24444 -p=5920:25900 -p=2222:22222 -e SSH_AUTH_KEYS="$(cat ~/.ssh/authorized_keys)" -e VNC_PASSWORD=Hola3 os-registry.stups.zalan.do/tip/selenium:2.47.1i
12+
docker run --rm --name=ch -p=4470:24444 -p=5920:25900 -p=2222:22222 -e SSH_AUTH_KEYS="$(cat ~/.ssh/authorized_keys)" -e VNC_PASSWORD=Hola3 os-registry.stups.zalan.do/tip/selenium:2.47.1j
1313

1414
## Transfer used browser source artifacts to keep them in the cloud
1515

@@ -32,18 +32,18 @@ List firefox versions via docker exe
3232

3333
## To update image id and digest
3434

35-
docker inspect -f='{{.Id}}' elgalu/selenium:2.47.1i
35+
docker inspect -f='{{.Id}}' elgalu/selenium:2.47.1j
3636
docker images --digests
3737

3838
## Run with shared dir
3939

4040
docker run --rm --name=ch -p=127.0.0.1:4460:24444 -p=127.0.0.1:5910:25900 \
41-
-v /e2e/uploads:/e2e/uploads elgalu/selenium:2.47.1i
41+
-v /e2e/uploads:/e2e/uploads elgalu/selenium:2.47.1j
4242
docker run --rm --name=ch -p=4460:24444 -p=5910:25900 \
43-
-v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):$(which docker) elgalu/selenium:2.47.1i
43+
-v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):$(which docker) elgalu/selenium:2.47.1j
4444

4545

46-
docker run --rm --name=ff -p=127.0.0.1:4461:24444 -p=127.0.0.1:5911:25900 -v /e2e/uploads:/e2e/uploads elgalu/selenium:2.47.1i
46+
docker run --rm --name=ff -p=127.0.0.1:4461:24444 -p=127.0.0.1:5911:25900 -v /e2e/uploads:/e2e/uploads elgalu/selenium:2.47.1j
4747

4848
## Run without shared dir and bind ports to all network interfaces
4949

@@ -66,11 +66,11 @@ List firefox versions via docker exe
6666
## Run without dir and bind to all interfaces
6767
Note anything after the image will be taken as arguments for the cmd/entrypoint
6868

69-
docker run --rm --name=ch -p=0.0.0.0:8813:8484 -p=0.0.0.0:2222:2222 -p=0.0.0.0:4470:24444 -p=0.0.0.0:5920:25900 -e SCREEN_WIDTH=1800 -e SCREEN_HEIGHT=1110 -e VNC_PASSWORD=hola -e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" elgalu/selenium:2.47.1i
69+
docker run --rm --name=ch -p=0.0.0.0:8813:8484 -p=0.0.0.0:2222:2222 -p=0.0.0.0:4470:24444 -p=0.0.0.0:5920:25900 -e SCREEN_WIDTH=1800 -e SCREEN_HEIGHT=1110 -e VNC_PASSWORD=hola -e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" elgalu/selenium:2.47.1j
7070

71-
docker run --rm --name=ch -p=4470:24444 -p=5920:25900 -e VNC_PASSWORD=hola elgalu/selenium:2.47.1i
72-
docker run --rm --name=ch -p=4470:24444 -p=5920:25900 -e VNC_PASSWORD=hola docker.io/elgalu/selenium:2.47.1i
73-
docker run --rm --name=ch -p=0.0.0.0:4470:24444 -p=0.0.0.0:5920:25900 --add-host myserver.dev:172.17.42.1 elgalu/selenium:2.47.1i
71+
docker run --rm --name=ch -p=4470:24444 -p=5920:25900 -e VNC_PASSWORD=hola elgalu/selenium:2.47.1j
72+
docker run --rm --name=ch -p=4470:24444 -p=5920:25900 -e VNC_PASSWORD=hola docker.io/elgalu/selenium:2.47.1j
73+
docker run --rm --name=ch -p=0.0.0.0:4470:24444 -p=0.0.0.0:5920:25900 --add-host myserver.dev:172.17.42.1 elgalu/selenium:2.47.1j
7474

7575
However adding a custom host IP to server-selenium.local (e.g. bsele ssh config) is more work:
7676

@@ -79,32 +79,32 @@ However adding a custom host IP to server-selenium.local (e.g. bsele ssh config)
7979

8080
vncv localhost:5920 -Scaling=60% &
8181

82-
docker run --rm --name=ff -p=0.0.0.0:4471:24444 -p=0.0.0.0:5921:25900 elgalu/selenium:2.47.1i
82+
docker run --rm --name=ff -p=0.0.0.0:4471:24444 -p=0.0.0.0:5921:25900 elgalu/selenium:2.47.1j
8383

8484
Automatic builds not working for me right now, maybe there is an issue with docker registry v1 vs v2
8585
https://registry.hub.docker.com/u/elgalu/docker-selenium/builds_history/31621/
8686

8787
## Push version
8888

8989
docker login
90-
docker push docker.io/elgalu/selenium:2.47.1i ;echo $?;beep
91-
docker tag elgalu/selenium:2.47.1i elgalu/selenium:latest
90+
docker push docker.io/elgalu/selenium:2.47.1j ;echo $?;beep
91+
docker tag elgalu/selenium:2.47.1j elgalu/selenium:latest
9292
docker push docker.io/elgalu/selenium:latest
9393

9494
Not working maybe because it has automated builds enabled but then it fails in the cloud but works locally
9595
https://registry.hub.docker.com/u/elgalu/selenium/tags/manage/
9696

97-
docker push elgalu/selenium:2.47.1i
98-
docker push elgalu/docker-selenium:2.47.1i
99-
docker push docker.io/elgalu/docker-selenium:2.47.1i
97+
docker push elgalu/selenium:2.47.1j
98+
docker push elgalu/docker-selenium:2.47.1j
99+
docker push docker.io/elgalu/docker-selenium:2.47.1j
100100

101101
## Pulling
102102

103-
docker pull registry.hub.docker.com/elgalu/selenium:2.47.1i
103+
docker pull registry.hub.docker.com/elgalu/selenium:2.47.1j
104104

105105
## Pull
106106

107-
docker run -d --name=max -p=0.0.0.0:4411:24444 -p=0.0.0.0:5911:25900 elgalu/selenium:2.47.1i
107+
docker run -d --name=max -p=0.0.0.0:4411:24444 -p=0.0.0.0:5911:25900 elgalu/selenium:2.47.1j
108108

109109
How to connect through vnc (need a vnc client)
110110

bin/entry.sh

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,41 @@ export HOST_UID=$(stat -c "%u" ${VIDEOS_DIR})
3434
# Video
3535
export VIDEO_PATH="${VIDEOS_DIR}/${VIDEO_FILE_NAME}.${VIDEO_FILE_EXTENSION}"
3636
export FFMPEG_FRAME_SIZE="${SCREEN_WIDTH}x${SCREEN_HEIGHT}"
37+
38+
#----------------------------------------------------------
3739
# Extend required services depending on what the user needs
38-
[ "${GRID}" = "true" ] && export \
39-
SUPERVISOR_REQUIRED_SRV_LIST="${SUPERVISOR_REQUIRED_SRV_LIST}|selenium-hub"
40-
[ "${CHROME}" = "true" ] && export \
41-
SUPERVISOR_REQUIRED_SRV_LIST="${SUPERVISOR_REQUIRED_SRV_LIST}|selenium-node-chrome"
42-
[ "${FIREFOX}" = "true" ] && export \
43-
SUPERVISOR_REQUIRED_SRV_LIST="${SUPERVISOR_REQUIRED_SRV_LIST}|selenium-node-firefox"
44-
[ "${VIDEO}" = "true" ] && export \
45-
SUPERVISOR_REQUIRED_SRV_LIST="${SUPERVISOR_REQUIRED_SRV_LIST}|video-rec"
46-
[ "${SAUCE_TUNNEL}" = "true" ] && export \
47-
SUPERVISOR_REQUIRED_SRV_LIST="${SUPERVISOR_REQUIRED_SRV_LIST}|saucelabs"
48-
[ "${BSTACK_TUNNEL}" = "true" ] && export \
49-
SUPERVISOR_REQUIRED_SRV_LIST="${SUPERVISOR_REQUIRED_SRV_LIST}|browserstack"
40+
if [ "${VIDEO}" = "true" ]; then
41+
export SUPERVISOR_REQUIRED_SRV_LIST="${SUPERVISOR_REQUIRED_SRV_LIST}|video-rec"
42+
else
43+
export SUPERVISOR_NOT_REQUIRED_SRV_LIST1="video-rec"
44+
fi
45+
46+
if [ "${NOVNC}" = "true" ]; then
47+
export SUPERVISOR_REQUIRED_SRV_LIST="${SUPERVISOR_REQUIRED_SRV_LIST}|novnc"
48+
else
49+
export SUPERVISOR_NOT_REQUIRED_SRV_LIST2="novnc"
50+
fi
51+
52+
if [ "${GRID}" = "true" ]; then
53+
export SUPERVISOR_REQUIRED_SRV_LIST="${SUPERVISOR_REQUIRED_SRV_LIST}|selenium-hub"
54+
fi
55+
56+
if [ "${CHROME}" = "true" ]; then
57+
export SUPERVISOR_REQUIRED_SRV_LIST="${SUPERVISOR_REQUIRED_SRV_LIST}|selenium-node-chrome"
58+
fi
59+
60+
if [ "${FIREFOX}" = "true" ]; then
61+
export SUPERVISOR_REQUIRED_SRV_LIST="${SUPERVISOR_REQUIRED_SRV_LIST}|selenium-node-firefox"
62+
fi
63+
64+
if [ "${SAUCE_TUNNEL}" = "true" ]; then
65+
export SUPERVISOR_REQUIRED_SRV_LIST="${SUPERVISOR_REQUIRED_SRV_LIST}|saucelabs"
66+
fi
67+
68+
if [ "${BSTACK_TUNNEL}" = "true" ]; then
69+
export SUPERVISOR_REQUIRED_SRV_LIST="${SUPERVISOR_REQUIRED_SRV_LIST}|browserstack"
70+
fi
71+
5072

5173
#--------------------------------
5274
# Improve etc/hosts and fix dirs

0 commit comments

Comments
 (0)