From 7ff41dea0ea397287cc8eff6f19cf66a317f7bd7 Mon Sep 17 00:00:00 2001 From: Honza Pokorny Date: Tue, 2 Oct 2018 14:00:54 -0300 Subject: [PATCH] Add option to install chrome when running tempest Change-Id: Ie5892ee14cc5e9bbc09dc79aeac7611bfb26e5bb Partially-implements: blueprint automated-ui-testing --- roles/validate-tempest/README.md | 3 ++- roles/validate-tempest/defaults/main.yml | 4 ++++ roles/validate-tempest/templates/run-tempest.sh.j2 | 7 +++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/roles/validate-tempest/README.md b/roles/validate-tempest/README.md index 283181bf2..48683cd2a 100644 --- a/roles/validate-tempest/README.md +++ b/roles/validate-tempest/README.md @@ -63,7 +63,8 @@ Role Variables * `tempest_deployer_input_file`: The path to tripleo deployer input file which contains the pre configured configuration for the deployed cloud using TripleO. * `tempest_os_cloud`: String name of the cloud to export as OS_CLOUD when using clouds.yaml rather than stackrc -* `stackviz_tarball`: Stackviz tarball url to be installed via pip +* `tempest_use_headless_chrome`: true/false - whether the headless chrome docker container should be pulled, and run +* `tempest_headless_chrome_port`: - the entrypoint into the headless chrome container Skip tests file diff --git a/roles/validate-tempest/defaults/main.yml b/roles/validate-tempest/defaults/main.yml index 5470aadd7..86efd82cf 100644 --- a/roles/validate-tempest/defaults/main.yml +++ b/roles/validate-tempest/defaults/main.yml @@ -99,3 +99,7 @@ tempest_conf_removal_queens: network-feature-enabled.api_extensions: dvr tempest_os_cloud: "" stackviz_tarball: "https://tarballs.openstack.org/package-stackviz-element/stackviz-latest.tar.gz" + +# Headless Chrome configuration +tempest_use_headless_chrome: false +tempest_headless_chrome_port: 9999 diff --git a/roles/validate-tempest/templates/run-tempest.sh.j2 b/roles/validate-tempest/templates/run-tempest.sh.j2 index d222fed3d..e84c2327a 100644 --- a/roles/validate-tempest/templates/run-tempest.sh.j2 +++ b/roles/validate-tempest/templates/run-tempest.sh.j2 @@ -73,6 +73,13 @@ export CONTAINER_BINARY='docker' sudo $CONTAINER_BINARY pull {{ tempest_container_registry }}/{{ tempest_container_namespace }}:{{ tempest_container_tag }} +{% if tempest_use_headless_chrome|bool %} +docker pull selenium/standalone-chrome +docker run -d \ + -p {{ tempest_headless_chrome_port }}:{{ tempest_headless_chrome_port }} \ + -v /dev/shm:/dev/shm selenium/standalone-chrome +{% endif %} + # Run tempest container using docker mouting required files sudo $CONTAINER_BINARY run --net=host -i -v $TEMPEST_HOST_DATA:{{ tempest_data }} \ -e PYTHONWARNINGS="${PYTHONWARNINGS:-}" \