Project

General

Profile

Actions

action #179287

closed

coordination #169654: [epic] Create test scenarios for Agama

Create sles_extended_unatttended and select individual packages

Added by JERiveraMoya about 1 month ago. Updated 14 days ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
-
Start date:
2025-03-20
Due date:
% Done:

0%

Estimated time:

Description

Motivation

To have an scenario where to group different features for the unattended installation instead of having one scenario for each feature which might be an overkill.

For now we could just install vim and something else like in the PR example:
https://github.com/agama-project/agama/pull/2153/

Acceptance criteria

  • AC1: Extend our profile templating to include feature to select individual packages.
  • AC2: Add new test suite sles_extended_unattended to prod/dev job group (atm it will only be in devel).
  • AC3: Validation based on new openQA variable PACKAGE=vim,<other> is expected in the installed system.
Actions #1

Updated by zoecao about 1 month ago

  • Status changed from Workable to In Progress
  • Assignee set to zoecao
Actions #2

Updated by zoecao about 1 month ago

AC1 : Extend our profile templating to include feature to select individual packages.
@JERiveraMoya, a question about AC1, does it mean to extend this profile to include the feature to select individual packages?
yam/agama/auto/template.libsonnet (comes from the AGAMA_AUTO setting: https://openqa.suse.de/tests/17105860#settings)

Actions #3

Updated by JERiveraMoya about 1 month ago · Edited

zoecao wrote in #note-2:

AC1 : Extend our profile templating to include feature to select individual packages.
@JERiveraMoya, a question about AC1, does it mean to extend this profile to include the feature to select individual packages?
yam/agama/auto/template.libsonnet (comes from the AGAMA_AUTO setting: https://openqa.suse.de/tests/17105860#settings)

yes, we don't create profiles anymore, those libsonnet are the way to go, check with @jfernandez if any doubt about how it works, but basically it is a composition of jsonnet files that we import as libraries in the main one pointed by AGAMA_AUTO and then internally (in run time during openQA job execution) based on AGAMA_PROFILE_OPTIONS we can decide which sections should be used. The tool to install in your Leap or Tumbleweed is golang-github-google-jsonnet if you want to try out locally.

Actions #4

Updated by zoecao about 1 month ago

I will focus on this ticket next week, this week is my turn to review the openqa testing results.

Actions #5

Updated by zoecao 28 days ago

This is a draft PR for this ticket: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/21540
It is not ready for review, I added three packages in the setting of 'PACKAGES=vim,gvim,rpm-build', but after installation, only the package of 'vim' is installed. Besides, still need to update the PR for the validation part.

While a question about architecture, @JERiveraMoya, it seems only x86_64 and aarch64 are using the template.libsonnet now. For ppc64le and s390x, do we add jsonnet files for them with individual packages selected?

Actions #6

Updated by JERiveraMoya 28 days ago

zoecao wrote in #note-5:

This is a draft PR for this ticket: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/21540
It is not ready for review, I added three packages in the setting of 'PACKAGES=vim,gvim,rpm-build', but after installation, only the package of 'vim' is installed. Besides, still need to update the PR for the validation part.

strange, could be that those packages are not present in the repos? you can check in scc.

While a question about architecture, @JERiveraMoya, it seems only x86_64 and aarch64 are using the template.libsonnet now. For ppc64le and s390x, do we add jsonnet files for them with individual packages selected?

yes for now, see https://progress.opensuse.org/issues/177477

Actions #7

Updated by zoecao 27 days ago

JERiveraMoya wrote in #note-6:

zoecao wrote in #note-5:

This is a draft PR for this ticket: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/21540
It is not ready for review, I added three packages in the setting of 'PACKAGES=vim,gvim,rpm-build', but after installation, only the package of 'vim' is installed. Besides, still need to update the PR for the validation part.

strange, could be that those packages are not present in the repos? you can check in scc.

I had checked the repo, those packages are present in the repos, and confirmed they were not installed by default.

While a question about architecture, @JERiveraMoya, it seems only x86_64 and aarch64 are using the template.libsonnet now. For ppc64le and s390x, do we add jsonnet files for them with individual packages selected?

yes for now, see https://progress.opensuse.org/issues/177477

Thanks, good to know.

Actions #8

Updated by zoecao 27 days ago

To confirm whether the issue is caused by the updated template.libsonnet in my PR, I added a new jsonnet file with:

  software: {
    patterns: '{{PATTERNS}}',
    packages: '{{PACKAGES}}',
  },

added, and running the vr to see whether multiple packages would be added.

Actions #9

Updated by JERiveraMoya 26 days ago

It would be great to add it to prod for B3 if you think it is ready.

Actions #10

Updated by zoecao 25 days ago

Update my investigate result here:
The feature works well with:

software: {
    packages: ['gvim', 'rpm-build'],
  },

VR: https://openqa.suse.de/tests/17248475#step/validate_packages/10

So there are two problems:

  1. for s390x and ppc64le: how to make it get values from openqa variable PACKAGES, I have tried
  software: {
    packages: ['{{PACKAGES}}'],
  },

and

  software: {
    packages: '{{PACKAGES}}',
  },

None of them works. Now trying

  software: {
    packages: std.split('{{PACKAGES}}', ','),
  },

Problem 2: for x86_64 and aarch64, the template.libsonnet in the PR doesn't work also.
The latest VRS:
https://openqa.suse.de/tests/overview?version=16.0&build=chcao_179287&distri=sle

Actions #11

Updated by zoecao 25 days ago

Because I didn't find the correct way to use variable PACKAGES=gvim,rpm-build for adding individual packages, now decide to use jsonnet files to test it, [slack].
PR is updated to add jsonnet files and got merged; Added the testsuites to prod and dev groups, and triggered the jobs:

Actions #12

Updated by JERiveraMoya 24 days ago

  • Tags changed from qe-yam-mar-sprint-fy25 to qe-yam-apr-sprint-fy25
Actions #13

Updated by JERiveraMoya 21 days ago

  • Priority changed from High to Urgent
Actions #14

Updated by slo-gin 14 days ago

This ticket was set to Urgent priority but was not updated within the SLO period. Please consider picking up this ticket or just set the ticket to the next lower priority.

Actions #15

Updated by zoecao 14 days ago

Thanks @hjluo helping with the template.libsonnet for adding individual packages ( PR (https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/21704)).
I will update the testsuites of sles_extended_unattended by using the template.libsonnet for x86_64 and aarch64, and I submit a PR to drop the jsonnet files added in previous PR (https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/21540).
PR to drop the sles_packages.jsonnet file: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/21781

Actions #16

Updated by zoecao 14 days ago

The testsuites of sles_extended_unattended are updated by using template.libsonnet for x86_64 and aarch64 on prod and dev groups, and triggered the jobs, all works fine:

Actions #17

Updated by JERiveraMoya 14 days ago

  • Priority changed from Urgent to High
Actions #18

Updated by JERiveraMoya 14 days ago

  • Priority changed from High to Normal
Actions #19

Updated by JERiveraMoya 14 days ago

  • Priority changed from Normal to High
Actions #20

Updated by JERiveraMoya 14 days ago

  • Status changed from In Progress to Resolved

Please ensure description in test suite in job group contains information about this new additional testing.

Actions #21

Updated by zoecao 14 days ago · Edited

I added the testsuite description as " Extended installation with some changes, like adding individual packages. " Please feel free to let me know if need to change the description.

You could do something more concise like:

Extended installation:
 - Add individual packages

and will keep adding extended steps to the list.

Actions

Also available in: Atom PDF