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

generic virtual media mount looking for Lenovo specific Id #21

Open
samerhaj opened this issue Jun 4, 2019 · 11 comments
Open

generic virtual media mount looking for Lenovo specific Id #21

samerhaj opened this issue Jun 4, 2019 · 11 comments

Comments

@samerhaj
Copy link
Collaborator

samerhaj commented Jun 4, 2019

if members_url.split('/')[-1].startswith("EXT"):

The generic version of Mount Virtual Media should not look for a Lenovo specific Id (like "EXT")

@renxulei
Copy link
Contributor

renxulei commented Jun 5, 2019

@samerhaj XCC's redfish implementation by 19A (version 2.5) only support mount image/iso from HTTPFS/NFS on EXT member via PATCH method, but XCC provided 10 predefined members, including EXT, RDOC and Remote, so script has to judge member name to select right member to mount image/iso, this is lenovo specific. My opinion is, current XCC implementation is lenovo specific, I prefer to remove this script, just keep lenovo_mount_virtual_media.py, which cover both 18D and 19A design. How do you think?

@timeu
Copy link

timeu commented Apr 26, 2021

@renxulei: Do you by any chance know if there is a way to disable specific virtual media members/slots ?
I am asking because we want to use redfish together with OpenStack ironic and currently the implementation (https://opendev.org/openstack/ironic/src/branch/master/ironic/drivers/modules/redfish/boot.py#L192) of ironic using sushy (https://opendev.org/openstack/sushy) will iterate over all virtual media members and try to insert the image.
However the first 2 are RDOC1 and RDOC2 which will cause the loop to fail.

@renxulei
Copy link
Contributor

@timeu It seems no Redfish way to disable this, I will check if there are other ways to do this. Could you let me know which product and which XCC version you are using? What I knew is, some enhancements about this have been done per past similar request, EXT1~EXT4 are being showed firstly now on the version released on March, 2021. Not sure if you can update your XCC firmware to the latest version, if yes, I think your issue will not happen after the Firmware updated.

@timeu
Copy link

timeu commented Apr 26, 2021

@renxulei: Thanks for the quick response. I tested this on ThinkSystem SD530 with XCC/BMCversion V4.00 (Build ID: TEI3A4L)
I think it's a pretty recent version of XCC.

@renxulei
Copy link
Contributor

@timeu I checked that there is no way to disable one specific virtual media member. About your XCC version, it is a little old, the enhancement is added from version 4.2. The latest XCC version is 4.4, release on Mar. 2021, propose you can update your XCC to this version, hope this can help you.

@timeu
Copy link

timeu commented Apr 27, 2021

@renxulei : Thanks, I will try to update the XCC to the latest version and see if it changes anything and report back.

@timeu
Copy link

timeu commented Apr 27, 2021

@renxulei : Somewhat good news. After updating to the latest XCC firmware (4.4), the order of the virtual media slots changed and RDOC1 and RDOC2 appear now last in the list and EXT1 is first in the list, which is good.
However I am wondering why the Lenovo Redfish implementation doesn't return all the attributes that are defined in the v1_3_2 version of the VirtualMedia json schema, although it returns that version in the payload:

{'ConnectedVia': 'NotConnected', 'Id': 'EXT3', '@odata.id': '/redfish/v1/Managers/1/VirtualMedia/EXT3', 
'MediaTypes': ['CD', 'DVD', 'Floppy', 'USBStick'], 'Image': None, 'ImageName': None, 'Name': 'VirtualMedia', 
'Password': None, '@odata.type': '#VirtualMedia.v1_3_2.VirtualMedia', 
'WriteProtected': True, 'UserName': None, 'Inserted': False, 
'@odata.etag': '"3d7ffe7360bf2729421"', 
'Description': 'This resource shall be used to represent a virtual media service for a Redfish implementation.'}

Specifically I would be interested in the TransferProtocolType and TransferMethod which could be used in other libraries such as sushy to filter out virtual media slots

@renxulei
Copy link
Contributor

@timeu I am checking with development team about your questions why do not return all attributes, and will response you once I got the feedback.

@renxulei
Copy link
Contributor

renxulei commented May 7, 2021

@timeu Sorry for late update. Development team is prioritizing and implementing the properties depending on customer voices or user scenarios, may not cover all properties. "TransferProtocolType" and "TransferMethod" properties are not supported yet, but per your voices, development team plan to support them on future release (about End of August).

@timeu
Copy link

timeu commented May 7, 2021

@renxulei : Thanks for the update. That would be great!
One more question: are there plans to implement the virtual media actions ("insert" and "eject") instead of the legacy PATCH http request approach ?
FYI: I contributed a patch to the sushy redfish library that is used by OpenStack ironic to handle virtual media insert and eject so that works for the Lenovo nodes that only support the PATCH method, however I think it would be great if the Lenovo Redfish implementation could support the new modern virtual media actions.

@renxulei
Copy link
Contributor

@timeu Thanks for your suggestion! About supporting insert/eject actions, I have reflected your voices to development team. Because development team is focusing on other tasks with high priority currently, after that, they will consider how to support insert/eject actions, I will keep tracking this and feed back you the progress, thanks!

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

No branches or pull requests

3 participants