Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with R760 #411

Open
josecastillolema opened this issue Nov 25, 2024 · 5 comments
Open

Issues with R760 #411

josecastillolema opened this issue Nov 25, 2024 · 5 comments
Labels

Comments

@josecastillolema
Copy link

# podman run quay.io/quads/badfish:latest -H mgmt-m42-h03-000-r760.rdu3.labs.perfscale.redhat.com -u lala -p lili -i config/idrac_interfaces.yml -t foreman
- ERROR    - Couldn't find a valid key defined on the interfaces yaml: uefi_r760_interfaces
@sadsfae
Copy link
Member

sadsfae commented Nov 25, 2024

@josecastillolema idrac_interfaces.yml is meant as a guide, it's not always going to be up-to-date in the repository both because we can't cover all labs everywhere but also because it's really meant as a way to let end-users define their own boot string automation. If it's missing a key try adding one with the BIOS boot values from --check-boot - you can copy what's done with the other values there for other models.

See: https://github.com/redhat-performance/badfish?tab=readme-ov-file#host-type-overrides but I imagine just modifying your own idrac_interfaces.yml with that missing key/value pair will make things work. This isn't really an issue with badfish only that we're missing information, we can't account for hardware we don't know about in general or have any of. Newer unseen models need to either be added or users can manage their own idrac_interfaces.yml

If you can tell us what --check-boot output looks like we can push this to the repository but we don't have any R760 in Scale Lab so we don't know. For now I would just edit your own and map it to your container. Sending us a PR would rock too otherwise.

see: https://github.com/redhat-performance/badfish?tab=readme-ov-file#via-podman

If you would like to use a different file for config/idrac_interfaces.yml you can map a volume to your modified config with -v idrac_interfaces.yml:config/idrac_interfaces.yml:Z

@redhat-performance redhat-performance deleted a comment from willfoster Nov 25, 2024
@sadsfae sadsfae added the Dell label Nov 25, 2024
@josecastillolema
Copy link
Author

Thanks @sadsfae ,
we are aware of the option of providing a custom interfaces file, it's just that after #408 we were hopping for R760 to be supported out of the box.

@josecastillolema
Copy link
Author

Complementary question, why if we provide the file manually it does not seem to need the uefi entry?

[root@m42-h01-000-r760 ~]# podman run --rm -it --entrypoint sh quay.io/quads/badfish:latest 
/badfish # cat > test
foreman_r760_interfaces: NIC.PxeDevice.1-1,RAID.SL.3-2,Optical.iDRACVirtual.1-1
^C
/badfish # badfish -H mgmt-m42-h03-000-r760.rdu3.labs.perfscale.redhat.com -u quads -p rdu3@2611  -i test   --boot-to-type foreman  -v
- DEBUG    - Systems service: /redfish/v1/Systems/System.Embedded.1.
- DEBUG    - Managers service: /redfish/v1/Managers/iDRAC.Embedded.1.
- DEBUG    - Checking device NIC.PxeDevice.1-1.
- DEBUG    - Getting bios boot mode.
- DEBUG    - Getting BIOS attributes.
- DEBUG    - Current boot mode: Uefi
- DEBUG    - [{'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#NIC.PxeDevice.1-1#709c0888d3f7fb4aa12e13c31f22ef1b', 'Index': 0, 'Name': 'NIC.PxeDevice.1-1'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#Unknown.Unknown.2-1#c44114836b7698999a5b1361e3281e17', 'Index': 1, 'Name': 'Unknown.Unknown.2-1'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#Unknown.Unknown.3-1#ffdf9ede40b69e2fb3f116b5b8a3bcd1', 'Index': 2, 'Name': 'Unknown.Unknown.3-1'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#Unknown.Unknown.4-1#a1e23aeb91107736d304d8c900faabc6', 'Index': 3, 'Name': 'Unknown.Unknown.4-1'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#Unknown.Unknown.5-1#a4553d30e21def4b18c1649d9e41d737', 'Index': 4, 'Name': 'Unknown.Unknown.5-1'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#Unknown.Unknown.6-1#0b38be65641c517d79c9294660020c31', 'Index': 5, 'Name': 'Unknown.Unknown.6-1'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#Unknown.Unknown.7-1#4fff9c1e1adfa0e61fdf67efc21f22b0', 'Index': 6, 'Name': 'Unknown.Unknown.7-1'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#RAID.SL.3-2#092b88cb034ada39810bd71fb2153dd6', 'Index': 7, 'Name': 'RAID.SL.3-2'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#Optical.iDRACVirtual.1-1#c9c18e0059cec50694ecbc954b937404', 'Index': 8, 'Name': 'Optical.iDRACVirtual.1-1'}]
- DEBUG    - Getting job queue.
- INFO     - Job queue for iDRAC mgmt-m42-h03-000-r760.rdu3.labs.perfscale.redhat.com successfully cleared.
- DEBUG    - Getting bios boot mode.
- DEBUG    - Getting BIOS attributes.
- DEBUG    - Current boot mode: Uefi
- INFO     - Command passed to set BIOS attribute pending values.

@sadsfae
Copy link
Member

sadsfae commented Nov 26, 2024

Thanks @sadsfae , we are aware of the option of providing a custom interfaces file, it's just that after #408 we were hopping for R760 to be supported out of the box.

Yes it looks like this was added to the repository but the idrac_interfaces.yml is missing the UEFI string too, that may be needed if the system is set to use UEFI so that needs to be pushed I think. I am also not even certain if the BIOS strings are correct, remember that this order is usually specific to one lab and if the hardware is uniform across the same model (which is why it's best to use your own if there are hardware/environment variations).

Again though the same issue is at hand, we don't have any R760 and UEFI boot string entries are always different typically from BIOS, we'd need to know what they are. I can ask @grafuls who pushed this but we likely someone told us what they were and we have no way to verify. Newer Dells are EFI-only so it could be that there is are only EFI-strings, I don't know.

@josecastillolema @rsevilla87 If you have an R760 in your poesssion please give us the output of --check-boot and do not specify an idrac_interfaces.yml file so we can compare what the UEFI format of those interface boot strings are.

Depending on that order that's what would comprise the key/value pair entry in your own managed idrac_interfaces.yml specific to how you want it to work. The first interfaces has to be the Public Network interface basically in a foreman version of that key/value pair e.g. NIC.PxeDevice.1-1,RAID.SL.3-2

@sadsfae
Copy link
Member

sadsfae commented Nov 26, 2024

Complementary question, why if we provide the file manually it does not seem to need the uefi entry?

[root@m42-h01-000-r760 ~]# podman run --rm -it --entrypoint sh quay.io/quads/badfish:latest 
/badfish # cat > test
foreman_r760_interfaces: NIC.PxeDevice.1-1,RAID.SL.3-2,Optical.iDRACVirtual.1-1
^C
/badfish # badfish -H mgmt-m42-h03-000-r760.rdu3.labs.perfscale.redhat.com -u quads -p rdu3@2611  -i test   --boot-to-type foreman  -v
- DEBUG    - Systems service: /redfish/v1/Systems/System.Embedded.1.
- DEBUG    - Managers service: /redfish/v1/Managers/iDRAC.Embedded.1.
- DEBUG    - Checking device NIC.PxeDevice.1-1.
- DEBUG    - Getting bios boot mode.
- DEBUG    - Getting BIOS attributes.
- DEBUG    - Current boot mode: Uefi
- DEBUG    - [{'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#NIC.PxeDevice.1-1#709c0888d3f7fb4aa12e13c31f22ef1b', 'Index': 0, 'Name': 'NIC.PxeDevice.1-1'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#Unknown.Unknown.2-1#c44114836b7698999a5b1361e3281e17', 'Index': 1, 'Name': 'Unknown.Unknown.2-1'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#Unknown.Unknown.3-1#ffdf9ede40b69e2fb3f116b5b8a3bcd1', 'Index': 2, 'Name': 'Unknown.Unknown.3-1'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#Unknown.Unknown.4-1#a1e23aeb91107736d304d8c900faabc6', 'Index': 3, 'Name': 'Unknown.Unknown.4-1'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#Unknown.Unknown.5-1#a4553d30e21def4b18c1649d9e41d737', 'Index': 4, 'Name': 'Unknown.Unknown.5-1'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#Unknown.Unknown.6-1#0b38be65641c517d79c9294660020c31', 'Index': 5, 'Name': 'Unknown.Unknown.6-1'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#Unknown.Unknown.7-1#4fff9c1e1adfa0e61fdf67efc21f22b0', 'Index': 6, 'Name': 'Unknown.Unknown.7-1'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#RAID.SL.3-2#092b88cb034ada39810bd71fb2153dd6', 'Index': 7, 'Name': 'RAID.SL.3-2'}, {'Enabled': True, 'Id': 'BIOS.Setup.1-1#UefiBootSeq#Optical.iDRACVirtual.1-1#c9c18e0059cec50694ecbc954b937404', 'Index': 8, 'Name': 'Optical.iDRACVirtual.1-1'}]
- DEBUG    - Getting job queue.
- INFO     - Job queue for iDRAC mgmt-m42-h03-000-r760.rdu3.labs.perfscale.redhat.com successfully cleared.
- DEBUG    - Getting bios boot mode.
- DEBUG    - Getting BIOS attributes.
- DEBUG    - Current boot mode: Uefi
- INFO     - Command passed to set BIOS attribute pending values.

I would have to go back and look at the code but it could be that the uefi_ entry has to be present but isn't actually used and it was a stub we added. Is this working for you and if so did you change anything from:

foreman_r760_interfaces: NIC.PxeDevice.1-1,RAID.SL.3-2
director_r760_interfaces: RAID.SL.3-2,NIC.PxeDevice.1-1

I do recall without looking at the code that we kept the uefi_ prefix stubs around for some reason and it may fail not having that even if it's' not the key/value pair used. #408 should have included that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants