diff mbox series

[v3,1/3] Acceptance Tests: Add default kernel params and pxeboot url to the KNOWN_DISTROS collection

Message ID 20210621080824.789274-2-eric.auger@redhat.com
State New
Headers show
Series avocado-qemu: New SMMUv3 and intel IOMMU tests | expand

Commit Message

Eric Auger June 21, 2021, 8:08 a.m. UTC
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.auger@redhat.com>

---

v2 -> v3:
- add fed32 and fed33 checksums
---
 tests/acceptance/avocado_qemu/__init__.py | 52 ++++++++++++++++++++++-
 1 file changed, 50 insertions(+), 2 deletions(-)

Comments

Wainer dos Santos Moschetta June 28, 2021, 3:06 p.m. UTC | #1
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.auger@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 ^
> +              'checksum': 'b367755c664a2d7a26955bbfff985855adfa2ca15e908baf15b4b176d68d3967',
> +              'pxeboot_url':  "https://ftp.lip6.fr/ftp/pub/linux/distributions/fedora/releases/"
Maybe use dl.fedoraproject.org instead of a mirror server?
> +                              "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.
> +                              "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.

Thanks!

- Wainer

>       def launch_and_wait(self, set_up_ssh_connection=True):
>           self.vm.set_console()
>           self.vm.launch()
Eric Auger June 29, 2021, 2:08 p.m. UTC | #2
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.auger@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()
>
diff mbox series

Patch

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 ",
+              'checksum': 'b367755c664a2d7a26955bbfff985855adfa2ca15e908baf15b4b176d68d3967',
+              'pxeboot_url':  "https://ftp.lip6.fr/ftp/pub/linux/distributions/fedora/releases/"
+                              "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/"
+                              "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)
+
     def launch_and_wait(self, set_up_ssh_connection=True):
         self.vm.set_console()
         self.vm.launch()