tests/acceptance/boot_linux_console.py | 42 ++++++++++++++++++++++++++ 1 file changed, 42 insertions(+)
Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines
with a simple PCI layout.
Cc: Cleber Rosa <crosa@redhat.com>
Cc: Wainer dos Santos Moschetta <wainersm@redhat.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
tests/acceptance/boot_linux_console.py | 42 ++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index 5248c8097df9..da93a475ca87 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -1176,6 +1176,48 @@ def test_ppc64_e500(self):
tar_hash = '6951d86d644b302898da2fd701739c9406527fe1'
self.do_test_advcal_2018('19', tar_hash, 'uImage')
+ def do_test_ppc64_powernv(self, proc):
+
+ images_url = ('https://github.com/open-power/op-build/releases/download/v2.7/')
+
+ skiboot_url = images_url + 'skiboot.lid'
+ skiboot_hash = 'a9ffcddbf238f86cda4b2cae2882d6bd13cff8489109758a4980efaf154f4a29'
+ skiboot_path = self.fetch_asset(skiboot_url, asset_hash=skiboot_hash,
+ algorithm='sha256')
+
+ kernel_url = images_url + 'zImage.epapr'
+ kernel_hash = '0ab237df661727e5392cee97460e8674057a883c5f74381a128fa772588d45cd'
+ kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash,
+ algorithm='sha256')
+ self.vm.set_console()
+ self.vm.add_args('-bios', skiboot_path,
+ '-kernel', kernel_path,
+ '-append', 'console=tty0 console=hvc0',
+ '-device', 'pcie-pci-bridge,id=bridge1,bus=pcie.1,addr=0x0',
+ '-device', 'nvme,bus=pcie.2,addr=0x0,serial=1234',
+ '-device', 'e1000e,bus=bridge1,addr=0x3',
+ '-device', 'nec-usb-xhci,bus=bridge1,addr=0x2')
+ self.vm.launch()
+
+ self.wait_for_console_pattern("CPU: " + proc + " generation processor")
+ self.wait_for_console_pattern("zImage starting: loaded")
+ self.wait_for_console_pattern("Run /init as init process")
+ self.wait_for_console_pattern("Creating 1 MTD partitions")
+
+ def test_ppc_powernv8(self):
+ """
+ :avocado: tags=arch:ppc64
+ :avocado: tags=machine:powernv8
+ """
+ self.do_test_ppc64_powernv('P8')
+
+ def test_ppc_powernv9(self):
+ """
+ :avocado: tags=arch:ppc64
+ :avocado: tags=machine:powernv9
+ """
+ self.do_test_ppc64_powernv('P9')
+
def test_ppc_g3beige(self):
"""
:avocado: tags=arch:ppc
--
2.31.1
On Tue, 10 Aug 2021 at 08:34, Cédric Le Goater <clg@kaod.org> wrote:
>
> Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines
> with a simple PCI layout.
>
> Cc: Cleber Rosa <crosa@redhat.com>
> Cc: Wainer dos Santos Moschetta <wainersm@redhat.com>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> ---
> tests/acceptance/boot_linux_console.py | 42 ++++++++++++++++++++++++++
> 1 file changed, 42 insertions(+)
>
> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> index 5248c8097df9..da93a475ca87 100644
> --- a/tests/acceptance/boot_linux_console.py
> +++ b/tests/acceptance/boot_linux_console.py
> @@ -1176,6 +1176,48 @@ def test_ppc64_e500(self):
> tar_hash = '6951d86d644b302898da2fd701739c9406527fe1'
> self.do_test_advcal_2018('19', tar_hash, 'uImage')
>
> + def do_test_ppc64_powernv(self, proc):
> +
> + images_url = ('https://github.com/open-power/op-build/releases/download/v2.7/')
> +
> + skiboot_url = images_url + 'skiboot.lid'
> + skiboot_hash = 'a9ffcddbf238f86cda4b2cae2882d6bd13cff8489109758a4980efaf154f4a29'
> + skiboot_path = self.fetch_asset(skiboot_url, asset_hash=skiboot_hash,
> + algorithm='sha256')
What's the thought that led you to using this instead of the one that
gets packaged with qemu?
> +
> + kernel_url = images_url + 'zImage.epapr'
> + kernel_hash = '0ab237df661727e5392cee97460e8674057a883c5f74381a128fa772588d45cd'
> + kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash,
> + algorithm='sha256')
> + self.vm.set_console()
> + self.vm.add_args('-bios', skiboot_path,
> + '-kernel', kernel_path,
> + '-append', 'console=tty0 console=hvc0',
> + '-device', 'pcie-pci-bridge,id=bridge1,bus=pcie.1,addr=0x0',
> + '-device', 'nvme,bus=pcie.2,addr=0x0,serial=1234',
> + '-device', 'e1000e,bus=bridge1,addr=0x3',
> + '-device', 'nec-usb-xhci,bus=bridge1,addr=0x2')
> + self.vm.launch()
> +
> + self.wait_for_console_pattern("CPU: " + proc + " generation processor")
> + self.wait_for_console_pattern("zImage starting: loaded")
> + self.wait_for_console_pattern("Run /init as init process")
> + self.wait_for_console_pattern("Creating 1 MTD partitions")
This is great.
Is there any value in checking for some of the devices that come up,
like USB or ethernet?
Reviewed-by: Joel Stanley <joel@jms.id.au>
> +
> + def test_ppc_powernv8(self):
> + """
> + :avocado: tags=arch:ppc64
> + :avocado: tags=machine:powernv8
> + """
> + self.do_test_ppc64_powernv('P8')
> +
> + def test_ppc_powernv9(self):
> + """
> + :avocado: tags=arch:ppc64
> + :avocado: tags=machine:powernv9
> + """
> + self.do_test_ppc64_powernv('P9')
> +
> def test_ppc_g3beige(self):
> """
> :avocado: tags=arch:ppc
> --
> 2.31.1
>
On 8/10/21 10:36 AM, Joel Stanley wrote:
> On Tue, 10 Aug 2021 at 08:34, Cédric Le Goater <clg@kaod.org> wrote:
>>
>> Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines
>> with a simple PCI layout.
>>
>> Cc: Cleber Rosa <crosa@redhat.com>
>> Cc: Wainer dos Santos Moschetta <wainersm@redhat.com>
>> Signed-off-by: Cédric Le Goater <clg@kaod.org>
>> ---
>> tests/acceptance/boot_linux_console.py | 42 ++++++++++++++++++++++++++
>> 1 file changed, 42 insertions(+)
>>
>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
>> index 5248c8097df9..da93a475ca87 100644
>> --- a/tests/acceptance/boot_linux_console.py
>> +++ b/tests/acceptance/boot_linux_console.py
>> @@ -1176,6 +1176,48 @@ def test_ppc64_e500(self):
>> tar_hash = '6951d86d644b302898da2fd701739c9406527fe1'
>> self.do_test_advcal_2018('19', tar_hash, 'uImage')
>>
>> + def do_test_ppc64_powernv(self, proc):
>> +
>> + images_url = ('https://github.com/open-power/op-build/releases/download/v2.7/')
>> +
>> + skiboot_url = images_url + 'skiboot.lid'
>> + skiboot_hash = 'a9ffcddbf238f86cda4b2cae2882d6bd13cff8489109758a4980efaf154f4a29'
>> + skiboot_path = self.fetch_asset(skiboot_url, asset_hash=skiboot_hash,
>> + algorithm='sha256')
>
> What's the thought that led you to using this instead of the one that
> gets packaged with qemu?
Good question.
I considered that the skiboot.lid shipped with QEMU was somewhat a default
to make things work. The official released versions are the ones used by
the outside world on real systems and were a better target for tests.
That said, using the default version might be enough. Maintainers, please
advise !
>> +
>> + kernel_url = images_url + 'zImage.epapr'
>> + kernel_hash = '0ab237df661727e5392cee97460e8674057a883c5f74381a128fa772588d45cd'
>> + kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash,
>> + algorithm='sha256')
>> + self.vm.set_console()
>> + self.vm.add_args('-bios', skiboot_path,
>> + '-kernel', kernel_path,
>> + '-append', 'console=tty0 console=hvc0',
>> + '-device', 'pcie-pci-bridge,id=bridge1,bus=pcie.1,addr=0x0',
>> + '-device', 'nvme,bus=pcie.2,addr=0x0,serial=1234',
>> + '-device', 'e1000e,bus=bridge1,addr=0x3',
>> + '-device', 'nec-usb-xhci,bus=bridge1,addr=0x2')
>> + self.vm.launch()
>> +
>> + self.wait_for_console_pattern("CPU: " + proc + " generation processor")
>> + self.wait_for_console_pattern("zImage starting: loaded")
>> + self.wait_for_console_pattern("Run /init as init process")
>> + self.wait_for_console_pattern("Creating 1 MTD partitions")
>
> This is great.
>
> Is there any value in checking for some of the devices that come up,
> like USB or ethernet?
or nvme. Yes. That's a good idea.
> Reviewed-by: Joel Stanley <joel@jms.id.au>
Thanks,
C.
>
>> +
>> + def test_ppc_powernv8(self):
>> + """
>> + :avocado: tags=arch:ppc64
>> + :avocado: tags=machine:powernv8
>> + """
>> + self.do_test_ppc64_powernv('P8')
>> +
>> + def test_ppc_powernv9(self):
>> + """
>> + :avocado: tags=arch:ppc64
>> + :avocado: tags=machine:powernv9
>> + """
>> + self.do_test_ppc64_powernv('P9')
>> +
>> def test_ppc_g3beige(self):
>> """
>> :avocado: tags=arch:ppc
>> --
>> 2.31.1
>>
On 10/08/2021 11.09, Cédric Le Goater wrote:
> On 8/10/21 10:36 AM, Joel Stanley wrote:
>> On Tue, 10 Aug 2021 at 08:34, Cédric Le Goater <clg@kaod.org> wrote:
>>>
>>> Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines
>>> with a simple PCI layout.
>>>
>>> Cc: Cleber Rosa <crosa@redhat.com>
>>> Cc: Wainer dos Santos Moschetta <wainersm@redhat.com>
>>> Signed-off-by: Cédric Le Goater <clg@kaod.org>
>>> ---
>>> tests/acceptance/boot_linux_console.py | 42 ++++++++++++++++++++++++++
>>> 1 file changed, 42 insertions(+)
>>>
>>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
>>> index 5248c8097df9..da93a475ca87 100644
>>> --- a/tests/acceptance/boot_linux_console.py
>>> +++ b/tests/acceptance/boot_linux_console.py
>>> @@ -1176,6 +1176,48 @@ def test_ppc64_e500(self):
>>> tar_hash = '6951d86d644b302898da2fd701739c9406527fe1'
>>> self.do_test_advcal_2018('19', tar_hash, 'uImage')
>>>
>>> + def do_test_ppc64_powernv(self, proc):
>>> +
>>> + images_url = ('https://github.com/open-power/op-build/releases/download/v2.7/')
>>> +
>>> + skiboot_url = images_url + 'skiboot.lid'
>>> + skiboot_hash = 'a9ffcddbf238f86cda4b2cae2882d6bd13cff8489109758a4980efaf154f4a29'
>>> + skiboot_path = self.fetch_asset(skiboot_url, asset_hash=skiboot_hash,
>>> + algorithm='sha256')
>>
>> What's the thought that led you to using this instead of the one that
>> gets packaged with qemu?
>
> Good question.
>
> I considered that the skiboot.lid shipped with QEMU was somewhat a default
> to make things work. The official released versions are the ones used by
> the outside world on real systems and were a better target for tests.
>
> That said, using the default version might be enough. Maintainers, please
> advise !
IMHO:
- We want to test the things that *we* ship
- We want to download as few things as possible, since downloads
often slow down the tests and break CI runs if the network to
the download site is not available
==> I'd prefer to use the internal skiboot.lid unless there is
really a compelling reason to use the external one.
Just my 0.02 € though.
Thomas
On 8/11/21 11:07 AM, Thomas Huth wrote:
> On 10/08/2021 11.09, Cédric Le Goater wrote:
>> On 8/10/21 10:36 AM, Joel Stanley wrote:
>>> On Tue, 10 Aug 2021 at 08:34, Cédric Le Goater <clg@kaod.org> wrote:
>>>>
>>>> Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines
>>>> with a simple PCI layout.
>>>>
>>>> Cc: Cleber Rosa <crosa@redhat.com>
>>>> Cc: Wainer dos Santos Moschetta <wainersm@redhat.com>
>>>> Signed-off-by: Cédric Le Goater <clg@kaod.org>
>>>> ---
>>>> tests/acceptance/boot_linux_console.py | 42 ++++++++++++++++++++++++++
>>>> 1 file changed, 42 insertions(+)
>>>>
>>>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
>>>> index 5248c8097df9..da93a475ca87 100644
>>>> --- a/tests/acceptance/boot_linux_console.py
>>>> +++ b/tests/acceptance/boot_linux_console.py
>>>> @@ -1176,6 +1176,48 @@ def test_ppc64_e500(self):
>>>> tar_hash = '6951d86d644b302898da2fd701739c9406527fe1'
>>>> self.do_test_advcal_2018('19', tar_hash, 'uImage')
>>>>
>>>> + def do_test_ppc64_powernv(self, proc):
>>>> +
>>>> + images_url = ('https://github.com/open-power/op-build/releases/download/v2.7/')
>>>> +
>>>> + skiboot_url = images_url + 'skiboot.lid'
>>>> + skiboot_hash = 'a9ffcddbf238f86cda4b2cae2882d6bd13cff8489109758a4980efaf154f4a29'
>>>> + skiboot_path = self.fetch_asset(skiboot_url, asset_hash=skiboot_hash,
>>>> + algorithm='sha256')
>>>
>>> What's the thought that led you to using this instead of the one that
>>> gets packaged with qemu?
>>
>> Good question.
>>
>> I considered that the skiboot.lid shipped with QEMU was somewhat a default
>> to make things work. The official released versions are the ones used by
>> the outside world on real systems and were a better target for tests.
>>
>> That said, using the default version might be enough. Maintainers, please
>> advise !
>
> IMHO:
>
> - We want to test the things that *we* ship
>
> - We want to download as few things as possible, since downloads
> often slow down the tests and break CI runs if the network to
> the download site is not available
>
> ==> I'd prefer to use the internal skiboot.lid unless there is
> really a compelling reason to use the external one.
OK. I changed the test to use the internal skiboot.lid.
Thanks,
C.
Hi Cédric,
On 8/11/21 11:54 AM, Cédric Le Goater wrote:
> On 8/11/21 11:07 AM, Thomas Huth wrote:
>> On 10/08/2021 11.09, Cédric Le Goater wrote:
>>> On 8/10/21 10:36 AM, Joel Stanley wrote:
>>>> On Tue, 10 Aug 2021 at 08:34, Cédric Le Goater <clg@kaod.org> wrote:
>>>>> Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines
>>>>> with a simple PCI layout.
>>>>>
>>>>> Cc: Cleber Rosa <crosa@redhat.com>
>>>>> Cc: Wainer dos Santos Moschetta <wainersm@redhat.com>
>>>>> Signed-off-by: Cédric Le Goater <clg@kaod.org>
>>>>> ---
>>>>> tests/acceptance/boot_linux_console.py | 42 ++++++++++++++++++++++++++
>>>>> 1 file changed, 42 insertions(+)
>>>>>
>>>>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
>>>>> index 5248c8097df9..da93a475ca87 100644
>>>>> --- a/tests/acceptance/boot_linux_console.py
>>>>> +++ b/tests/acceptance/boot_linux_console.py
>>>>> @@ -1176,6 +1176,48 @@ def test_ppc64_e500(self):
>>>>> tar_hash = '6951d86d644b302898da2fd701739c9406527fe1'
>>>>> self.do_test_advcal_2018('19', tar_hash, 'uImage')
>>>>>
>>>>> + def do_test_ppc64_powernv(self, proc):
>>>>> +
>>>>> + images_url = ('https://github.com/open-power/op-build/releases/download/v2.7/')
>>>>> +
>>>>> + skiboot_url = images_url + 'skiboot.lid'
>>>>> + skiboot_hash = 'a9ffcddbf238f86cda4b2cae2882d6bd13cff8489109758a4980efaf154f4a29'
>>>>> + skiboot_path = self.fetch_asset(skiboot_url, asset_hash=skiboot_hash,
>>>>> + algorithm='sha256')
>>>> What's the thought that led you to using this instead of the one that
>>>> gets packaged with qemu?
>>> Good question.
>>>
>>> I considered that the skiboot.lid shipped with QEMU was somewhat a default
>>> to make things work. The official released versions are the ones used by
>>> the outside world on real systems and were a better target for tests.
>>>
>>> That said, using the default version might be enough. Maintainers, please
>>> advise !
>> IMHO:
>>
>> - We want to test the things that *we* ship
>>
>> - We want to download as few things as possible, since downloads
>> often slow down the tests and break CI runs if the network to
>> the download site is not available
>>
>> ==> I'd prefer to use the internal skiboot.lid unless there is
>> really a compelling reason to use the external one.
> OK. I changed the test to use the internal skiboot.lid.
The code of patch v1 looks good to me but I will wait the v2 to put my
reviewed-by stamp.
Thanks!
- Wainer
>
> Thanks,
>
> C.
>
>
>
>
>
© 2016 - 2026 Red Hat, Inc.