Project

General

Profile

Actions

action #179287

open

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

Create sles_extended_unatttended and select individual packages

Added by JERiveraMoya 14 days ago. Updated about 7 hours ago.

Status:
In Progress
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 14 days ago

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

Updated by zoecao 13 days 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 13 days 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 6 days 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 3 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 3 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 2 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 2 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 1 day ago

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

Actions #10

Updated by zoecao about 10 hours 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 about 7 hours 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

Also available in: Atom PDF