openSUSE Project Management Tool: Issueshttps://progress.opensuse.org/https://progress.opensuse.org/themes/openSUSE/favicon/favicon.ico?15829177842021-07-21T09:02:09ZopenSUSE Project Management Tool
Redmine openQA Project - action #95768 (New): containers: the single_container_test shows this error "Per...https://progress.opensuse.org/issues/957682021-07-21T09:02:09Zilausuchilausuch@suse.com
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<p>Thanks to a previous issue <a class="issue tracker-4 status-3 priority-4 priority-default closed behind-schedule" title="action: [sporadic] containers: eventually the tests fails on single_container_webui step with the error "... (Resolved)" href="https://progress.opensuse.org/issues/95179">#95179</a> we could see in the logs that the webui has permissions problems on the "factory" directory<br>
e.g. <a href="https://openqa.opensuse.org/tests/1830297#step/single_container_webui/107" class="external">https://openqa.opensuse.org/tests/1830297#step/single_container_webui/107</a></p>
<p>The reason is because the directory has the root user (in the container) but the webui is executed with the geekotest user. </p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li><strong>AC 1</strong>: webui can create the needed directories in /var/lib/openqa/share/factory</li>
</ul>
<a name="Suggestion"></a>
<h2 >Suggestion<a href="#Suggestion" class="wiki-anchor">¶</a></h2>
<ul>
<li>Currently if the container doesn't fail the logs are not be printed, so print "docker logs openqa_webui" the logs before destroy the container</li>
<li>Check if there are other directories that require to be created from the webui and can be created</li>
</ul>
openQA Project - action #94255 (New): containers: Improve the speed of the container test in CIhttps://progress.opensuse.org/issues/942552021-06-18T10:48:35Zilausuchilausuch@suse.com
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<p>The container testing has two main parts: build + run containers. <br>
The building process consume a lot of time and we saw recently several failures because of timeouts <a class="issue tracker-4 status-3 priority-5 priority-high3 closed behind-schedule" title="action: openqa-in-OpenQA fails in openqa-from-containers (Resolved)" href="https://progress.opensuse.org/issues/93713">#93713</a><br>
The building process takes a lot of time installing packages with zypper (we don't have metrics yet, but is human observation).</p>
<a name="Acceptance-criteria"></a>
<h2 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li><strong>AC 1</strong>: Decrease the time to run the container tests</li>
</ul>
<a name="Suggestions"></a>
<h2 >Suggestions<a href="#Suggestions" class="wiki-anchor">¶</a></h2>
<p>Because we want to focus on test openQA itself and not the packages we install in our system, I suggest to focus only on open QA testing, and don't care too much about the required packages.<br>
For that, I suggest split each container images in two parts (two different Dockerfiles). One Dockerfile will prepare the base system with the installation of all the packages. The other Docker file will run the openQA code for testing. <br>
The base image could be created during the test, but most interesting, I think is that, we can use a pre build image created by OBS (or other service) every day (or with the frequency we decided) and uploaded tom some registry</p>
openQA Project - action #93177 (New): containers: webui doesn't has the credentials to connect to...https://progress.opensuse.org/issues/931772021-05-27T11:42:47Zilausuchilausuch@suse.com
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<p>The PR <a href="https://github.com/os-autoinst/openQA/pull/3915" class="external">https://github.com/os-autoinst/openQA/pull/3915</a> introduces a test of launching a job, but in the webui logs we can appreciate this error<br>
I separated this ticket from <a class="issue tracker-4 status-3 priority-4 priority-default closed behind-schedule" title="action: containers: Web UI cannot connect to scheduler (Resolved)" href="https://progress.opensuse.org/issues/92833">#92833</a> because It requires go deeper in testing and also see if there are other alternatives to the provided solution (below)</p>
<pre><code class="text syntaxhl" data-language="text">webui_2 | {"error":"Not authorized"}
</code></pre>
<a name="Acceptance-criteria"></a>
<h2 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li><strong>AC 1</strong> The communication from the webui with the scheduler is authorized</li>
</ul>
<a name="Ideas-and-previous-tests"></a>
<h2 >Ideas and previous tests<a href="#Ideas-and-previous-tests" class="wiki-anchor">¶</a></h2>
<p>Adding this to client.conf works.</p>
<pre><code class="text syntaxhl" data-language="text">[scheduler]\nkey = 1234567890ABCDEF\nsecret = 1234567890ABCDEF\n
</code></pre> openQA Project - action #92092 (New): containers: openQA test eventually fails because of timeoutshttps://progress.opensuse.org/issues/920922021-05-03T15:15:00Zilausuchilausuch@suse.com
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<p>This test shows that the containers test in openQA eventually fails because of timeouts<br>
<a href="https://openqa.opensuse.org/tests/1724212#step/build/5" class="external">https://openqa.opensuse.org/tests/1724212#step/build/5</a></p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li><strong>AC 1</strong>: container tests doesn't fails because of timeouts at least for 10 rounds</li>
</ul>
<a name="Suggestion"></a>
<h2 >Suggestion<a href="#Suggestion" class="wiki-anchor">¶</a></h2>
<p>Seems the worker was overload, a suggestion solution is to increase the timeouts in <a href="https://github.com/os-autoinst/os-autoinst-distri-openQA/blob/master/tests/containers/build.pm" class="external">https://github.com/os-autoinst/os-autoinst-distri-openQA/blob/master/tests/containers/build.pm</a></p>
openQA Project - action #91818 (New): containers: Add logs when docker-compose up fails in the CIhttps://progress.opensuse.org/issues/918182021-04-27T09:40:06Zilausuchilausuch@suse.com
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<p>We don't have information when docker-compose up -d fails in the CI test for containers.</p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li><strong>AC 1</strong>: CI shows logs when docker-compose up fails</li>
</ul>
openQA Project - action #91815 (New): containers: Expand the docker-compose CI test to check heal...https://progress.opensuse.org/issues/918152021-04-27T09:35:26Zilausuchilausuch@suse.com
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<p>PO suggested to split <a class="issue tracker-4 status-3 priority-4 priority-default closed child" title="action: containers: The deploy using docker-compose is not stable and eventually fails (Resolved)" href="https://progress.opensuse.org/issues/89731">#89731</a> and move the AC2 to a new ticket. Currently CI is not checking that all the containers are healthy</p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li><strong>AC 1</strong>: Expand the docker-compose CI test to include this case</li>
</ul>
<a name="Suggestion"></a>
<h2 >Suggestion<a href="#Suggestion" class="wiki-anchor">¶</a></h2>
<p>A PR is started as a proposal for <a href="https://progress.opensuse.org/issues/89731#note-28" class="external">https://progress.opensuse.org/issues/89731#note-28</a><br>
<a href="https://github.com/os-autoinst/openQA/pull/3864" class="external">https://github.com/os-autoinst/openQA/pull/3864</a></p>
openQA Project - action #91584 (New): containers: ensure the failure of the web UI container when...https://progress.opensuse.org/issues/915842021-04-22T10:36:05Zilausuchilausuch@suse.com
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<p>We can see in this log <a href="https://openqa.opensuse.org/tests/1708952#step/single_container_webui/107" class="external">https://openqa.opensuse.org/tests/1708952#step/single_container_webui/107</a> how in spite Apache fails the container continues working.<br>
In this test the certificates were removed, and the error was expected running the single container web UI (non docker-compose)</p>
<pre><code>validate_script_output got:
AH00526: Syntax error on line 18 of /etc/apache2/vhosts.d/openqa-ssl.conf:
SSLCertificateFile: file '/etc/apache2/ssl.crt/server.crt' does not exist or is empty
</code></pre>
<p>This could be a problem in a production environment because without Apache the API doesn't work.</p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li><strong>AC 1</strong>: Container exits when Apache fails</li>
<li><strong>AC 2</strong>: Container exits when any of the critical processes fails.</li>
</ul>
<a name="Suggestions"></a>
<h2 >Suggestions<a href="#Suggestions" class="wiki-anchor">¶</a></h2>
<p>In the daily meeting when this was exposed we suggested to create a simple health-check using pgrep to check that Apache is working all the time. This health-check will be included in the container and will be a complement to external health-checks.</p>
openQA Project - action #90995 (New): containers: Reduce the testing time for "webui-docker-compose"https://progress.opensuse.org/issues/909952021-04-12T10:11:36Zilausuchilausuch@suse.com
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<p>More than 30 minutes to run this test is excessive.</p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li><strong>AC 1</strong>: Research where the test consumes the time</li>
<li><strong>AC 2</strong>: Reduce the testing time</li>
</ul>
<a name="Reference"></a>
<h2 >Reference<a href="#Reference" class="wiki-anchor">¶</a></h2>
<ul>
<li><a class="issue tracker-4 status-3 priority-4 priority-default closed" title="action: containers: Fix github test "webui-docker-compose" timeout (Resolved)" href="https://progress.opensuse.org/issues/90767">#90767</a></li>
</ul>
openQA Project - action #90989 (Workable): containers: Configurable workdir location in docker-co...https://progress.opensuse.org/issues/909892021-04-12T09:55:25Zilausuchilausuch@suse.com
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<p>Currently, the workdir is created in the <code>containers/webui</code> directory with two problems:</p>
<ul>
<li>This clutters the git directory. (The path is already in <code>.gitignore</code>, though.)</li>
<li>The directory is owned by root causing the tidy script to fail on permission errors.</li>
</ul>
<a name="Acceptance-criteria"></a>
<h2 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li><strong>AC1</strong>: Use a different default directory or at least prevent the interference with the tidy script.</li>
<li><strong>AC2</strong>: Allow to configure the workdir path, e.g. via an environment variable.</li>
<li><strong>AC3</strong>: Document where files are stored by default and AC2.</li>
</ul>
openQA Project - action #89929 (New): containers: Fix nginx configuration to independence the WS ...https://progress.opensuse.org/issues/899292021-03-11T12:17:32Zilausuchilausuch@suse.com
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<p>Now the configuration of nginx uses the following urls as backend for websockets and livehandler</p>
<ul>
<li><a href="http://webui_websockets_1:9527" class="external">http://webui_websockets_1:9527</a>;</li>
<li><a href="http://webui_livehandler_1:9528" class="external">http://webui_livehandler_1:9528</a>;</li>
</ul>
<p>The problem is that this name (webui_...) is dependent on the parent directory of the docker-compose</p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li><strong>AC 1</strong>: Modify the configuration file to separate the name of the urls from the parent directory of the docker-compose</li>
</ul>
<a name="Suggestion"></a>
<h2 >Suggestion<a href="#Suggestion" class="wiki-anchor">¶</a></h2>
<p>Can be replaced by </p>
<ul>
<li><a href="http://websockets:9527/" class="external">http://websockets:9527/</a></li>
<li><a href="http://livehandler_1:9528/" class="external">http://livehandler_1:9528/</a></li>
</ul>
<p>See <a href="https://github.com/os-autoinst/openQA/pull/3755" class="external">https://github.com/os-autoinst/openQA/pull/3755</a></p>
openQA Project - action #89755 (Resolved): container: Fix missing shared directories and its perm...https://progress.opensuse.org/issues/897552021-03-09T16:19:23Zilausuchilausuch@suse.com
<a name="Observation"></a>
<h2 >Observation<a href="#Observation" class="wiki-anchor">¶</a></h2>
<p>Some directories are missing generating errors like this</p>
<pre><code>gru_1 | Can not create MOJO_TMPDIR : mkdir /var/lib/openqa/share/factory/tmp: Permission denied at /usr/share/openqa/script/../lib/OpenQA/Setup.pm line 306.
</code></pre>
<p>The directories has to be:</p>
<p>/data/factory/iso:rw<br>
/data/factory/hdd:rw<br>
/data/factory/other:rw<br>
/data/factory/tmp:rw<br>
/data/testresults:rw<br>
/data/tests:ro<br>
/data/conf:ro</p>
<p>Also the <code>factory</code> and <code>testresults</code> directories have to be writable by <code>geekotest</code> user in the container</p>
<a name="Acceptance-criteria"></a>
<h2 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li><strong>AC 1</strong>: Ensure factory/testresults directories are created</li>
<li><strong>AC 2</strong>: Ensure container user has permissions for these directories</li>
</ul>
<a name="Suggestions"></a>
<h2 >Suggestions<a href="#Suggestions" class="wiki-anchor">¶</a></h2>
<ul>
<li>Does the user in the container have the right permissions?</li>
<li>Does os-autoinst/openQA/... create all folders on demand?</li>
<li>See <a href="https://github.com/os-autoinst/openQA/pull/3755" class="external">https://github.com/os-autoinst/openQA/pull/3755</a></li>
</ul>
openQA Project - action #89749 (New): containers: Allow to the user to choose the source of image...https://progress.opensuse.org/issues/897492021-03-09T15:55:59Zilausuchilausuch@suse.com
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<p>Now only the local build images can be used on the docker-compose. As a user would be nice to give me the option to choose without changing the docker-compose yaml</p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<p><strong>AC 1</strong>: The user can choose the images<br>
<strong>AC 2</strong>: Create a test to check that local build images and remote images can be used</p>
<a name="Suggestions"></a>
<h2 >Suggestions<a href="#Suggestions" class="wiki-anchor">¶</a></h2>
<ul>
<li>Use docker-compose variables e.g. image: ${OPENQA_WEBUI_IMAGE}</li>
<li>Add the default values to .env file</li>
<li>See <a href="https://github.com/os-autoinst/openQA/pull/3755" class="external">https://github.com/os-autoinst/openQA/pull/3755</a></li>
</ul>
openQA Project - action #88315 (New): Complete the worker container test obtaining the key/secret...https://progress.opensuse.org/issues/883152021-01-28T15:32:32Zilausuchilausuch@suse.com
<a name="Problem"></a>
<h1 >Problem<a href="#Problem" class="wiki-anchor">¶</a></h1>
<p>The ticket <a href="https://progress.opensuse.org/issues/80682" class="external">https://progress.opensuse.org/issues/80682</a> test that the worker container starts and try to connect to the web UI. But this connection cannot be completed because there are not existing credentials by default.</p>
<a name="Acceptance-Criteria"></a>
<h1 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h1>
<ul>
<li>AC1: Create a pair of credentials</li>
<li>AC2: Set the client.conf with the new credentials and check that the worker connects to the web UI without problems.</li>
</ul>
openQA Project - action #88061 (New): Fix premature cancel of a job when strange character is enc...https://progress.opensuse.org/issues/880612021-01-20T13:25:53Zilausuchilausuch@suse.com
<p>Problem<br>
When in tests code is introduced a strange character openQA finished incomplete with this message</p>
<pre><code>Result: incomplete finished about 6 hours ago ( 12:54 minutes )
Reason: backend died: No map for 'Ã' at /usr/lib/os-autoinst/consoles/VNC.pm line 741.
</code></pre>
<p>Example:<br>
<a href="http://10.161.229.197/tests/173" class="external">http://10.161.229.197/tests/173</a></p>
<p>To test that use this lines. Note that the problem is in -–network-alias where the second dash (the bad) is different to the first one (the good)</p>
<pre><code>podman run -d -e POSTGRES_PASSWORD=openqa -e POSTGRES_USER=openqa -e POSTGRES_DB=openqa -–network-alias=db --name db postgres
</code></pre>
<p>In a console podman fails with this error:</p>
<pre><code>Error: unknown shorthand flag: 'â' in -–network-alias=db
</code></pre> openQA Project - action #80466 (Workable): docker: Base the webUI and worker Dockerfiles in Tumbl...https://progress.opensuse.org/issues/804662020-11-26T15:25:46Zilausuchilausuch@suse.com
<a name="User-story"></a>
<h2 >User story<a href="#User-story" class="wiki-anchor">¶</a></h2>
<p>As developers we want that in order to preserve for our dev environment the Dockerfiles should be build based on Tumbleweed, not Leap 15.2</p>
<a name="Acceptance-criteria"></a>
<h2 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li><strong>AC1:</strong> webUI dockerfile is based on Tumbleweed</li>
<li><strong>AC2:</strong> worker dockerfile is based on Tumbleweed</li>
</ul>