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

Rancher compatibility #396

Closed
monkpit opened this issue Jan 8, 2018 · 27 comments
Closed

Rancher compatibility #396

monkpit opened this issue Jan 8, 2018 · 27 comments

Comments

@monkpit
Copy link

monkpit commented Jan 8, 2018

Expected Behavior -

I should be able to run zalenium via a docker-compose file without manually doing "docker pull eglalu/selenium" beforehand and having the zalenium able to "see" the image existing on the host.

Actual Behavior -

Error messages during start:

Ensuring docker-selenium is available...
1/8/2018 3:18:35 PMSeems that docker-selenium's image has not been pulled yet
1/8/2018 3:18:35 PMPlease run 'docker pull elgalu/selenium', or use your own compatible image via --seleniumImageName

If eglau/selenium is required for the docker-compose file to work, then it should be a part of the docker-compose file itself and managed by docker that way. What is the workaround? Can this be done via docker networking?

My use case is: trying to run zalenium via Rancher.

@diemol
Copy link
Contributor

diemol commented Jan 9, 2018

Hi @monkpit,

This was just implemented, and it will be released between today and tomorrow. You'll be able to use it like this:

docker run --rm -ti --name zalenium -p 4444:4444 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /tmp/videos:/home/seluser/videos -e PULL_SELENIUM_IMAGE="true" \
    --privileged zalenium:3.8.1g-SNAPSHOT start

I'll comment here when the release is done.

@monkpit
Copy link
Author

monkpit commented Jan 9, 2018

@diemol Awesome! Thanks for the reply!

@diemol
Copy link
Contributor

diemol commented Jan 9, 2018

Hi again,

This was just released, please check https://github.com/zalando/zalenium/releases/tag/3.8.1g

Let us know if things work as expected. I'll close this issue, but feel free to reopen it in case something didn't work.

@diemol diemol closed this as completed Jan 9, 2018
@monkpit
Copy link
Author

monkpit commented Jan 9, 2018

Hmm - it works and the selenium containers get created, but the zalenium containers shows timeout errors because it was unable to connect to them.

Zalenium shows this:


1/9/2018 3:08:25 PM2018-01-09 22:08:25 INFO  session:149 - Scavenging every 600000ms
1/9/2018 3:08:25 PM2018-01-09 22:08:25 INFO  ContextHandler:788 - Started o.s.j.s.ServletContextHandler@475e586c{/,null,AVAILABLE}
1/9/2018 3:08:25 PM2018-01-09 22:08:25 INFO  AbstractConnector:286 - Started ServerConnector@1460a8c0{HTTP/1.1,[http/1.1]}{0.0.0.0:4445}
1/9/2018 3:08:25 PM2018-01-09 22:08:25 INFO  Server:441 - Started @2369ms
1/9/2018 3:08:25 PM22:08:25.920 INFO - Nodes should register to http://10.42.204.16:4445/grid/register/
1/9/2018 3:08:25 PM22:08:25.921 INFO - Selenium Grid hub is up and running
1/9/2018 3:08:26 PMSelenium Hub started!
1/9/2018 3:08:26 PMStarting DockerSeleniumStarter node...
1/9/2018 3:08:26 PM..22:08:26.362 INFO - Selenium build info: version: '3.8.1', revision: '6e95a6684b'
1/9/2018 3:08:26 PM22:08:26.364 INFO - Launching a Selenium Grid node
1/9/2018 3:08:26 PM..2018-01-09 22:08:26.777:INFO::main: Logging initialized @667ms to org.seleniumhq.jetty9.util.log.StdErrLog
1/9/2018 3:08:26 PM22:08:26.822 INFO - Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()`
1/9/2018 3:08:26 PM22:08:26.832 INFO - Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
1/9/2018 3:08:26 PM22:08:26.835 INFO - Using `new EdgeOptions()` is preferred to `DesiredCapabilities.edge()`
1/9/2018 3:08:26 PM22:08:26.837 INFO - Driver class not found: com.opera.core.systems.OperaDriver
1/9/2018 3:08:26 PM22:08:26.837 INFO - Using `new OperaOptions()` is preferred to `DesiredCapabilities.operaBlink()`
1/9/2018 3:08:26 PM22:08:26.838 INFO - Using `new SafariOptions()` is preferred to `DesiredCapabilities.safari()`
1/9/2018 3:08:26 PM22:08:26.840 INFO - Driver class not found: org.openqa.selenium.phantomjs.PhantomJSDriver
1/9/2018 3:08:26 PM22:08:26.852 INFO - Driver provider class org.openqa.selenium.ie.InternetExplorerDriver registration is skipped:
1/9/2018 3:08:26 PM registration capabilities Capabilities {browserName: internet explorer, ensureCleanSession: true, platform: WINDOWS, version: } does not match the current platform LINUX
1/9/2018 3:08:26 PM22:08:26.853 INFO - Driver provider class org.openqa.selenium.edge.EdgeDriver registration is skipped:
1/9/2018 3:08:26 PM registration capabilities Capabilities {browserName: MicrosoftEdge, platform: WINDOWS, version: } does not match the current platform LINUX
1/9/2018 3:08:26 PM22:08:26.853 INFO - Driver provider class org.openqa.selenium.safari.SafariDriver registration is skipped:
1/9/2018 3:08:26 PM registration capabilities Capabilities {browserName: safari, platform: MAC, version: } does not match the current platform LINUX
1/9/2018 3:08:26 PM22:08:26.876 INFO - Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
1/9/2018 3:08:26 PM22:08:26.877 INFO - Using `new EdgeOptions()` is preferred to `DesiredCapabilities.edge()`
1/9/2018 3:08:26 PM22:08:26.879 INFO - Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()`
1/9/2018 3:08:26 PM22:08:26.880 INFO - Using `new OperaOptions()` is preferred to `DesiredCapabilities.operaBlink()`
1/9/2018 3:08:26 PM22:08:26.880 INFO - Using `new SafariOptions()` is preferred to `DesiredCapabilities.safari()`
1/9/2018 3:08:26 PM22:08:26.888 INFO - Using the passthrough mode handler
1/9/2018 3:08:26 PM2018-01-09 22:08:26.922:INFO:osjs.Server:main: jetty-9.4.7.v20170914
1/9/2018 3:08:26 PM2018-01-09 22:08:26.941:WARN:osjs.SecurityHandler:main: ServletContext@o.s.j.s.ServletContextHandler@49438269{/,null,STARTING} has uncovered http methods for path: /
1/9/2018 3:08:26 PM2018-01-09 22:08:26.944:INFO:osjsh.ContextHandler:main: Started o.s.j.s.ServletContextHandler@49438269{/,null,AVAILABLE}
1/9/2018 3:08:26 PM2018-01-09 22:08:26.953:INFO:osjs.AbstractConnector:main: Started ServerConnector@4988d8b8{HTTP/1.1,[http/1.1]}{0.0.0.0:30000}
1/9/2018 3:08:26 PM2018-01-09 22:08:26.954:INFO:osjs.Server:main: Started @844ms
1/9/2018 3:08:26 PM22:08:26.954 INFO - Selenium Grid node is up and ready to register to the hub
1/9/2018 3:08:26 PM22:08:26.976 INFO - Registering the node to the hub: http://localhost:4444/grid/register
1/9/2018 3:08:27 PM.22:08:27.219 INFO - Registered a node http://10.42.204.16:30000
1/9/2018 3:08:27 PM22:08:27.220 INFO - The node is registered to the hub and ready to use
1/9/2018 3:08:27 PM22:08:27.220 INFO - [DS]  Setting up 2 nodes...
1/9/2018 3:08:27 PM22:08:27.222 INFO - 2 containers were created, it will take a bit more until all get registered.
1/9/2018 3:08:27 PMDockerSeleniumStarter node started!
1/9/2018 3:08:27 PMSauce Labs not enabled...
1/9/2018 3:08:27 PMBrowser Stack not enabled...
1/9/2018 3:08:27 PMTestingBot not enabled...
1/9/2018 3:08:27 PMZalenium is now ready!
1/9/2018 3:08:27 PM*************************************** Data Processing Agreement ***************************************
1/9/2018 3:08:27 PMBy using this software you agree that the following non-PII (non personally identifiable information)
1/9/2018 3:08:27 PMdata will be collected, processed and used by Zalando SE for the purpose of improving our test
1/9/2018 3:08:27 PMinfrastructure tools. Anonymisation with respect of the IP address means that only the first two octets
1/9/2018 3:08:27 PMof the IP address are collected.
1/9/2018 3:08:27 PM
1/9/2018 3:08:27 PMSee the complete license at https://github.com/zalando/zalenium/blob/master/LICENSE.md
1/9/2018 3:08:27 PM*************************************** Data Processing Agreement ***************************************
1/9/2018 3:08:29 PM2018-01-09 22:08:29 INFO  DefaultDockerClient:645 - Creating container with ContainerConfig: ContainerConfig{hostname=null, domainname=null, user=null, attachStdin=null, attachStdout=null, attachStderr=null, portSpecs=null, exposedPorts=[40001, 50001], tty=null, openStdin=null, stdinOnce=null, env=[SEL_NODEPOLLING_MS=106000, SELENIUM_HUB_HOST=10.42.204.16, TZ=Europe/Berlin, NOVNC_PORT=50001, CHROME=false, SELENIUM_MULTINODE_PORT=40001, WAIT_TIME_OUT_VIDEO_STOP=20s, FIREFOX=false, SCREEN_HEIGHT=1080, WAIT_TIMEOUT=120s, SCREEN_WIDTH=1920, NOVNC=true, SELENIUM_NODE_PARAMS=, SEND_ANONYMOUS_USAGE_INFO=true, GRID=false, MULTINODE=true, VIDEO_STOP_SLEEP_SECS=1, SELENIUM_NODE_REGISTER_CYCLE=20000, ZALENIUM=true, SELENIUM_NODE_HOST={{CONTAINER_IP}}, PICK_ALL_RANDOM_PORTS=false, BUILD_URL=, VNC_PORT=60001, SELENIUM_HUB_PORT=4445, SELENIUM_NODE_PROXY_PARAMS=de.zalando.ep.zalenium.proxy.DockerSeleniumRemoteProxy], cmd=null, image=elgalu/selenium:latest, volumes=[], workingDir=null, entrypoint=null, networkDisabled=null, onBuild=null, labels=null, macAddress=null, hostConfig=HostConfig{binds=[/dev/shm:/dev/shm], blkioWeight=null, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, containerIdFile=null, lxcConf=null, privileged=true, portBindings=null, links=null, publishAllPorts=null, dns=null, dnsOptions=null, dnsSearch=null, extraHosts=[mac.host.local:192.168.65.1], volumesFrom=null, capAdd=null, capDrop=null, networkMode=none, securityOpt=null, devices=null, memory=null, memorySwap=null, memorySwappiness=null, memoryReservation=null, nanoCpus=null, cpuPeriod=null, cpuShares=null, cpusetCpus=null, cpusetMems=null, cpuQuota=null, cgroupParent=null, restartPolicy=null, logConfig=null, ipcMode=null, ulimits=null, pidMode=null, shmSize=null, oomKillDisable=null, oomScoreAdj=null, autoRemove=true, pidsLimit=null, tmpfs=null, readonlyRootfs=null, storageOpt=null}, stopSignal=null, healthcheck=null, networkingConfig=null}
1/9/2018 3:08:29 PM2018-01-09 22:08:29 INFO  DefaultDockerClient:645 - Creating container with ContainerConfig: ContainerConfig{hostname=null, domainname=null, user=null, attachStdin=null, attachStdout=null, attachStderr=null, portSpecs=null, exposedPorts=[40000, 50000], tty=null, openStdin=null, stdinOnce=null, env=[SEL_NODEPOLLING_MS=98000, SELENIUM_HUB_HOST=10.42.204.16, TZ=Europe/Berlin, NOVNC_PORT=50000, CHROME=false, SELENIUM_MULTINODE_PORT=40000, WAIT_TIME_OUT_VIDEO_STOP=20s, FIREFOX=false, SCREEN_HEIGHT=1080, WAIT_TIMEOUT=120s, SCREEN_WIDTH=1920, NOVNC=true, SELENIUM_NODE_PARAMS=, SEND_ANONYMOUS_USAGE_INFO=true, GRID=false, MULTINODE=true, VIDEO_STOP_SLEEP_SECS=1, SELENIUM_NODE_REGISTER_CYCLE=18000, ZALENIUM=true, SELENIUM_NODE_HOST={{CONTAINER_IP}}, PICK_ALL_RANDOM_PORTS=false, BUILD_URL=, VNC_PORT=60000, SELENIUM_HUB_PORT=4445, SELENIUM_NODE_PROXY_PARAMS=de.zalando.ep.zalenium.proxy.DockerSeleniumRemoteProxy], cmd=null, image=elgalu/selenium:latest, volumes=[], workingDir=null, entrypoint=null, networkDisabled=null, onBuild=null, labels=null, macAddress=null, hostConfig=HostConfig{binds=[/dev/shm:/dev/shm], blkioWeight=null, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, containerIdFile=null, lxcConf=null, privileged=true, portBindings=null, links=null, publishAllPorts=null, dns=null, dnsOptions=null, dnsSearch=null, extraHosts=[mac.host.local:192.168.65.1], volumesFrom=null, capAdd=null, capDrop=null, networkMode=none, securityOpt=null, devices=null, memory=null, memorySwap=null, memorySwappiness=null, memoryReservation=null, nanoCpus=null, cpuPeriod=null, cpuShares=null, cpusetCpus=null, cpusetMems=null, cpuQuota=null, cgroupParent=null, restartPolicy=null, logConfig=null, ipcMode=null, ulimits=null, pidMode=null, shmSize=null, oomKillDisable=null, oomScoreAdj=null, autoRemove=true, pidsLimit=null, tmpfs=null, readonlyRootfs=null, storageOpt=null}, stopSignal=null, healthcheck=null, networkingConfig=null}
1/9/2018 3:08:29 PM2018-01-09 22:08:29 INFO  DefaultDockerClient:667 - Starting container with Id: d5e93055a2d2ae110a6fff880073f42f40f6cca5f2c71b0e1bc6a319e5deda3a
1/9/2018 3:08:29 PM2018-01-09 22:08:29 INFO  DefaultDockerClient:667 - Starting container with Id: 1f821928a3d3b3591c35185312b6b81aa7b66b7d35790d3ee1106340368ff448
1/9/2018 3:09:30 PM22:09:30.935 INFO - [DS] Container r-selenium-zalenium-1-1f85f8b5_40000 took longer than 60 seconds to be up and ready, this might be a signal that you have reached the hardware limits for the number of concurrent threads that you want to execute.
1/9/2018 3:09:30 PM2018-01-09 22:09:30 INFO  DefaultDockerClient:645 - Creating container with ContainerConfig: ContainerConfig{hostname=null, domainname=null, user=null, attachStdin=null, attachStdout=null, attachStderr=null, portSpecs=null, exposedPorts=[40002, 50002], tty=null, openStdin=null, stdinOnce=null, env=[SEL_NODEPOLLING_MS=98000, SELENIUM_HUB_HOST=10.42.204.16, TZ=Europe/Berlin, NOVNC_PORT=50002, CHROME=false, SELENIUM_MULTINODE_PORT=40002, WAIT_TIME_OUT_VIDEO_STOP=20s, FIREFOX=false, SCREEN_HEIGHT=1080, WAIT_TIMEOUT=120s, SCREEN_WIDTH=1920, NOVNC=true, SELENIUM_NODE_PARAMS=, SEND_ANONYMOUS_USAGE_INFO=true, GRID=false, MULTINODE=true, VIDEO_STOP_SLEEP_SECS=1, SELENIUM_NODE_REGISTER_CYCLE=18000, ZALENIUM=true, SELENIUM_NODE_HOST={{CONTAINER_IP}}, PICK_ALL_RANDOM_PORTS=false, BUILD_URL=, VNC_PORT=60002, SELENIUM_HUB_PORT=4445, SELENIUM_NODE_PROXY_PARAMS=de.zalando.ep.zalenium.proxy.DockerSeleniumRemoteProxy], cmd=null, image=elgalu/selenium:latest, volumes=[], workingDir=null, entrypoint=null, networkDisabled=null, onBuild=null, labels=null, macAddress=null, hostConfig=HostConfig{binds=[/dev/shm:/dev/shm], blkioWeight=null, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, containerIdFile=null, lxcConf=null, privileged=true, portBindings=null, links=null, publishAllPorts=null, dns=null, dnsOptions=null, dnsSearch=null, extraHosts=[mac.host.local:192.168.65.1], volumesFrom=null, capAdd=null, capDrop=null, networkMode=none, securityOpt=null, devices=null, memory=null, memorySwap=null, memorySwappiness=null, memoryReservation=null, nanoCpus=null, cpuPeriod=null, cpuShares=null, cpusetCpus=null, cpusetMems=null, cpuQuota=null, cgroupParent=null, restartPolicy=null, logConfig=null, ipcMode=null, ulimits=null, pidMode=null, shmSize=null, oomKillDisable=null, oomScoreAdj=null, autoRemove=true, pidsLimit=null, tmpfs=null, readonlyRootfs=null, storageOpt=null}, stopSignal=null, healthcheck=null, networkingConfig=null}
1/9/2018 3:09:31 PM22:09:31.070 INFO - [DS] Container r-selenium-zalenium-1-1f85f8b5_40001 took longer than 60 seconds to be up and ready, this might be a signal that you have reached the hardware limits for the number of concurrent threads that you want to execute.
1/9/2018 3:09:31 PM2018-01-09 22:09:31 INFO  DefaultDockerClient:645 - Creating container with ContainerConfig: ContainerConfig{hostname=null, domainname=null, user=null, attachStdin=null, attachStdout=null, attachStderr=null, portSpecs=null, exposedPorts=[40003, 50003], tty=null, openStdin=null, stdinOnce=null, env=[SEL_NODEPOLLING_MS=106000, SELENIUM_HUB_HOST=10.42.204.16, TZ=Europe/Berlin, NOVNC_PORT=50003, CHROME=false, SELENIUM_MULTINODE_PORT=40003, WAIT_TIME_OUT_VIDEO_STOP=20s, FIREFOX=false, SCREEN_HEIGHT=1080, WAIT_TIMEOUT=120s, SCREEN_WIDTH=1920, NOVNC=true, SELENIUM_NODE_PARAMS=, SEND_ANONYMOUS_USAGE_INFO=true, GRID=false, MULTINODE=true, VIDEO_STOP_SLEEP_SECS=1, SELENIUM_NODE_REGISTER_CYCLE=20000, ZALENIUM=true, SELENIUM_NODE_HOST={{CONTAINER_IP}}, PICK_ALL_RANDOM_PORTS=false, BUILD_URL=, VNC_PORT=60003, SELENIUM_HUB_PORT=4445, SELENIUM_NODE_PROXY_PARAMS=de.zalando.ep.zalenium.proxy.DockerSeleniumRemoteProxy], cmd=null, image=elgalu/selenium:latest, volumes=[], workingDir=null, entrypoint=null, networkDisabled=null, onBuild=null, labels=null, macAddress=null, hostConfig=HostConfig{binds=[/dev/shm:/dev/shm], blkioWeight=null, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, containerIdFile=null, lxcConf=null, privileged=true, portBindings=null, links=null, publishAllPorts=null, dns=null, dnsOptions=null, dnsSearch=null, extraHosts=[mac.host.local:192.168.65.1], volumesFrom=null, capAdd=null, capDrop=null, networkMode=none, securityOpt=null, devices=null, memory=null, memorySwap=null, memorySwappiness=null, memoryReservation=null, nanoCpus=null, cpuPeriod=null, cpuShares=null, cpusetCpus=null, cpusetMems=null, cpuQuota=null, cgroupParent=null, restartPolicy=null, logConfig=null, ipcMode=null, ulimits=null, pidMode=null, shmSize=null, oomKillDisable=null, oomScoreAdj=null, autoRemove=true, pidsLimit=null, tmpfs=null, readonlyRootfs=null, storageOpt=null}, stopSignal=null, healthcheck=null, networkingConfig=null}
1/9/2018 3:09:31 PM2018-01-09 22:09:31 INFO  DefaultDockerClient:667 - Starting container with Id: 5b3d13ea226cc401ffd0faca53ebbf4cba5645fe338d6e2cac038b2f99b0e151
1/9/2018 3:09:31 PM2018-01-09 22:09:31 INFO  DefaultDockerClient:667 - Starting container with Id: a7d57c7e49bd231876bf2c10101149547de7b41468a2531928ce9e2ef745d42f
1/9/2018 3:10:32 PM22:10:32.160 INFO - [DS] Container r-selenium-zalenium-1-1f85f8b5_40002 took longer than 60 seconds to be up and ready, this might be a signal that you have reached the hardware limits for the number of concurrent threads that you want to execute.
1/9/2018 3:10:32 PM22:10:32.160 INFO - [DS] No container was created, will try again in a moment...
1/9/2018 3:10:32 PM22:10:32.178 INFO - [DS] Container r-selenium-zalenium-1-1f85f8b5_40003 took longer than 60 seconds to be up and ready, this might be a signal that you have reached the hardware limits for the number of concurrent threads that you want to execute.
1/9/2018 3:10:32 PM22:10:32.178 INFO - [DS] No container was created, will try again in a moment...
1/9/2018 3:13:45 PMTrapped SIGTERM/SIGINT so shutting down Zalenium gracefully...
1/9/2018 3:13:45 PMStopping Hub...
1/9/2018 3:13:45 PMStopping DockerSeleniumStarter node...
1/9/2018 3:13:45 PM-- LOG 22:13:45:379028886 Ensuring no stale Zalenium related containers are still around...
1/9/2018 3:13:45 PM*************************************** Data Processing Agreement ***************************************
1/9/2018 3:13:45 PMBy using this software you agree that the following non-PII (non personally identifiable information)
1/9/2018 3:13:45 PMdata will be collected, processed and used by Zalando SE for the purpose of improving our test
1/9/2018 3:13:45 PMinfrastructure tools. Anonymisation with respect of the IP address means that only the first two octets
1/9/2018 3:13:45 PMof the IP address are collected.
1/9/2018 3:13:45 PM
1/9/2018 3:13:45 PMSee the complete license at https://github.com/zalando/zalenium/blob/master/LICENSE.md
1/9/2018 3:13:45 PM*************************************** Data Processing Agreement ***************************************
1/9/2018 3:13:51 PMDocker binary already present, will use that one.
1/9/2018 3:13:51 PMDocker version 17.06.2-ce, build cec0b72
1/9/2018 3:13:51 PM-- LOG 22:13:51:935860999 Ensuring docker works...
1/9/2018 3:13:51 PM-- LOG 22:13:51:981174592 Ensuring no stale Zalenium related containers are still around...
1/9/2018 3:13:51 PM-- LOG 22:13:51:999016238 Ensuring docker-selenium is available...
1/9/2018 3:13:52 PM-- LOG 22:13:52:027282976 Running additional checks...
1/9/2018 3:13:52 PMhaveged: haveged starting up
1/9/2018 3:13:52 PMCopying files for Dashboard...
1/9/2018 3:13:52 PMStarting Nginx reverse proxy...
1/9/2018 3:13:52 PMStarting Selenium Hub...
1/9/2018 3:13:54 PM......22:13:54.009 INFO - Selenium build info: version: '3.8.1', revision: '6e95a6684b'
1/9/2018 3:13:54 PM22:13:54.015 INFO - Launching Selenium Grid hub
1/9/2018 3:13:55 PM.....22:13:55.034 INFO - binding de.zalando.ep.zalenium.servlet.LivePreviewServlet to /grid/admin/LivePreviewServlet/*
1/9/2018 3:13:55 PM22:13:55.036 INFO - binding de.zalando.ep.zalenium.servlet.ZaleniumConsoleServlet to /grid/admin/ZaleniumConsoleServlet/*
1/9/2018 3:13:55 PM22:13:55.037 INFO - binding de.zalando.ep.zalenium.servlet.ZaleniumResourceServlet to /grid/admin/ZaleniumResourceServlet/*
1/9/2018 3:13:55 PM22:13:55.038 INFO - binding de.zalando.ep.zalenium.dashboard.DashboardCleanupServlet to /grid/admin/DashboardCleanupServlet/*
1/9/2018 3:13:55 PM22:13:55.039 INFO - binding de.zalando.ep.zalenium.servlet.VncAuthenticationServlet to /grid/admin/VncAuthenticationServlet/*
1/9/2018 3:13:55 PM..2018-01-09 22:13:55 INFO  log:192 - Logging initialized @2941ms to org.seleniumhq.jetty9.util.log.Slf4jLog
1/9/2018 3:13:55 PM22:13:55.471 INFO - Will listen on 4445
1/9/2018 3:13:55 PM2018-01-09 22:13:55 INFO  Server:373 - jetty-9.4.7.v20170914
1/9/2018 3:13:55 PM2018-01-09 22:13:55 INFO  session:364 - DefaultSessionIdManager workerName=node0
1/9/2018 3:13:55 PM2018-01-09 22:13:55 INFO  session:369 - No SessionScavenger set, using defaults
1/9/2018 3:13:55 PM.2018-01-09 22:13:55 INFO  session:149 - Scavenging every 660000ms
1/9/2018 3:13:55 PM2018-01-09 22:13:55 INFO  ContextHandler:788 - Started o.s.j.s.ServletContextHandler@475e586c{/,null,AVAILABLE}
1/9/2018 3:13:55 PM2018-01-09 22:13:55 INFO  AbstractConnector:286 - Started ServerConnector@1460a8c0{HTTP/1.1,[http/1.1]}{0.0.0.0:4445}
1/9/2018 3:13:55 PM2018-01-09 22:13:55 INFO  Server:441 - Started @3074ms
1/9/2018 3:13:55 PM22:13:55.588 INFO - Nodes should register to http://10.42.204.16:4445/grid/register/
1/9/2018 3:13:55 PM22:13:55.589 INFO - Selenium Grid hub is up and running
1/9/2018 3:13:55 PMSelenium Hub started!
1/9/2018 3:13:55 PMStarting DockerSeleniumStarter node...
1/9/2018 3:13:56 PM..22:13:56.171 INFO - Selenium build info: version: '3.8.1', revision: '6e95a6684b'
1/9/2018 3:13:56 PM22:13:56.172 INFO - Launching a Selenium Grid node
1/9/2018 3:13:56 PM..2018-01-09 22:13:56.570:INFO::main: Logging initialized @645ms to org.seleniumhq.jetty9.util.log.StdErrLog
1/9/2018 3:13:56 PM22:13:56.614 INFO - Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()`
1/9/2018 3:13:56 PM22:13:56.624 INFO - Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
1/9/2018 3:13:56 PM22:13:56.628 INFO - Using `new EdgeOptions()` is preferred to `DesiredCapabilities.edge()`
1/9/2018 3:13:56 PM22:13:56.629 INFO - Driver class not found: com.opera.core.systems.OperaDriver
1/9/2018 3:13:56 PM22:13:56.631 INFO - Using `new OperaOptions()` is preferred to `DesiredCapabilities.operaBlink()`
1/9/2018 3:13:56 PM22:13:56.632 INFO - Using `new SafariOptions()` is preferred to `DesiredCapabilities.safari()`
1/9/2018 3:13:56 PM22:13:56.634 INFO - Driver class not found: org.openqa.selenium.phantomjs.PhantomJSDriver
1/9/2018 3:13:56 PM22:13:56.647 INFO - Driver provider class org.openqa.selenium.ie.InternetExplorerDriver registration is skipped:
1/9/2018 3:13:56 PM registration capabilities Capabilities {browserName: internet explorer, ensureCleanSession: true, platform: WINDOWS, version: } does not match the current platform LINUX
1/9/2018 3:13:56 PM22:13:56.647 INFO - Driver provider class org.openqa.selenium.edge.EdgeDriver registration is skipped:
1/9/2018 3:13:56 PM registration capabilities Capabilities {browserName: MicrosoftEdge, platform: WINDOWS, version: } does not match the current platform LINUX
1/9/2018 3:13:56 PM22:13:56.648 INFO - Driver provider class org.openqa.selenium.safari.SafariDriver registration is skipped:
1/9/2018 3:13:56 PM registration capabilities Capabilities {browserName: safari, platform: MAC, version: } does not match the current platform LINUX
1/9/2018 3:13:56 PM22:13:56.671 INFO - Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
1/9/2018 3:13:56 PM22:13:56.673 INFO - Using `new EdgeOptions()` is preferred to `DesiredCapabilities.edge()`
1/9/2018 3:13:56 PM22:13:56.673 INFO - Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()`
1/9/2018 3:13:56 PM22:13:56.674 INFO - Using `new OperaOptions()` is preferred to `DesiredCapabilities.operaBlink()`
1/9/2018 3:13:56 PM22:13:56.675 INFO - Using `new SafariOptions()` is preferred to `DesiredCapabilities.safari()`
1/9/2018 3:13:56 PM22:13:56.682 INFO - Using the passthrough mode handler
1/9/2018 3:13:56 PM2018-01-09 22:13:56.702:INFO:osjs.Server:main: jetty-9.4.7.v20170914
1/9/2018 3:13:56 PM2018-01-09 22:13:56.725:WARN:osjs.SecurityHandler:main: ServletContext@o.s.j.s.ServletContextHandler@49438269{/,null,STARTING} has uncovered http methods for path: /
1/9/2018 3:13:56 PM2018-01-09 22:13:56.728:INFO:osjsh.ContextHandler:main: Started o.s.j.s.ServletContextHandler@49438269{/,null,AVAILABLE}
1/9/2018 3:13:56 PM2018-01-09 22:13:56.738:INFO:osjs.AbstractConnector:main: Started ServerConnector@4988d8b8{HTTP/1.1,[http/1.1]}{0.0.0.0:30000}
1/9/2018 3:13:56 PM2018-01-09 22:13:56.738:INFO:osjs.Server:main: Started @814ms
1/9/2018 3:13:56 PM22:13:56.739 INFO - Selenium Grid node is up and ready to register to the hub
1/9/2018 3:13:56 PM22:13:56.754 INFO - Registering the node to the hub: http://localhost:4444/grid/register
1/9/2018 3:13:56 PM.22:13:56.954 INFO - Registered a node http://10.42.204.16:30000
1/9/2018 3:13:56 PM22:13:56.955 INFO - The node is registered to the hub and ready to use
1/9/2018 3:13:56 PM22:13:56.955 INFO - [DS]  Setting up 2 nodes...
1/9/2018 3:13:56 PM22:13:56.959 INFO - 2 containers were created, it will take a bit more until all get registered.
1/9/2018 3:13:57 PMDockerSeleniumStarter node started!
1/9/2018 3:13:57 PMSauce Labs not enabled...
1/9/2018 3:13:57 PMBrowser Stack not enabled...
1/9/2018 3:13:57 PMTestingBot not enabled...
1/9/2018 3:13:57 PMZalenium is now ready!
1/9/2018 3:13:57 PM*************************************** Data Processing Agreement ***************************************
1/9/2018 3:13:57 PMBy using this software you agree that the following non-PII (non personally identifiable information)
1/9/2018 3:13:57 PMdata will be collected, processed and used by Zalando SE for the purpose of improving our test
1/9/2018 3:13:57 PMinfrastructure tools. Anonymisation with respect of the IP address means that only the first two octets
1/9/2018 3:13:57 PMof the IP address are collected.
1/9/2018 3:13:57 PM
1/9/2018 3:13:57 PMSee the complete license at https://github.com/zalando/zalenium/blob/master/LICENSE.md
1/9/2018 3:13:57 PM*************************************** Data Processing Agreement ***************************************
1/9/2018 3:13:58 PM2018-01-09 22:13:58 INFO  DefaultDockerClient:645 - Creating container with ContainerConfig: ContainerConfig{hostname=null, domainname=null, user=null, attachStdin=null, attachStdout=null, attachStderr=null, portSpecs=null, exposedPorts=[40000, 50000], tty=null, openStdin=null, stdinOnce=null, env=[SEL_NODEPOLLING_MS=105000, SELENIUM_HUB_HOST=10.42.204.16, TZ=Europe/Berlin, NOVNC_PORT=50000, CHROME=false, SELENIUM_MULTINODE_PORT=40000, WAIT_TIME_OUT_VIDEO_STOP=20s, FIREFOX=false, SCREEN_HEIGHT=1080, WAIT_TIMEOUT=120s, SCREEN_WIDTH=1920, NOVNC=true, SELENIUM_NODE_PARAMS=, SEND_ANONYMOUS_USAGE_INFO=true, GRID=false, MULTINODE=true, VIDEO_STOP_SLEEP_SECS=1, SELENIUM_NODE_REGISTER_CYCLE=20000, ZALENIUM=true, SELENIUM_NODE_HOST={{CONTAINER_IP}}, PICK_ALL_RANDOM_PORTS=false, BUILD_URL=, VNC_PORT=60000, SELENIUM_HUB_PORT=4445, SELENIUM_NODE_PROXY_PARAMS=de.zalando.ep.zalenium.proxy.DockerSeleniumRemoteProxy], cmd=null, image=elgalu/selenium:latest, volumes=[], workingDir=null, entrypoint=null, networkDisabled=null, onBuild=null, labels=null, macAddress=null, hostConfig=HostConfig{binds=[/dev/shm:/dev/shm], blkioWeight=null, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, containerIdFile=null, lxcConf=null, privileged=true, portBindings=null, links=null, publishAllPorts=null, dns=null, dnsOptions=null, dnsSearch=null, extraHosts=[mac.host.local:192.168.65.1], volumesFrom=null, capAdd=null, capDrop=null, networkMode=none, securityOpt=null, devices=null, memory=null, memorySwap=null, memorySwappiness=null, memoryReservation=null, nanoCpus=null, cpuPeriod=null, cpuShares=null, cpusetCpus=null, cpusetMems=null, cpuQuota=null, cgroupParent=null, restartPolicy=null, logConfig=null, ipcMode=null, ulimits=null, pidMode=null, shmSize=null, oomKillDisable=null, oomScoreAdj=null, autoRemove=true, pidsLimit=null, tmpfs=null, readonlyRootfs=null, storageOpt=null}, stopSignal=null, healthcheck=null, networkingConfig=null}
1/9/2018 3:13:58 PM2018-01-09 22:13:58 INFO  DefaultDockerClient:645 - Creating container with ContainerConfig: ContainerConfig{hostname=null, domainname=null, user=null, attachStdin=null, attachStdout=null, attachStderr=null, portSpecs=null, exposedPorts=[40001, 50001], tty=null, openStdin=null, stdinOnce=null, env=[SEL_NODEPOLLING_MS=100000, SELENIUM_HUB_HOST=10.42.204.16, TZ=Europe/Berlin, NOVNC_PORT=50001, CHROME=false, SELENIUM_MULTINODE_PORT=40001, WAIT_TIME_OUT_VIDEO_STOP=20s, FIREFOX=false, SCREEN_HEIGHT=1080, WAIT_TIMEOUT=120s, SCREEN_WIDTH=1920, NOVNC=true, SELENIUM_NODE_PARAMS=, SEND_ANONYMOUS_USAGE_INFO=true, GRID=false, MULTINODE=true, VIDEO_STOP_SLEEP_SECS=1, SELENIUM_NODE_REGISTER_CYCLE=19000, ZALENIUM=true, SELENIUM_NODE_HOST={{CONTAINER_IP}}, PICK_ALL_RANDOM_PORTS=false, BUILD_URL=, VNC_PORT=60001, SELENIUM_HUB_PORT=4445, SELENIUM_NODE_PROXY_PARAMS=de.zalando.ep.zalenium.proxy.DockerSeleniumRemoteProxy], cmd=null, image=elgalu/selenium:latest, volumes=[], workingDir=null, entrypoint=null, networkDisabled=null, onBuild=null, labels=null, macAddress=null, hostConfig=HostConfig{binds=[/dev/shm:/dev/shm], blkioWeight=null, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, containerIdFile=null, lxcConf=null, privileged=true, portBindings=null, links=null, publishAllPorts=null, dns=null, dnsOptions=null, dnsSearch=null, extraHosts=[mac.host.local:192.168.65.1], volumesFrom=null, capAdd=null, capDrop=null, networkMode=none, securityOpt=null, devices=null, memory=null, memorySwap=null, memorySwappiness=null, memoryReservation=null, nanoCpus=null, cpuPeriod=null, cpuShares=null, cpusetCpus=null, cpusetMems=null, cpuQuota=null, cgroupParent=null, restartPolicy=null, logConfig=null, ipcMode=null, ulimits=null, pidMode=null, shmSize=null, oomKillDisable=null, oomScoreAdj=null, autoRemove=true, pidsLimit=null, tmpfs=null, readonlyRootfs=null, storageOpt=null}, stopSignal=null, healthcheck=null, networkingConfig=null}
1/9/2018 3:13:59 PM2018-01-09 22:13:59 INFO  DefaultDockerClient:667 - Starting container with Id: fdac78830b40b7627f2111651c8f9a10ffe4b01a37acba33fcd269f49c85a179
1/9/2018 3:13:59 PM2018-01-09 22:13:59 INFO  DefaultDockerClient:667 - Starting container with Id: 23709dd715d6d4530d72f52cd018446343307c9a3e43784dfb1ede4c647b5d09
1/9/2018 3:15:00 PM22:15:00.366 INFO - [DS] Container r-selenium-zalenium-1-1f85f8b5_40001 took longer than 60 seconds to be up and ready, this might be a signal that you have reached the hardware limits for the number of concurrent threads that you want to execute.
1/9/2018 3:15:00 PM2018-01-09 22:15:00 INFO  DefaultDockerClient:645 - Creating container with ContainerConfig: ContainerConfig{hostname=null, domainname=null, user=null, attachStdin=null, attachStdout=null, attachStderr=null, portSpecs=null, exposedPorts=[40002, 50002], tty=null, openStdin=null, stdinOnce=null, env=[SEL_NODEPOLLING_MS=100000, SELENIUM_HUB_HOST=10.42.204.16, TZ=Europe/Berlin, NOVNC_PORT=50002, CHROME=false, SELENIUM_MULTINODE_PORT=40002, WAIT_TIME_OUT_VIDEO_STOP=20s, FIREFOX=false, SCREEN_HEIGHT=1080, WAIT_TIMEOUT=120s, SCREEN_WIDTH=1920, NOVNC=true, SELENIUM_NODE_PARAMS=, SEND_ANONYMOUS_USAGE_INFO=true, GRID=false, MULTINODE=true, VIDEO_STOP_SLEEP_SECS=1, SELENIUM_NODE_REGISTER_CYCLE=19000, ZALENIUM=true, SELENIUM_NODE_HOST={{CONTAINER_IP}}, PICK_ALL_RANDOM_PORTS=false, BUILD_URL=, VNC_PORT=60002, SELENIUM_HUB_PORT=4445, SELENIUM_NODE_PROXY_PARAMS=de.zalando.ep.zalenium.proxy.DockerSeleniumRemoteProxy], cmd=null, image=elgalu/selenium:latest, volumes=[], workingDir=null, entrypoint=null, networkDisabled=null, onBuild=null, labels=null, macAddress=null, hostConfig=HostConfig{binds=[/dev/shm:/dev/shm], blkioWeight=null, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, containerIdFile=null, lxcConf=null, privileged=true, portBindings=null, links=null, publishAllPorts=null, dns=null, dnsOptions=null, dnsSearch=null, extraHosts=[mac.host.local:192.168.65.1], volumesFrom=null, capAdd=null, capDrop=null, networkMode=none, securityOpt=null, devices=null, memory=null, memorySwap=null, memorySwappiness=null, memoryReservation=null, nanoCpus=null, cpuPeriod=null, cpuShares=null, cpusetCpus=null, cpusetMems=null, cpuQuota=null, cgroupParent=null, restartPolicy=null, logConfig=null, ipcMode=null, ulimits=null, pidMode=null, shmSize=null, oomKillDisable=null, oomScoreAdj=null, autoRemove=true, pidsLimit=null, tmpfs=null, readonlyRootfs=null, storageOpt=null}, stopSignal=null, healthcheck=null, networkingConfig=null}
1/9/2018 3:15:00 PM22:15:00.662 INFO - [DS] Container r-selenium-zalenium-1-1f85f8b5_40000 took longer than 60 seconds to be up and ready, this might be a signal that you have reached the hardware limits for the number of concurrent threads that you want to execute.

And the spawned containers show this:

1/9/2018 3:14:00 PMsudo: unable to resolve host 23709dd715d6: Connection refused
1/9/2018 3:14:00 PM--LOG 22:14:00:510110028 Stopping supervisord to support docker restart...
1/9/2018 3:14:02 PM-- INFO: Docker Img. Version: 3.8.1-217
1/9/2018 3:14:02 PM-- INFO: Chrome..... Version: 63.0.3239.132
1/9/2018 3:14:02 PM-- INFO: Firefox.... Version: 57.0.4
1/9/2018 3:14:02 PM-- INFO: Using Selenium.....:
1/9/2018 3:14:02 PMsudo: unable to resolve host 23709dd715d6: Connection refused
1/9/2018 3:14:03 PM***************** BEGIN: Data Processing Agreement *****************
1/9/2018 3:14:03 PMBy using this software you agree that the following non-PII
1/9/2018 3:14:03 PM(non personally identifiable information) data will be collected,
1/9/2018 3:14:03 PMprocessed and used by Docker-selenium for the purpose of improving
1/9/2018 3:14:03 PMour test infrastructure tools. Anonymisation with respect of the IP
1/9/2018 3:14:03 PMaddress means that only the first two octets of the IP address are
1/9/2018 3:14:03 PMcollected. See the complete license at:
1/9/2018 3:14:03 PMhttps://github.com/elgalu/docker-selenium/blob/master/LICENSE.md
1/9/2018 3:14:03 PM****************** END: Data Processing Agreement ******************
1/9/2018 3:14:03 PMsupervisord --version=4.0.0.dev0
1/9/2018 3:14:04 PM2018-01-09 22:14:04,191 INFO Included extra file "/etc/supervisor/conf.d/novnc.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,191 INFO Included extra file "/etc/supervisor/conf.d/selenium-hub.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,191 INFO Included extra file "/etc/supervisor/conf.d/selenium-multinode.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,191 INFO Included extra file "/etc/supervisor/conf.d/selenium-node-chrome.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,191 INFO Included extra file "/etc/supervisor/conf.d/selenium-node-firefox.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,191 INFO Included extra file "/etc/supervisor/conf.d/video-rec.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,191 INFO Included extra file "/etc/supervisor/conf.d/vnc.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,191 INFO Included extra file "/etc/supervisor/conf.d/xmanager.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,191 INFO Included extra file "/etc/supervisor/conf.d/xterm.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,224 INFO RPC interface 'supervisor' initialized
1/9/2018 3:14:04 PM2018-01-09 22:14:04,231 INFO RPC interface 'supervisor' initialized
1/9/2018 3:14:04 PM2018-01-09 22:14:04,232 INFO supervisord started with pid 155
1/9/2018 3:14:05 PM2018-01-09 22:14:05,233 INFO spawned: 'xmanager' with pid 158
1/9/2018 3:14:05 PM2018-01-09 22:14:05,236 INFO spawned: 'vnc' with pid 159
1/9/2018 3:14:05 PM2018-01-09 22:14:05,241 INFO spawned: 'novnc' with pid 160
1/9/2018 3:14:05 PM2018-01-09 22:14:05,242 INFO spawned: 'selenium-multinode' with pid 163
1/9/2018 3:14:05 PM2018-01-09 22:14:05,246 INFO spawned: 'xterm' with pid 167
1/9/2018 3:14:05 PM2018-01-09 22:14:05,256 INFO success: xterm entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
1/9/2018 3:14:05 PM2018-01-09 22:14:05,257 INFO exited: selenium-multinode (exit status 110; not expected)
1/9/2018 3:14:06 PM2018-01-09 22:14:06,310 INFO spawned: 'selenium-multinode' with pid 307
1/9/2018 3:14:06 PM2018-01-09 22:14:06,318 INFO exited: selenium-multinode (exit status 110; not expected)
1/9/2018 3:14:07 PM2018-01-09 22:14:07,329 INFO success: xmanager entered RUNNING state, process has stayed up for > than 2 seconds (startsecs)
1/9/2018 3:14:07 PM2018-01-09 22:14:07,329 INFO success: vnc entered RUNNING state, process has stayed up for > than 2 seconds (startsecs)
1/9/2018 3:14:07 PM2018-01-09 22:14:07,329 INFO success: novnc entered RUNNING state, process has stayed up for > than 2 seconds (startsecs)
1/9/2018 3:14:08 PM2018-01-09 22:14:08,335 INFO spawned: 'selenium-multinode' with pid 478
1/9/2018 3:14:08 PM2018-01-09 22:14:08,341 INFO exited: selenium-multinode (exit status 110; not expected)
1/9/2018 3:14:08 PM2018-01-09 22:14:08,341 INFO gave up: selenium-multinode entered FATAL state, too many start retries too quickly
1/9/2018 3:13:59 PMsudo: unable to resolve host fdac78830b40: Connection refused
1/9/2018 3:14:00 PM--LOG 22:14:00:116294239 Stopping supervisord to support docker restart...
1/9/2018 3:14:02 PM-- INFO: Docker Img. Version: 3.8.1-217
1/9/2018 3:14:02 PM-- INFO: Chrome..... Version: 63.0.3239.132
1/9/2018 3:14:02 PM-- INFO: Firefox.... Version: 57.0.4
1/9/2018 3:14:02 PM-- INFO: Using Selenium.....:
1/9/2018 3:14:02 PMsudo: unable to resolve host fdac78830b40: Connection refused
1/9/2018 3:14:03 PM***************** BEGIN: Data Processing Agreement *****************
1/9/2018 3:14:03 PMBy using this software you agree that the following non-PII
1/9/2018 3:14:03 PM(non personally identifiable information) data will be collected,
1/9/2018 3:14:03 PMprocessed and used by Docker-selenium for the purpose of improving
1/9/2018 3:14:03 PMour test infrastructure tools. Anonymisation with respect of the IP
1/9/2018 3:14:03 PMaddress means that only the first two octets of the IP address are
1/9/2018 3:14:03 PMcollected. See the complete license at:
1/9/2018 3:14:03 PMhttps://github.com/elgalu/docker-selenium/blob/master/LICENSE.md
1/9/2018 3:14:03 PM****************** END: Data Processing Agreement ******************
1/9/2018 3:14:03 PMsupervisord --version=4.0.0.dev0
1/9/2018 3:14:04 PM2018-01-09 22:14:04,197 INFO Included extra file "/etc/supervisor/conf.d/novnc.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,197 INFO Included extra file "/etc/supervisor/conf.d/selenium-hub.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,197 INFO Included extra file "/etc/supervisor/conf.d/selenium-multinode.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,197 INFO Included extra file "/etc/supervisor/conf.d/selenium-node-chrome.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,197 INFO Included extra file "/etc/supervisor/conf.d/selenium-node-firefox.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,197 INFO Included extra file "/etc/supervisor/conf.d/video-rec.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,197 INFO Included extra file "/etc/supervisor/conf.d/vnc.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,197 INFO Included extra file "/etc/supervisor/conf.d/xmanager.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,197 INFO Included extra file "/etc/supervisor/conf.d/xterm.conf" during parsing
1/9/2018 3:14:04 PM2018-01-09 22:14:04,231 INFO RPC interface 'supervisor' initialized
1/9/2018 3:14:04 PM2018-01-09 22:14:04,235 INFO RPC interface 'supervisor' initialized
1/9/2018 3:14:04 PM2018-01-09 22:14:04,236 INFO supervisord started with pid 155
1/9/2018 3:14:05 PM2018-01-09 22:14:05,238 INFO spawned: 'xmanager' with pid 158
1/9/2018 3:14:05 PM2018-01-09 22:14:05,240 INFO spawned: 'vnc' with pid 159
1/9/2018 3:14:05 PM2018-01-09 22:14:05,242 INFO spawned: 'novnc' with pid 160
1/9/2018 3:14:05 PM2018-01-09 22:14:05,244 INFO spawned: 'selenium-multinode' with pid 161
1/9/2018 3:14:05 PM2018-01-09 22:14:05,246 INFO spawned: 'xterm' with pid 162
1/9/2018 3:14:05 PM2018-01-09 22:14:05,258 INFO success: xterm entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
1/9/2018 3:14:05 PM2018-01-09 22:14:05,258 INFO exited: selenium-multinode (exit status 110; not expected)
1/9/2018 3:14:06 PM2018-01-09 22:14:06,280 INFO spawned: 'selenium-multinode' with pid 301
1/9/2018 3:14:06 PM2018-01-09 22:14:06,287 INFO exited: selenium-multinode (exit status 110; not expected)
1/9/2018 3:14:07 PM2018-01-09 22:14:07,271 INFO success: xmanager entered RUNNING state, process has stayed up for > than 2 seconds (startsecs)
1/9/2018 3:14:07 PM2018-01-09 22:14:07,271 INFO success: vnc entered RUNNING state, process has stayed up for > than 2 seconds (startsecs)
1/9/2018 3:14:07 PM2018-01-09 22:14:07,271 INFO success: novnc entered RUNNING state, process has stayed up for > than 2 seconds (startsecs)
1/9/2018 3:14:08 PM2018-01-09 22:14:08,331 INFO spawned: 'selenium-multinode' with pid 478
1/9/2018 3:14:08 PM2018-01-09 22:14:08,337 INFO exited: selenium-multinode (exit status 110; not expected)
1/9/2018 3:14:08 PM2018-01-09 22:14:08,337 INFO gave up: selenium-multinode entered FATAL state, too many start retries too quickly

@diemol
Copy link
Contributor

diemol commented Jan 9, 2018

I think the issue is different, the docker-selenium containers cannot connect to the hub,

1/9/2018 3:13:59 PMsudo: unable to resolve host fdac78830b40: Connection refused

When I tested it, I used a normal setup with docker and a *nix environment. Sorry about my ignorance, I've not user Rancher, but it seems that it is just not a plain VM where you can run something.

Can you tell me more about how you were trying to deploy Zalenium?

@diemol diemol reopened this Jan 9, 2018
@monkpit
Copy link
Author

monkpit commented Jan 9, 2018

The strange thing to me is you will notice that fdac78830b40 is actually the node container, not the hub. The node says it was refused a connection to itself!

hub:
1/9/2018 3:13:59 PM2018-01-09 22:13:59 INFO DefaultDockerClient:667 - Starting container with Id: fdac78830b40b7627f2111651c8f9a10ffe4b01a37acba33fcd269f49c85a179

node (container with ID: fdac7883...):
1/9/2018 3:13:59 PMsudo: unable to resolve host fdac78830b40: Connection refused

The easiest way to get this working via Rancher would be if there was a docker-compose file that specified the hub, the nodes, and the connections between them. Then, any system like Rancher can control how they are connected, starting / re-starting containers, creating new containers on-demand, etc.

For example, the following docker-compose file will create a Selenium Grid with a Hub and 2 nodes, and the nodes will register themselves to the hub. Networking is handled by the docker links.

version: '2'
services:
  hub:
    image: selenium/hub
    ports:
    - 4444:4444/tcp
  chrome:
    image: selenium/node-chrome
    links:
    - hub:hub
  firefox:
    image: selenium/node-firefox
    links:
    - hub:hub

@diemol
Copy link
Contributor

diemol commented Jan 9, 2018

You are right, it was the container itself... I don't really understand what happens there.

Perhaps it is related to the fact that Zalenium is creating the containers and somehow this does not work as expected in Rancher.

I'll find some spare time during the next days and download Rancher to understand better what happens there, if I follow this https://rancher.com/quick-start/, I should get the same result you are seeing, right?

@monkpit
Copy link
Author

monkpit commented Jan 10, 2018

I believe you will get the same result. Tomorrow I will try to provide a minimal test case to reproduce what I am seeing.

@diemol
Copy link
Contributor

diemol commented Jan 10, 2018

Thanks, that would be helpful indeed. Perhaps you can show the docker compose file used to start Zalenium in Rancher so I can try it out as well.

@monkpit
Copy link
Author

monkpit commented Jan 10, 2018

I did not attempt to use docker-compose file with zalenium, I just tried to run the zalenium container by itself to get started.

Steps to reproduce:

  • Set up Rancher and add 1 host VM in the Infrastructure section
  • On Rancher site, Navigate to the Stacks page
  • Click Add Stack - name doesn't matter, it can be Test, or Zalenium, or anything.
  • Leave docker-compose and rancher-compose empty and click Create
  • Open the new Stack and click Add Service
  • Name: Zalenium
  • Image: dosel/zalenium
  • Click (+) next to Port Map and add 4444:4444
  • At the bottom of the page in the Command tab input Command as start
  • Click (+) next to Add Environment Variable to add any custom environment vars to pass to the container
  • On the Volumes tab click (+) Add Volume
  • Add /var/run/docker.sock:/var/run/docker.sock
  • On Security/Host tab, check "Privileged [ ] Full access to the host"
  • Click Create

Rancher will start the Zalenium container. To check the logs, select the Zalenium service inside the stack. On the service page, you will have 4 tabs - Ports, Containers, Labels, and Log. "Log" is only for the Rancher logs, not the container logs. To see the container logs, click Containers, and click the "..." menu on the right. Select "View Logs".

To see the logs for the containers that are spawned by Zalenium, click Infrastructure > Containers and search for "selenium". You will see 2 containers are created by Zalenium and are running, or possibly "stopped" after long enough time.

@monkpit
Copy link
Author

monkpit commented Jan 10, 2018

For comparison, if you create a stack with the example Selenium Grid docker-compose file I listed previously (copy/paste it into the docker-compose field on the Add Stack page), it will create the selenium containers as expected, and register them to the hub.

EDIT: It's also possible to create the Selenium stack without using a docker-compose file. You simply create each container 1 by 1, and the node containers will be linked to the hub. This is what I would like to be able to do with Zalenium - Create 1 hub container and create the selenium containers myself, and link them to the Zalenium hub.

@diemol
Copy link
Contributor

diemol commented Jan 14, 2018

Hi @monkpit, just an update.

I started Rancher and at least I was able to reach the same point. I can see the same message.

This is happening because when the elgalu/selenium image starts, it tries to get its own container IP to use it in the registration process. We use this because we create nodes dynamically.

Somehow, we cannot get the container's IP, so in the end the node cannot register. I will read a bit the Rancher docs to see if I spot something obvious and also debug a bit more.

@diemol
Copy link
Contributor

diemol commented Jan 15, 2018

Status update :)

I found this label https://rancher.com/docs/rancher/v1.6/en/cattle/labels/#native-docker-labels
Which should be added when creating the elgalu/selenium containers. I added it and it kind of works, I think we need to made a slight change in elgalu/selenium and it should reliably work.

@diemol
Copy link
Contributor

diemol commented Jan 16, 2018

Hi @monkpit,

It all points out that we need to make changes in Zalenium and elgalu/selenium to have it working in Rancher.

My question is if you are still trying to use Zalenium, and if so, we could make those changes but it would take a few days.

Please let us know,

@monkpit
Copy link
Author

monkpit commented Jan 16, 2018

My workaround was just to use a virtual machine instead of rancher. It’s not ideal for us but it gets the job done!

@diemol
Copy link
Contributor

diemol commented Jan 16, 2018

OK, so let us give it a try and see if we can make it work flawlessly directly in Rancher. I'll post here again in a couple of days.

diemol added a commit that referenced this issue Jan 20, 2018
diemol added a commit that referenced this issue Jan 20, 2018
diemol added a commit to elgalu/docker-selenium that referenced this issue Jan 20, 2018
diemol added a commit to elgalu/docker-selenium that referenced this issue Jan 20, 2018
* Waiting for CONTAINER_IP a bit when using Zalenium zalando/zalenium#396

* Adding message to simplify debugging
@diemol
Copy link
Contributor

diemol commented Jan 20, 2018

Hi @monkpit,

So we made some changes and we finally made it work in Rancher (at least in the environment we set up).

Can you please pull the most recent releases of dosel/zalenium and elgalu/selenium?

And also use this env vars in your docker-compose or docker run command:

          PULL_SELENIUM_IMAGE=true
          SELENIUM_CONTAINER_LABELS=io.rancher.container.network=true
          SELENIUM_WAIT_FOR_CONTAINER=false

Please reopen the issue if something doesn't work well.

@diemol diemol closed this as completed Jan 20, 2018
@monkpit
Copy link
Author

monkpit commented Jan 22, 2018

I'll try to get around to testing this today or this week as work allows - Thanks so much for the time!

@monkpit
Copy link
Author

monkpit commented Jan 22, 2018

I believe this is working now! 🥇

@monkpit
Copy link
Author

monkpit commented Jan 24, 2018

If I leave the Zalenium container running in Rancher for a while (overnight) and retry tests afterwards, I am seeing an error in the logs saying unable to find image eglau/selenium. I am working on getting the full logfile from the point when the error occurs. Possible solution would be to always attempt to pull the image when spinning up a new selenium container?

Not sure what is happening on Rancher's side here - Unsure if the docker image cache is cleared periodically, or if the containers are trying to run on a different host that has not pulled eglau/selenium yet? Will post full logs here when available.

@diemol not sure if you want to reopen this issue - I don't seem to have the option to reopen it myself.

EDIT: adding log

1/24/2018 10:22:40 AM10:22:40.973 INFO - [DS] Starting new node for {enableVNC=true, count=1, browserName=chrome, enableVideo=true, chromeOptions={args=[--no-sandbox, --disable-infobars=true], prefs={credentials_enable_service=false, download={default_directory=/Users/pittmank/src/tests/showcase-web-tests/downloads/, directory_upgrade=true, prompt_for_download=false}, password_manager_enabled=false, profile.password_manager_enabled=false}}, maxInstances=4, shardTestFiles=false}.
1/24/2018 10:22:40 AM10:22:40.989 DEBUG - [DS]  0 docker-selenium containers running
1/24/2018 10:22:40 AM10:22:40.989 DEBUG - Env. variable BUILD_URL value is not set, falling back to default:
1/24/2018 10:22:41 AM10:22:41.005 WARN - [DS]  Error while starting a new container
1/24/2018 10:22:41 AMcom.spotify.docker.client.exceptions.ImageNotFoundException: Image not found: elgalu/selenium:latest
1/24/2018 10:22:41 AM	at com.spotify.docker.client.DefaultDockerClient.createContainer(DefaultDockerClient.java:656)
1/24/2018 10:22:41 AM	at de.zalando.ep.zalenium.container.DockerContainerClient.createContainer(DockerContainerClient.java:244)
1/24/2018 10:22:41 AM	at de.zalando.ep.zalenium.proxy.DockerSeleniumStarterRemoteProxy.startDockerSeleniumContainer(DockerSeleniumStarterRemoteProxy.java:458)
1/24/2018 10:22:41 AM	at de.zalando.ep.zalenium.proxy.DockerSeleniumStarterRemoteProxy.startDockerSeleniumContainer(DockerSeleniumStarterRemoteProxy.java:430)
1/24/2018 10:22:41 AM	at de.zalando.ep.zalenium.proxy.DockerSeleniumStarterRemoteProxy.lambda$getNewSession$2(DockerSeleniumStarterRemoteProxy.java:353)
1/24/2018 10:22:41 AM	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
1/24/2018 10:22:41 AM	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
1/24/2018 10:22:41 AM	at java.lang.Thread.run(Thread.java:748)
1/24/2018 10:22:41 AMCaused by: com.spotify.docker.client.exceptions.DockerRequestException: Request error: POST unix://localhost:80/containers/create?name=r-selenium-hub-1-19db25a9_40032: 404, body: {"message":"No such image: elgalu/selenium:latest"}
1/24/2018 10:22:41 AM
1/24/2018 10:22:41 AM	at com.spotify.docker.client.DefaultDockerClient.propagate(DefaultDockerClient.java:2694)
1/24/2018 10:22:41 AM	at com.spotify.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:2644)
1/24/2018 10:22:41 AM	at com.spotify.docker.client.DefaultDockerClient.createContainer(DefaultDockerClient.java:651)
1/24/2018 10:22:41 AM	... 7 more
1/24/2018 10:22:41 AMCaused by: javax.ws.rs.NotFoundException: HTTP 404 Not Found
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.JerseyInvocation.convertToException(JerseyInvocation.java:1008)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:816)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.JerseyInvocation.access$700(JerseyInvocation.java:92)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.JerseyInvocation$5.completed(JerseyInvocation.java:773)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.ClientRuntime.processResponse(ClientRuntime.java:198)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.ClientRuntime.access$300(ClientRuntime.java:79)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.ClientRuntime$2.run(ClientRuntime.java:180)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:340)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.ClientRuntime$3.run(ClientRuntime.java:210)
1/24/2018 10:22:41 AM	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
1/24/2018 10:22:41 AM	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
1/24/2018 10:22:41 AM	... 3 more
1/24/2018 10:22:41 AM10:22:41.007 DEBUG - [DS] Container creation failed, retrying...
1/24/2018 10:22:41 AM10:22:41.007 DEBUG - Env. variable BUILD_URL value is not set, falling back to default:
1/24/2018 10:22:41 AM10:22:41.023 WARN - [DS]  Error while starting a new container
1/24/2018 10:22:41 AMcom.spotify.docker.client.exceptions.ImageNotFoundException: Image not found: elgalu/selenium:latest
1/24/2018 10:22:41 AM	at com.spotify.docker.client.DefaultDockerClient.createContainer(DefaultDockerClient.java:656)
1/24/2018 10:22:41 AM	at de.zalando.ep.zalenium.container.DockerContainerClient.createContainer(DockerContainerClient.java:244)
1/24/2018 10:22:41 AM	at de.zalando.ep.zalenium.proxy.DockerSeleniumStarterRemoteProxy.startDockerSeleniumContainer(DockerSeleniumStarterRemoteProxy.java:458)
1/24/2018 10:22:41 AM	at de.zalando.ep.zalenium.proxy.DockerSeleniumStarterRemoteProxy.startDockerSeleniumContainer(DockerSeleniumStarterRemoteProxy.java:430)
1/24/2018 10:22:41 AM	at de.zalando.ep.zalenium.proxy.DockerSeleniumStarterRemoteProxy.lambda$getNewSession$2(DockerSeleniumStarterRemoteProxy.java:353)
1/24/2018 10:22:41 AM	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
1/24/2018 10:22:41 AM	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
1/24/2018 10:22:41 AM	at java.lang.Thread.run(Thread.java:748)
1/24/2018 10:22:41 AMCaused by: com.spotify.docker.client.exceptions.DockerRequestException: Request error: POST unix://localhost:80/containers/create?name=r-selenium-hub-1-19db25a9_40033: 404, body: {"message":"No such image: elgalu/selenium:latest"}
1/24/2018 10:22:41 AM
1/24/2018 10:22:41 AM	at com.spotify.docker.client.DefaultDockerClient.propagate(DefaultDockerClient.java:2694)
1/24/2018 10:22:41 AM	at com.spotify.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:2644)
1/24/2018 10:22:41 AM	at com.spotify.docker.client.DefaultDockerClient.createContainer(DefaultDockerClient.java:651)
1/24/2018 10:22:41 AM	... 7 more
1/24/2018 10:22:41 AMCaused by: javax.ws.rs.NotFoundException: HTTP 404 Not Found
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.JerseyInvocation.convertToException(JerseyInvocation.java:1008)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:816)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.JerseyInvocation.access$700(JerseyInvocation.java:92)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.JerseyInvocation$5.completed(JerseyInvocation.java:773)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.ClientRuntime.processResponse(ClientRuntime.java:198)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.ClientRuntime.access$300(ClientRuntime.java:79)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.ClientRuntime$2.run(ClientRuntime.java:180)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:340)
1/24/2018 10:22:41 AM	at org.glassfish.jersey.client.ClientRuntime$3.run(ClientRuntime.java:210)
1/24/2018 10:22:41 AM	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
1/24/2018 10:22:41 AM	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
1/24/2018 10:22:41 AM	... 3 more
1/24/2018 10:22:41 AM10:22:41.024 DEBUG - [DS] Container creation failed, retrying...
1/24/2018 10:22:41 AM10:22:41.025 INFO - [DS] No container was created, will try again in a moment...

@monkpit monkpit changed the title Don't require pulling selenium image manually Rancher compatibility Jan 24, 2018
@diemol
Copy link
Contributor

diemol commented Jan 25, 2018

Sure, we can reopen it, no problem.

Could you please tell me a bit how the deployment? Does Rancher have many hosts and it could spin nodes in different hosts from the one where Zalenium runs?

@diemol diemol reopened this Jan 25, 2018
@monkpit
Copy link
Author

monkpit commented Jan 25, 2018

Yes, it's possible, however I don't know the behavior of zalenium - does access to docker.sock mean it will always try to create the containers on the same host? Our rancher environment has 10+ hosts registered. I have Rancher set to only attempt to run Zalenium on 3 different hosts with the tag "selenium=true".

However, I don't think this is part of the issue, because I can use Zalenium all day while developing and running tests against it. It's not an intermittent issue where it will randomly fail when trying to run on another host.

When I come back in the next day, the containers will no longer spin up. I suspect that Rancher is clearing out the image cache. A way to test would be to have some kind of flag like always_pull_selenium_image and try to pull it every time a test runs. If it works, then we know the source of the issue.

EDIT: well, I can't say it works ALL day - it just stopped working. Same error message, out of nowhere: Image not found: elgalu/selenium:latest. Maybe you are right that it is trying to run on another host, and the other host doesn't have the image pulled?

@diemol
Copy link
Contributor

diemol commented Jan 28, 2018

Yes, Zalenium just uses the docker.sock to create more containers, so I wonder how it works with Rancher, if it is really able to spin more containers in different hosts. If so, that'd be a great workaround for some people who are asking about how to use Zalenium with docker in different hosts.

We just released https://github.com/zalando/zalenium/releases/tag/3.8.1i, which uses the flag PULL_SELENIUM_IMAGE=true to pull the image on run time if it is not present.

@monkpit, please give it a try and let us know. I'll close the issue for now.

@diemol diemol closed this as completed Jan 28, 2018
@monkpit
Copy link
Author

monkpit commented Jan 31, 2018

@diemol Looks to be working long term now. I discovered today that on our end we were running a container called janitor which was clearing the docker image cache.

@diemol
Copy link
Contributor

diemol commented Feb 1, 2018

Ah, that explains it :)

So does that mean that Rancher can run Zalenium in different hosts?

@monkpit
Copy link
Author

monkpit commented Feb 1, 2018

From what I can tell: nope!

@diemol
Copy link
Contributor

diemol commented Feb 3, 2018

That's a shame, I thought we could have had a swarm-like behaviour with Rancher.

Thanks for all your feedback.

# for free to subscribe to this conversation on GitHub. Already have an account? #.
Projects
None yet
Development

No branches or pull requests

2 participants