Project

General

Profile

Actions

action #163955

closed

coordination #163919: [epic] Create automation setup for testing Agama

Run simple Agama profile to run unattended installation

Added by JERiveraMoya 5 months ago. Updated 4 months ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
-
Start date:
2024-07-15
Due date:
% Done:

0%

Estimated time:

Description

Motivation

We should aim to have an scenario which install also a default system using Agama profile, for this in principle we don't need Puppeteer (but we might find needed some interactions, we need to evaluate how many and it really worth to do something with Puppeteer, most likely is more simple with 1 or 2 needles).

Acceptance criteria

  • AC1: Create Agama profile that will install a default system.
  • AC2: Test the script manually for all architectures and save the code branch.
  • AC2: Ensure there is follow-up ticket to enable this profile in the automation.

Additional information

This ticket can be worked out without #163922 or #163943 be completed as you can run it in your system or in the Live ISO with yupdate. Enablement of this will be done in #163949.
Ideally just sync with authors of those task to run manually your profile in other architectures.
Documentation:
https://github.com/openSUSE/agama/tree/master/autoinstallation

Actions #1

Updated by JERiveraMoya 5 months ago

  • Description updated (diff)
Actions #2

Updated by JERiveraMoya 5 months ago

  • Description updated (diff)
  • Status changed from New to Workable
Actions #3

Updated by JERiveraMoya 5 months ago

  • Priority changed from Normal to High
Actions #4

Updated by zoecao 5 months ago

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

Updated by rainerkoenig 5 months ago

  • Tags changed from qe-yam-jul-sprint, qe-yam-aug-sprint to qe-yam-aug-sprint
Actions #6

Updated by JERiveraMoya 4 months ago

could you please summarize the progress here? thanks.

Actions #7

Updated by zoecao 4 months ago

I installed a Tumbleweed via agama-installer-openSUSE.x86_64-9.0.0-openSUSE-Build9.34.ios, and wanted to generate an autoyast profile by yast2 clone, but it reported "No such client module". I already installed "autoyast2" package.

Actions #8

Updated by zoecao 4 months ago

I missed the documentation linked in this ticket, I have generate the json file on x86_64, will generate the json files on other arches and add testsuites to verify the json files for auto installation.

Actions #10

Updated by JERiveraMoya 4 months ago

zoecao wrote in #note-9:

Verify installation via agama profile:
https://openqa.opensuse.org/tests/overview?arch=&flavor=&machine=&test=agama_install&modules=&module_re=&group_glob=¬_group_glob=&comment=&build=9.35&groupid=116&distri=opensuse&version=9.0#

please use 8.7, once the iso was rename reset the version numbering and that one is newer.

Actions #11

Updated by zoecao 4 months ago · Edited

Below is the profiles I generated form a manual testing on x86_64:

{
  "user": {
    "fullName": "Bernhard M. Wiedemann",
    "userName": "bernhard",
    "password": "xxxxxxxx"
  },
  "root": {
    "password": "xxxxxxxx"
  },
  "product": {
    "id": "Tumbleweed"
  },
  "localization": {
    "language": "en_US.UTF-8",
    "keyboard": "us",
    "timezone": "Europe/Berlin"
  }
}

And the verification runs for the profile in openqa on all arches:
https://openqa.opensuse.org/tests/overview?arch=&flavor=&machine=&test=agama_auto_default&modules=&module_re=&group_glob=¬_group_glob=&comment=&groupid=116&version=agama-9.0&distri=opensuse&build=10.6#
For these VRs, I'm using lemon's branch, because in his PR, the json file he updated is the same with the one I generated, and there's a popup key during installation, he added a workaround in his PR for it, so I use his branch to run my VRs.

Actions #12

Updated by zoecao 4 months ago

To record the result here, this is the whole agama profile that generated by manual testing:

{
  "user": {
    "fullName": "Bernhard",
    "userName": "bernhard",
    "password": "xxxxxxxxx",
    "autologin": false
  },
  "root": {
    "sshPublicKey": null
  },
  "software": {
    "patterns": []
  },
  "product": {
    "id": "Tumbleweed",
    "registrationCode": "",
    "registrationEmail": ""
  },
  "storage": {
    "guided": {
      "target": {
        "disk": "/dev/vda"
      },
      "boot": {
        "configure": true
      },
      "space": {
        "policy": "delete"
      },
      "volumes": [
        {
          "mount": {
            "path": "/",
            "options": [

            ]
          },
          "size": "auto",
          "target": "default",
          "filesystem": {
            "btrfs": {
              "snapshots": true
            }
          }
        },
        {
          "mount": {
            "path": "swap",
            "options": [

            ]
          },
          "size": "auto",
          "target": "default",
          "filesystem": "swap"
        }
      ]
    }
  },
  "network": {
    "connections": [
      {
        "id": "Wired connection 1",
        "method4": "auto",
        "method6": "auto",
        "ignoreAutoDns": false,
        "interface": "enp1s0",
        "status": "up"
      }
    ]
  },
  "localization": {
    "language": "en_US.UTF-8",
    "keyboard": "us",
    "timezone": "Europe/Berlin"
  }
}
Actions #13

Updated by JERiveraMoya 4 months ago · Edited

zoecao wrote in #note-12:

To record the result here, this is the whole agama profile that generated by manual testing:

{
  "user": {
    "fullName": "Bernhard",
    "userName": "bernhard",
    "password": "xxxxxxxxx",
    "autologin": false
  },
...
  "localization": {
    "language": "en_US.UTF-8",
    "keyboard": "us",
    "timezone": "Europe/Berlin"
  }
}

I can imagine this is only for x86_64. I would be more practical if you attach the file to the ticket, otherwise we will be scrolling here a lot and that end up in not reading the comments.

Actions #14

Updated by zoecao 4 months ago

Filed a bug for profile validation via agama: https://bugzilla.suse.com/show_bug.cgi?id=1229502

Actions #16

Updated by JERiveraMoya 4 months ago

we are still missing to render the profile a link in openQA, please send PR similar like this example:
https://gitlab.suse.de/openqa/salt-states-openqa/-/merge_requests/1234/diffs
What would be missing here beside that before resolving this ticket?

Actions #17

Updated by JERiveraMoya 4 months ago

  • Tags changed from qe-yam-aug-sprint to qe-yam-sep-sprint
Actions #18

Updated by zoecao 4 months ago

JERiveraMoya wrote in #note-16:

we are still missing to render the profile a link in openQA, please send PR similar like this example:
https://gitlab.suse.de/openqa/salt-states-openqa/-/merge_requests/1234/diffs
What would be missing here beside that before resolving this ticket?

I submit MR to request rendering the AGAMA_AUTO profile a link in openQA.
https://gitlab.suse.de/openqa/salt-states-openqa/-/merge_requests/1259

Actions #19

Updated by JERiveraMoya 4 months ago

  • Status changed from In Progress to Resolved
Actions #20

Updated by JERiveraMoya 4 months ago

zoecao wrote in #note-18:

JERiveraMoya wrote in #note-16:

we are still missing to render the profile a link in openQA, please send PR similar like this example:
https://gitlab.suse.de/openqa/salt-states-openqa/-/merge_requests/1234/diffs
What would be missing here beside that before resolving this ticket?

I submit MR to request rendering the AGAMA_AUTO profile a link in openQA.
https://gitlab.suse.de/openqa/salt-states-openqa/-/merge_requests/1259

could you ask for merging this small change in #eng-testing, I don't have permissions to merge.

Actions

Also available in: Atom PDF