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

[RFE] Integrate Dell FC640 Blade Systems into QUADS/Badfish #319

Closed
sadsfae opened this issue Mar 9, 2020 · 3 comments
Closed

[RFE] Integrate Dell FC640 Blade Systems into QUADS/Badfish #319

sadsfae opened this issue Mar 9, 2020 · 3 comments

Comments

@sadsfae
Copy link
Member

sadsfae commented Mar 9, 2020

The Dell fc640 blades are different in that the static interface mappings in idrac_interfaces.yml can change depending on what rack the systems are in which can make their mappings different.

This RFE covers assimilating them into both the badfish library in QUADS but also upstream badfish.

Ideas

  1. use static mappings with the rack name present for fc640 systems that would differ past a baseline mapping in idrac_interfaces.yml

e.g.

director_r620_interfaces:
director_fc640_interfaces:
director_fc640_b03_interfaces:
director_fc640_b04_interfaces:
  1. Have badfish use an re shim that if a key/value pair has b0x before the _interfaces: part of of the string in idrac_interfaces.yml it uses that entry for all systems of type fc640 that are in rack b0x.

  2. Add fc640 to https://github.com/redhat-performance/quads/blob/master/quads/config.py#L29

@kambiz-aghaiepour
Copy link
Contributor

kambiz-aghaiepour commented Mar 10, 2020

I like it.

I'm curious if this is purely a change that would happen in badfish? or are we implementing the library in quads, separate from the upstream badfish code?

what about checking for "000" in the standalone vs blade portion, e.g. if the host is of the format:
<rack>-<uloc>-000-<type>.domain

then we know that $blade is "standalone" and we do what we are doing now. But if the host is of the format:

<rack>-<uloc>-<blade value, e.g. b01>-<type>.domain

then we set $blade to <blade value, e.g. b01>

and then as you said we look for :

director_fc640_$blade_interfaces:

and

foreman_fc640_$blade_interfaces:

We are saying the same thing I think.

@sadsfae
Copy link
Member Author

sadsfae commented Mar 10, 2020

I like it.

I'm curious if this is purely a change that would happen in badfish? or are we implementing the library in quads, separate from the upstream badfish code?

Both. We use a badfish library for QUADS, but this should also land in the standalone badfish (that also pulls in the container version people use).

The changes needed will only be in badfish lib for quads, standalone badfish and the basic changes in config.py.

what about checking for "000" in the standalone vs blade portion, e.g. if the host is of the format:
--000-.domain

then we know that $blade is "standalone" and we do what we are doing now. But if the host is of the format:

--<blade value, e.g. b01>-.domain

then we set $blade to <blade value, e.g. b01>

and then as you said we look for :

director_fc640_$blade_interfaces:

and

foreman_fc640_$blade_interfaces:

We are saying the same thing I think.

Yeah, that's cool too. Works for me. I think it's enough that we have one common, simple identifier for when badfish should do something different and use a non-generic set of static mappings in idrac_interfaces.yml. I just picked the blade number e.g. b03 as a short identifier for re to do the heavy lifting.

@sadsfae
Copy link
Member Author

sadsfae commented Mar 11, 2020

Possibly related-to: #311

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

2 participants