спасибо, решил проблему инициализации драйвера, что сделал:
$ docker events
показал тоже самое - контейнер поднимается и через 10 секунд удаляется
а вот e.printstacktrace дал это:
org.openqa.selenium.WebDriverException: error: http://172.17.0.1:32785 does not respond in 10s
Command duration or timeout: 10.70 seconds
172.17.0.1 это какой-то внутренний адрес для сетевой инфраструктуры контейнеров
и номер порта при каждом запуске увеличивался на на 1
на виртуалке, которая работает в роли докер-хоста, открыл диапазон портов:
$sudo ufw allow 32000:33000/tcp
и это помогло, драйвер инициализировался
это логично, т.к. сначала был открыт только порт 4444 - по которому снаружи можно было попасть на хаб, а порты через которые можно попасть на ноду были закрыты
не знаю, это баг или фича, если баг, то в вашем проекте на гитхабе его заведу
если тесты были прерваны (или в коде тестов не указано закрытие драйвера), то некоторые контейнеры, которые были подняты для тестов, не уничтожаются, хотя я в доке читал про таймаут в одну минуту
да, эта версия лучше отработала, но из 100 контейнеров с хромом один остался работать (уже 30 мин висит - на этом контейнере тест упал), это не критично, но на всякий случай лог:
[305.992][SEVERE]: Timed out receiving message from renderer: 299.331
[305.993][INFO]: Timed out. Stopping navigation...
[305.993][DEBUG]: DEVTOOLS COMMAND Runtime.evaluate (id=31) {
"expression": "window.stop();",
"returnByValue": true
}
[305.997][DEBUG]: DEVTOOLS EVENT Page.frameStoppedLoading {
"frameId": "104.1"
}
[305.997][DEBUG]: DEVTOOLS RESPONSE Runtime.evaluate (id=31) {
"result": {
"type": "undefined"
}
}
[305.997][DEBUG]: DEVTOOLS COMMAND Runtime.evaluate (id=32) {
"expression": "1"
}
[305.997][SEVERE]: Timed out receiving message from renderer: -0.006
[305.998][INFO]: Done waiting for pending navigations. Status: timeout: cannot determine loading status
from timeout: Timed out receiving message from renderer: -0.006
[305.998][INFO]: RESPONSE Navigate timeout: cannot determine loading status
from timeout: Timed out receiving message from renderer: -0.006
(Session info: chrome=56.0.2924.87)
фйл browser.json использует последние версии контейнеров с браузерами:
А при этом selenoid пытается достучаться до 172.17.0.1 (контейнер с chrome при этом нормально поднимается):
2017/04/10 08:27:39 [NEW_REQUEST]
2017/04/10 08:27:39 [NEW_REQUEST_ACCEPTED]
2017/04/10 08:27:39 Locating the service for chrome
2017/04/10 08:27:39 Using default version: latest
2017/04/10 08:27:39 Using docker service for chrome latest
2017/04/10 08:27:39 Creating Docker container selenoid/chrome:latest …
2017/04/10 08:27:39 Starting container…
2017/04/10 08:27:40 Container 116905f338a07a42e1335b9b55ba1f5a59e2f6af869fcc1e69d51b87a588d00f started
Removing container 116905f338a07a42e1335b9b55ba1f5a59e2f6af869fcc1e69d51b87a588d00f
Container 116905f338a07a42e1335b9b55ba1f5a59e2f6af869fcc1e69d51b87a588d00f removed
2017/04/10 08:28:10 [SERVICE_STARTUP_FAILED] [error: http://172.17.0.1:10254 does not respond in 30s]
Похоже на проблему с моим окружением. Все настраиваю на одной виртуалке, selenoid + chrome на ней же.
Буду очень признателен, если кто-то подскажет, куда еще можно покопать.
Насколько я знаю, CentOS 7 более замороченная в плане настройки файрвола и они в последних редакциях меняли режим его работы. Точно не скажу. Попробуй использовать Ubntu 16.04 - все прекрасно взлетает и файрвол проще настраивается.
С подобной ошибкой столкнулся на днях разворачивая это дело (selenoid) на aws ec2.
Интересно узнать как вы решили эту проблему,если решили.
Может это 30 сек маловато чтобы в контейнере все что нужно поднялось. хз. сегодня еще локально попробую.
В моем случае это была проблема внутренней маршрутизации между конейнерами именно под центосом с firewalld. У меня селенойд поднимался на 172.17.0.2, хром на 172.17.0.3, а docker0 (это бридж для докера) имел инерфейс 172.17.0.1. Селенойд поднимал хром и пытался достучаться до него через 172.17.0.1, а нужно было либо напрямую на 172.17.0.3, либо через eth0 с реальным адресом. Вот.
В последней версии selenoid Александр Андряшин пофиксил эту проблему.
Попробуйте спулить последнюю версию селенойда. А вообще в убунту такой проблемы не должно быть.