kickstart-tests icon indicating copy to clipboard operation
kickstart-tests copied to clipboard

Adding Testing Farm as GitHub Action for test execution

Open phracek opened this issue 1 year ago • 14 comments

This pull request adds Testing Farm as GitHub Action for test execution in Testing Farm.

Selected compose is: Fedora 39.

This pull request has to be solved and merged before merging this one. https://github.com/sclorg/testing-farm-as-github-action/pull/146

phracek avatar Apr 03 '24 09:04 phracek

Looks great so far. I guess this is incomplete PR so far, we also need a TFT plan added to the repository.

jkonecny12 avatar Apr 03 '24 11:04 jkonecny12

@jkonecny12 Please write there what hardware requirements are needed. It looks like the PR https://github.com/sclorg/testing-farm-as-github-action/pull/146 will be merged soon.

phracek avatar Apr 09 '24 13:04 phracek

We need enabled KVM, I guess it is this https://docs.testing-farm.io/Testing%20Farm/0.1/test-request.html#virtualization-supported. However, I wonder about CPU and memory limit if that is something we need to have.

@rvykydal you know this field better than me, any recommendation?

jkonecny12 avatar Apr 10 '24 15:04 jkonecny12

We need enabled KVM, I guess it is this https://docs.testing-farm.io/Testing%20Farm/0.1/test-request.html#virtualization-supported. However, I wonder about CPU and memory limit if that is something we need to have.

@rvykydal you know this field better than me, any recommendation?

We are currently using OpenStack runners with 32 VCPU and 48GB RAM. We run X the tests in parallel (using parallel) based on configured value (16 for the current runners) or counted here. So I'd say we can scale, the bigger the machine the better.

rvykydal avatar Apr 11 '24 08:04 rvykydal

I wonder how these requirements works... Are we able to specify minimal requirements with a flag bigger is better or are we fixed on it has to have X CPUs Y RAM precisely?

jkonecny12 avatar Apr 11 '24 15:04 jkonecny12

able

I would prefer to start w/o requirements and then you will see. This can be easily enhanced.

phracek avatar Apr 12 '24 06:04 phracek

Support for hardware specification in TMT is done and already merged https://github.com/sclorg/testing-farm-as-github-action/pull/146

phracek avatar Apr 12 '24 06:04 phracek

Here is TMT/FMF plan which needs to be review by TMT team https://gitlab.cee.redhat.com/rhinstaller/builders/-/merge_requests/140

phracek avatar Apr 12 '24 07:04 phracek

@rvykydal @jkonecny12 @lukaszachy Please review it.

phracek avatar Apr 15 '24 11:04 phracek

The pull request is squashed.

phracek avatar Apr 15 '24 12:04 phracek

@jkonecny12 @rvykydal @lukaszachy WDYT?

phracek avatar Apr 17 '24 08:04 phracek

Sorry, I wanted to merge this and tested. But currently we have broken builds on Rawhide and RHEL so this has to be postponed a bit

jkonecny12 avatar Apr 17 '24 16:04 jkonecny12

I have tried this pull request local and I changed hardware requirements to size: ">=80GB". The command that was used was:

tmt run -e REPO_NAME=https://github.com/rhinstaller/kickstart-tests plan --name testing-farm --debug discover --verbose --debug prepare --verbose --debug provision --how container

The output is following:

/var/tmp/tmt/run-002
Module 'tmt.steps.provision' already imported.
    warn: /plans/testing-farm:provision - {'hardware': {'virtualization': {'is-supported': True}, 'disk': {'size': '>=80GB'}}, 'how': 'virtual'} is not valid under any of the given schemas
Workdir '/var/tmp/tmt/run-002/plans/testing-farm' created.

/plans/testing-farm
    Workdir '/var/tmp/tmt/run-002/plans/testing-farm/discover' created.
    Workdir '/var/tmp/tmt/run-002/plans/testing-farm/provision' created.
    Workdir '/var/tmp/tmt/run-002/plans/testing-farm/prepare' created.
    Workdir '/var/tmp/tmt/run-002/plans/testing-farm/execute' created.
    Workdir '/var/tmp/tmt/run-002/plans/testing-farm/report' created.
    Report step always force mode enabled.
    Workdir '/var/tmp/tmt/run-002/plans/testing-farm/report' created.
    Workdir '/var/tmp/tmt/run-002/plans/testing-farm/finish' created.
    discover
    workdir: /var/tmp/tmt/run-002/plans/testing-farm/discover
        how: shell
        Workdir '/var/tmp/tmt/run-002/plans/testing-farm/discover/default-0' created.
        summary: 1 test selected
            /repository: https://github.com/rhinstaller/kickstart-tests
    provision
    workdir: /var/tmp/tmt/run-002/plans/testing-farm/provision
        how: virtual
        hardware:
            virtualization:
                is-supported: true
            disk:
                size: '>=80GB'
        image: fedora-39
        memory: 2048 MB
        disk: 40 GB
        warn: The 'virtual' provision plugin does not support hardware requirements.
        testcloud version: 0.9.12
        progress: downloading...

phracek avatar Apr 18 '24 11:04 phracek

I wonder do we need 80GB size. I don't think that is requirement.

jkonecny12 avatar Apr 18 '24 15:04 jkonecny12

Still not running properly but I need this PR for reasonable testing. Switching to draft.

jkonecny12 avatar May 15 '24 10:05 jkonecny12

Thanks a lot @phracek let's try this in action! :)

jkonecny12 avatar May 28 '24 13:05 jkonecny12