Hi Wainer,

On 6/28/21 5:06 PM, Wainer dos Santos Moschetta wrote:
> Hi Eric,
>
> On 6/21/21 5:08 AM, Eric Auger wrote:
>> When running LinuxTests we may need to run the guest with
>> custom params. It is practical to store the pxeboot URL
>> and the default kernel params so that the
>> tests just need to fetch those and augment the kernel params.
>>
>> Signed-off-by: Eric Auger <eric.au...@redhat.com>
>>
>> ---
>>
>> v2 -> v3:
>> - add fed32 and fed33 checksums
>> ---
>>   tests/acceptance/avocado_qemu/__init__.py | 52 ++++++++++++++++++++++-
>>   1 file changed, 50 insertions(+), 2 deletions(-)
>>
>> diff --git a/tests/acceptance/avocado_qemu/__init__.py
>> b/tests/acceptance/avocado_qemu/__init__.py
>> index 81ac90bebb..8152420fa5 100644
>> --- a/tests/acceptance/avocado_qemu/__init__.py
>> +++ b/tests/acceptance/avocado_qemu/__init__.py
>> @@ -305,17 +305,59 @@ def ssh_command(self, command):
>>       'fedora': {
>>           '31': {
>>               'x86_64':
>> -            {'checksum':
>> 'e3c1b309d9203604922d6e255c2c5d098a309c2d46215d8fc026954f3c5c27a0'},
>> +            {'checksum':
>> 'e3c1b309d9203604922d6e255c2c5d098a309c2d46215d8fc026954f3c5c27a0',
>> +             'pxeboot_url':
>> "https://archives.fedoraproject.org/pub/archive/fedora/";
>> +                           
>> "linux/releases/31/Everything/x86_64/os/images/pxeboot/",
>> +             'kernel_params':
>> "root=UUID=b1438b9b-2cab-4065-a99a-08a96687f73c ro "
>> +                              "no_timer_check net.ifnames=0 "
>> +                              "console=tty1 console=ttyS0,115200n8"},
>>               'aarch64':
>> -            {'checksum':
>> '1e18d9c0cf734940c4b5d5ec592facaed2af0ad0329383d5639c997fdf16fe49'},
>> +            {'checksum':
>> '1e18d9c0cf734940c4b5d5ec592facaed2af0ad0329383d5639c997fdf16fe49',
>> +             'pxeboot_url':
>> "https://archives.fedoraproject.org/pub/archive/fedora/";
>> +                           
>> "linux/releases/31/Everything/aarch64/os/images/pxeboot/",
>> +             'kernel_params':
>> "root=UUID=b6950a44-9f3c-4076-a9c2-355e8475b0a7 ro "
>> +                              "earlyprintk=pl011,0x9000000
>> ignore_loglevel "
>> +                              "no_timer_check printk.time=1
>> rd_NO_PLYMOUTH "
>> +                              "console=ttyAMA0 "},
>>               'ppc64':
>>               {'checksum':
>> '7c3528b85a3df4b2306e892199a9e1e43f991c506f2cc390dc4efa2026ad2f58'},
>>               's390x':
>>               {'checksum':
>> '4caaab5a434fd4d1079149a072fdc7891e354f834d355069ca982fdcaf5a122d'},
>>               }
>> +        ,
>> +        '32': {
>> +            'aarch64':
>> +            { 'kernel_params':
>> "root=UUID=3df75b65-be8d-4db4-8655-14d95c0e90c5 ro "
>> +                              "no_timer_check net.ifnames=0
>> console=tty1 "
>> +                              "console=ttyS0,115200n8 ",
> Nit: indentation ^
sure
>> +              'checksum':
>> 'b367755c664a2d7a26955bbfff985855adfa2ca15e908baf15b4b176d68d3967',
>> +              'pxeboot_url': 
>> "https://ftp.lip6.fr/ftp/pub/linux/distributions/fedora/releases/";
> Maybe use dl.fedoraproject.org instead of a mirror server?
yep
>> +                              "32/Server/aarch64/os/images/pxeboot/"},
>> +            }
>> +        ,
>> +        '33': {
>> +            'aarch64':
>> +            { 'kernel_params':
>> "root=UUID=d20b3ffa-6397-4a63-a734-1126a0208f8a ro "
>> +                              "no_timer_check net.ifnames=0
>> console=tty1 "
>> +                              "console=ttyS0,115200n8 console=tty0 ",
>> +              'checksum':
>> 'e7f75cdfd523fe5ac2ca9eeece68edc1a81f386a17f969c1d1c7c87031008a6b',
>> +              'pxeboot_url': 
>> "https://ftp.lip6.fr/ftp/pub/linux/distributions/fedora/releases/";
> Likewise.
ok
>> +                              "33/Server/aarch64/os/images/pxeboot/"},
>> +            }
>>           }
>>       }
>>   +def get_known_distro_kernel_params(distro, distro_version, arch):
>> +    try:
>> +        return
>> KNOWN_DISTROS.get(distro).get(distro_version).get(arch).get('kernel_params')
>> +    except AttributeError:
>> +        return None
>> +
>> +def get_known_distro_pxeboot_url(distro, distro_version, arch):
>> +    try:
>> +        return
>> KNOWN_DISTROS.get(distro).get(distro_version).get(arch).get('pxeboot_url')
>> +    except AttributeError:
>> +        return None
>>     def get_known_distro_checksum(distro, distro_version, arch):
>>       try:
>> @@ -449,6 +491,12 @@ def set_up_cloudinit(self, ssh_pubkey=None):
>>           cloudinit_iso = self.prepare_cloudinit(ssh_pubkey)
>>           self.vm.add_args('-drive', 'file=%s,format=raw' %
>> cloudinit_iso)
>>   +    def get_default_kernel_params(self):
>> +        return get_known_distro_kernel_params(self.distro,
>> self.distro_version, self.arch)
>> +
>> +    def get_pxeboot_url(self):
>> +        return get_known_distro_pxeboot_url(self.distro,
>> self.distro_version, self.arch)
>> +
>
> As the KNOWN_DISTROS grows, more loosely methods will be created in
> the avocado_qemu/__init__.py file.
>
> I refactored the code so that KNOWN_DISTROS and related methods are
> packaged in a class. See in:
>
> https://github.com/wainersm/qemu/tree/eauger_avocado-qemu-v3-refactor
>
> Maybe you could incorporate that in your series? Otherwise I can send
> as a follow up series. Whatever you prefer.
OK I take your patch on top of my series then.
>
> Thanks!
>
> - Wainer
>
>>       def launch_and_wait(self, set_up_ssh_connection=True):
>>           self.vm.set_console()
>>           self.vm.launch()
>


Reply via email to