[Avocado-devel] How to execute different tests of avocado-vt in one round
Lukáš Doktor
ldoktor at redhat.com
Wed Jan 9 17:23:32 UTC 2019
Dne 09. 01. 19 v 15:57 Vit Pelcak napsal(a):
> Hello.
>
> Dne 08. 01. 19 v 17:47 Cleber Rosa napsal(a):
>>
>>
>> On 1/8/19 9:20 AM, Brian J. Murrell wrote:
>>> On Tue, 2019-01-08 at 14:57 +0100, Vit Pelcak wrote:
>>>> Hello.
>>>
>>> Hi,
>>>
>>> While not really answering your question, per se but perhaps you are
>>> trying to solve the wrong problem...
>>>
>>>>
>>>> That will mean extra 10 minutes for each of them as
>>>> VM
>>>> will have to be started each time, resulting in extra 30 minutes time
>>>> in
>>>> total.
>>>
>>> Your virtual machine really takes 10 minutes to start? Why so long?
>>> It should be a minute or two at most. Under a minute would not be
>>> absurd.
>>>
>>> Cheers,
>>> b.
>>>
>>
>> Unless you're running under CPU emulation, or nested virt, low powered
>> and highly loaded environments...
>>
>> Still, based on experience, we strongly suggest you start a fresh VM on
>> every new test: the results can be easily spoiled if you don't do that.
>
> Thank you very much for advice.
>
> And if I do this:
>
>
> https://github.com/avocado-framework/avocado-vt/blob/master/etc/avocado/conf.d/vt.conf#L7
>
> # Keep guest running between tests (faster, but unsafe)
> keep_guest_running=False
>
> Is it possible to trigger VM restart?
>
As mentioned in my other email, VM gets recreated when test requires different devices/setting. You can also execute "shutdown" test. Last but the most powerful would be the yaml_to_mux loader that allows you to fine-tune your setting. Excerpt from my CI:
```
# Generated s390x mux-suite
!mux
qemu_make: !mux
mux_suite_test_name_prefix: 'qemu_make/git '
check:
test_reference: /home/jenkins/s390x/qemu-master/avocado-qemu-make-check
install:
test_reference: /home/jenkins/s390x/qemu-master/avocado-qemu-make-install
unit:
variants: !mux
test_reference_resolver_class: avocado.core.loader.ExternalLoader
timeout: 360
rpm-tcg:
mux_suite_test_name_prefix: 'unit/rpm/tcg '
test_reference_resolver_extra: !!python/dict
loader_options: /home/jenkins/s390x/kvm-unit-test/avocado-runner-rpm-tcg
rpm-kvm:
mux_suite_test_name_prefix: 'unit/rpm/kvm '
test_reference_resolver_extra: !!python/dict
loader_options: /home/jenkins/s390x/kvm-unit-test/avocado-runner-rpm-kvm
# ...
tests: !mux
cmm:
test_reference: cmm
diag10:
test_reference: diag10
emulator:
test_reference: emulator
# ...
functional: !mux
test_reference_resolver_class: avocado_vt.loader.VirtTestLoader
s390x-rpm-libvirt/dvdfetch_dvd/:
mux_suite_test_name_prefix: 'functional/rpm/libvirt/dvd '
test_reference_resolver_class: avocado.core.loader.ExternalLoader
test_reference_resolver_extra: !!python/dict
loader_options: /bin/sh -c
test_reference: "'avocado_get_rhel7_cd s390x \"URL\" '"
s390x-rpm-libvirt/dvd:
mux_suite_test_name_prefix: 'functional/rpm/libvirt/dvd '
test_reference: unattended_install.cdrom.extra_cdrom_ks.default_install.aio_threads io-github-autotest-qemu.boot remove_guest.without_disk
test_reference_resolver_args: !!python/dict
vt_qemu_bin: /usr/libexec/qemu-kvm
vt_dst_qemu_bin: /usr/libexec/qemu-kvm
vt_type: libvirt
vt_extra_params:
- automem=no
- qemu_sandbox=''
- url=URL
- vga=none
- mem=2048
s390x-rpm-libvirt/url:
mux_suite_test_name_prefix: 'functional/rpm/libvirt/url '
test_reference: unattended_install.url.extra_cdrom_ks.default_install.aio_threads io-github-autotest-qemu.boot remove_guest.without_disk
test_reference_resolver_args: !!python/dict
vt_qemu_bin: /usr/libexec/qemu-kvm
vt_dst_qemu_bin: /usr/libexec/qemu-kvm
vt_type: libvirt
vt_extra_params:
- automem=no
- qemu_sandbox=''
- url=URL
- vga=none
- mem=2048
s390x-rpm-RHEL-7/install/dvd/fetch_dvd/:
mux_suite_test_name_prefix: 'functional/rpm/RHEL-7/install/dvd/ '
test_reference_resolver_class: avocado.core.loader.ExternalLoader
test_reference_resolver_extra: !!python/dict
loader_options: /bin/sh -c
test_reference: "'avocado_get_rhel7_cd s390x \"URL\" '"
s390x-rpm-RHEL-7/install/dvd/:
mux_suite_test_name_prefix: 'functional/rpm/RHEL-7/install/dvd/ '
test_reference: unattended_install.cdrom.extra_cdrom_ks.default_install.aio_threads
test_reference_resolver_args: !!python/dict
vt_qemu_bin: /usr/libexec/qemu-kvm
vt_dst_qemu_bin: /usr/libexec/qemu-kvm
vt_extra_params:
- automem=no
- qemu_sandbox=''
- url=URL
- ping_pong=5
- vga=none
- mem=2048
- timeout=3600
# ...
```
Which is simply stored in "suite.yaml" file and executed by "avocado run suite.yaml". It executes few SIMPLE tests, then few EXTERNAL_RUNNER tests and then some VT tests with different --vt... options. (the "# ..." means I skipped some boring parts; URLs were also removed...)
Regards,
Lukáš
> I am thinking that it could make sense to group tests, disable VM
> restart and then restart the machine after each group of tests is finished.
>
>> Regards!
>>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/avocado-devel/attachments/20190109/55f3f1e7/attachment.sig>
More information about the Avocado-devel
mailing list