<html><body>
<pre>[ https://ovirt-jira.atlassian.net/browse/OVIRT-1788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=35473#comment-35473 ]</pre>
<h3>Barak Korren commented on OVIRT-1788:</h3>
<p>[~gshereme@redhat.com] I don't know enough about how to use Selenium to iterate on this on my own, so I'll try to guide you through what I think is needed to be done. If you want more hand-on help from me, you'll need to teach me a little about Selenium and perhaps give me a small example app I can iterate with&hellip;</p>
<p>Here are the things that need to be done # Enable the OST suit to use docker  &ndash; this is done by: ## Adding &lsquo;{{docker}}&rsquo; to the &lsquo;{{*.packages}}&rsquo; file of the suit ## Adding &lsquo;{{docker}}&rsquo; to the &lsquo;{{*.packages}}&rsquo; file of &lsquo;{{check-patch}}&rsquo; (So code changes to the suit can be tested). ## Add the following to the relevant &lsquo;{{*.mounts}}&rsquo; files</p>
<pre>{code}/var/run/docker.sock:/var/run/docker.sock{code}</pre>
<p># Start up the Selenium containers from inside the suit and make them able to talk to oVirt. The readme of the GitHub repo gives examples of &lsquo;{{docker}}&rsquo; commands doing that, but those use the deprecated &lsquo;{{--link}}&rsquo; option. I've looked at what the containers actually do, and is seems that the browser containers simply expect the &lsquo;{{HUB_PORT_4444_TCP_ADDR}}&rsquo; and &lsquo;{{HUB_PORT_4444_TCP_PORT}}&rsquo; environment variables to be defined for them and pointing to the hub container. A more modern approach to setting this up would be: ## Setup a Docker network to connect the containers together ## Setup the hostnames for the oVirt VMs in the Docker network ## Start up a hub container and expose port 4444 so test suits can connect to it. ## Start up the browser containers and configure the env vars for then so they can find the hub container</p>
<pre>The above could be done with a bunch of Docker commands, but a better approach would be to use an automation tool such as '{{docker-compose}}'. But given that Ansible is closer to home for us, and likely to be used by other oVirt components, I think '{{ansible-containers}}' would be a better choice here.</pre>
<blockquote><h3>new ui_sanity scenario for basic_suite &mdash; need multiple firefoxes and chromium</h3>
<pre>     Key: OVIRT-1788
     URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1788
 Project: oVirt - virtualization made easy
         Issue Type: Improvement
         Components: OST
Reporter: Greg Sheremeta
Assignee: infra</pre>
<p>I'm writing a suite that does headless UI testing. One goal is to open headless firefox and actually open the UI, perform a login, make sure things look good, make sure there are no ui.log errors, etc. I'll also eventually add chromium, which can run headless now too. The suite requires several firefox versions to be installed on the test machine, along with chromium. There are also some binary components required, geckodriver and chromedriver. These are not packaged. Ideally the browsers can be installed to /opt/firefox55, /opt/firefox56, /opt/chromium62, etc. on the machine running the suite. So I think it makes sense to maintain a custom rpm with all of this. Where can this rpm live? What is a reliable way to do this? (I know we want to avoid copr.)</p></blockquote>
<p>&mdash; This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100074)</p>

<img src="https://u4043402.ct.sendgrid.net/wf/open?upn=i5TMWGV99amJbNxJpSp2-2BJ33BSM3tuiUfRTk64K-2BOjGpF-2BuMzoJRRB1ifzZIErtIxTccLy521zz7OxZViB5mnpbbwYJFz6flgevXOzUJVH-2FqBqvcqqqKIp3p4OcyDFOsRwvaLk1r7X8JpLEbbYtQ-2F8se-2FAoG3NqMy6MEF960fM4WCfArIPipDAxV3I9QtDxwIZkeNWD9yApPsdJra3V4NT7hIOoTif46hN9A2Na-2BIseHngSSOzrSPo87Xs5dlTOpgjpY9qTQwvDDu3ev5EOCWNGQddw08snqeUbxyNQ4Qw-2BbYY9F6GI-2BRDULPOH2hqzEpy6ZJOZmnu75-2FM8YYnqFrVOWrXcL3pDBDDkR7F8DdVOn0GA6PswICLwfzAvPl-2FguUglXcCia41xZstXzib5gc9NmKZJSmwo0M3EC4LxOvvqoX20s28DZddpIkYeOPJfi" alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;"/>
</body></html>