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 #94030 (Resolved): Cleanup logging in autoinst-log.txt for download assetshttps://progress.opensuse.org/issues/940302021-06-15T12:51:18Zilausuchilausuch@suse.com
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<p>In the ticket <a class="issue tracker-4 status-3 priority-4 priority-default closed child" title="action: Cleanup logging in autoinst-log.txt (Resolved)" href="https://progress.opensuse.org/issues/91527">#91527</a> we listed other cases to cleanup. One of these is the information of the assets download, e.g.</p>
<pre><code>[2021-05-17T13:49:33.0579 CEST] [info] Download of Tumbleweed.x86_64-1.0-virtualbox-Snapshot20210516.vagrant.virtualbox.box processed:
[info] [#358]
Cache size of "/var/lib/openqa/cache" is 57GiB, with limit 180GiB
[info] [#358]
Downloading "Tumbleweed.x86_64-1.0-virtualbox-Snapshot20210516.vagrant.virtualbox.box" from "http://openqa1-opensuse/tests/1745884/asset/other/Tumbleweed.x86_64-1.0-virtualbox-Snapshot20210516.vagrant.virtualbox.box"
[info] [#358]
Content of "/var/lib/openqa/cache/openqa1-opensuse/Tumbleweed.x86_64-1.0-virtualbox-Snapshot20210516.vagrant.virtualbox.box" has not changed, updating last use
</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> : indent with the same indentation criteria than in <a class="issue tracker-4 status-3 priority-4 priority-default closed child" title="action: Cleanup logging in autoinst-log.txt (Resolved)" href="https://progress.opensuse.org/issues/91527">#91527</a></li>
</ul>
<a name="Suggestion"></a>
<h2 >Suggestion<a href="#Suggestion" class="wiki-anchor">¶</a></h2>
<ul>
<li><a href="https://github.com/os-autoinst/os-autoinst/pull/1670" class="external">https://github.com/os-autoinst/os-autoinst/pull/1670</a></li>
<li>See: <a href="https://github.com/os-autoinst/os-autoinst/blob/09824a01348c41641d5cff8cd6d4192ad5ebd7a6/bmwqemu.pm#L199" class="external">https://github.com/os-autoinst/os-autoinst/blob/09824a01348c41641d5cff8cd6d4192ad5ebd7a6/bmwqemu.pm#L199</a></li>
</ul>
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 #91046 (Resolved): CI: "webui-docker-compose" seems that eventually fails...https://progress.opensuse.org/issues/910462021-04-13T09:08:23Zilausuchilausuch@suse.com
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<p>In <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> we introduced a initial webui container in charge of initializing the database. We have a test where the health check failed<br>
<a href="https://github.com/os-autoinst/openQA/pull/3838/checks?check_run_id=2329551052" class="external">https://github.com/os-autoinst/openQA/pull/3838/checks?check_run_id=2329551052</a></p>
<p>The problem is that the docker-compose exit with an error because the health check of the webuid_db_init container failed</p>
<pre><code class="text syntaxhl" data-language="text"> Name Command State Ports
------------------------------------------------------------------------------------------------------------------------------------------------
webui_db_1 docker-entrypoint.sh postgres Up (healthy) 5432/tcp
webui_webui_db_init_1 sh -c chmod -R a+rwX /data ... Up (unhealthy) 443/tcp, 80/tcp, 0.0.0.0:49153->9526/tcp, 9527/tcp, 9528/tcp, 9529/tcp
make: *** [Makefile:306: test-containers-compose] Error 1
</code></pre>
<p>The healthcheck is this one <br>
<a href="https://github.com/os-autoinst/openQA/blob/abd9a2297430377cd9876c3cbcec8b2cb4302722/container/webui/docker-compose.yaml#L116" class="external">https://github.com/os-autoinst/openQA/blob/abd9a2297430377cd9876c3cbcec8b2cb4302722/container/webui/docker-compose.yaml#L116</a></p>
<p>Take in consideration the DB error lines</p>
<pre><code class="text syntaxhl" data-language="text">db_1 | 2021-04-13 02:43:08.038 UTC [98] ERROR: relation "api_keys" does not exist at character 15
db_1 | 2021-04-13 02:43:08.038 UTC [98] STATEMENT: select * from api_keys;
db_1 | 2021-04-13 02:43:10.441 UTC [100] ERROR: relation "dbix_class_deploymenthandler_versions" does not exist at character 24
db_1 | 2021-04-13 02:43:10.441 UTC [100] STATEMENT: SELECT me.version FROM dbix_class_deploymenthandler_versions me ORDER BY id DESC LIMIT $1
db_1 | 2021-04-13 02:43:10.446 UTC [100] ERROR: relation "dbix_class_deploymenthandler_versions" does not exist at character 24
</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>: Determine the cause of the failure</li>
<li><strong>AC 2</strong>: Fix the problem</li>
</ul>
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 #65954 (Rejected): Create a way to check which jobs contain a testhttps://progress.opensuse.org/issues/659542020-04-22T06:03:01Zilausuchilausuch@suse.com
<p>Using this url <a href="https://openqa.suse.de/admin/test_suites" class="external">https://openqa.suse.de/admin/test_suites</a> we could find a test. <br>
And therefore in "All tests" page <a href="https://openqa.suse.de/tests" class="external">https://openqa.suse.de/tests</a> page we could try to find this test in last finished jobs list. <br>
But sometimes it doesn't appears because this list is limited to 500 jobs.<br>
I could be interesting to get which jobs contain this test</p>