Giter Club home page Giter Club logo

Comments (5)

EajksEajks avatar EajksEajks commented on September 27, 2024

A brief explanation why I try to attach both at the same time:

  • on CD I attach an official Ubuntu ISO
  • on RemovableDisk I attach a cloud-init config image
    On reboot, Ubuntu installs and configures itself automatically.

from idrac-redfish-scripting.

texroemer avatar texroemer commented on September 27, 2024

Hi @EajksEajks

For attaching multiple virtual media devices, supported index IDs are 1 and 2 not 0 and 1. Can you try using index 1 and 2 for attaching devices and see if it works.

See example below of attaching ISO (index 1) and IMG (index 2) at the same time.

C:\Python310>python InsertEjectVirtualMediaREDFISH.py -ip 192.168.0.120 -u root -p calvin --get

 - Virtual Media Device Details -

{'@odata.context': '/redfish/v1/$metadata#VirtualMedia.VirtualMedia',
 '@odata.id': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/1',
 '@odata.type': '#VirtualMedia.v1_6_1.VirtualMedia',
 'Actions': {'#VirtualMedia.EjectMedia': {'target': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/1/Actions/VirtualMedia.EjectMedia'},
             '#VirtualMedia.InsertMedia': {'target': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/1/Actions/VirtualMedia.InsertMedia'}},
 'Certificates': {'@odata.id': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/1/Certificates'},
 'ConnectedVia': 'NotConnected',
 'Description': 'iDRAC Virtual Media Instance',
 'Id': '1',
 'Image': None,
 'ImageName': None,
 'Inserted': False,
 'MediaTypes': ['CD', 'DVD', 'USBStick'],
 '[email protected]': 3,
 'Name': 'VirtualMedia Instance 1',
 'Password': None,
 'TransferMethod': None,
 'TransferProtocolType': None,
 'UserName': None,
 'VerifyCertificate': False,
 'WriteProtected': None}


{'@odata.context': '/redfish/v1/$metadata#VirtualMedia.VirtualMedia',
 '@odata.id': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/2',
 '@odata.type': '#VirtualMedia.v1_6_1.VirtualMedia',
 'Actions': {'#VirtualMedia.EjectMedia': {'target': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/2/Actions/VirtualMedia.EjectMedia'},
             '#VirtualMedia.InsertMedia': {'target': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/2/Actions/VirtualMedia.InsertMedia'}},
 'Certificates': {'@odata.id': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/2/Certificates'},
 'ConnectedVia': 'NotConnected',
 'Description': 'iDRAC Virtual Media Instance',
 'Id': '2',
 'Image': None,
 'ImageName': None,
 'Inserted': False,
 'MediaTypes': ['CD', 'DVD', 'USBStick'],
 '[email protected]': 3,
 'Name': 'VirtualMedia Instance 2',
 'Password': None,
 'TransferMethod': None,
 'TransferProtocolType': None,
 'UserName': None,
 'VerifyCertificate': False,
 'WriteProtected': None}
 
 C:\Python310>python InsertEjectVirtualMediaREDFISH.py -ip 192.168.0.120 -u root -p calvin --action insert --index 1 --uripath http://192.168.0.130/http_share/boot.iso

- PASS, POST command passed to successfully insert virtual media, status code 204 returned

C:\Python310>python InsertEjectVirtualMediaREDFISH.py -ip 192.168.0.120 -u root -p calvin --action insert --index 2 --uripath http://192.168.0.130/http_share/ks.img

- PASS, POST command passed to successfully insert virtual media, status code 204 returned

C:\Python310>python InsertEjectVirtualMediaREDFISH.py -ip 192.168.0.120 -u root -p calvin --get

 - Virtual Media Device Details -

{'@odata.context': '/redfish/v1/$metadata#VirtualMedia.VirtualMedia',
 '@odata.id': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/1',
 '@odata.type': '#VirtualMedia.v1_6_1.VirtualMedia',
 'Actions': {'#VirtualMedia.EjectMedia': {'target': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/1/Actions/VirtualMedia.EjectMedia'},
             '#VirtualMedia.InsertMedia': {'target': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/1/Actions/VirtualMedia.InsertMedia'}},
 'Certificates': {'@odata.id': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/1/Certificates'},
 'ConnectedVia': 'URI',
 'Description': 'iDRAC Virtual Media Instance',
 'Id': '1',
 'Image': 'http://192.168.0.130/http_share/boot.iso',
 'ImageName': 'boot.iso',
 'Inserted': True,
 'MediaTypes': ['CD', 'DVD', 'USBStick'],
 '[email protected]': 3,
 'Name': 'VirtualMedia Instance 1',
 'Password': None,
 'TransferMethod': 'Stream',
 'TransferProtocolType': 'HTTP',
 'UserName': None,
 'VerifyCertificate': False,
 'WriteProtected': True}


{'@odata.context': '/redfish/v1/$metadata#VirtualMedia.VirtualMedia',
 '@odata.id': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/2',
 '@odata.type': '#VirtualMedia.v1_6_1.VirtualMedia',
 'Actions': {'#VirtualMedia.EjectMedia': {'target': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/2/Actions/VirtualMedia.EjectMedia'},
             '#VirtualMedia.InsertMedia': {'target': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/2/Actions/VirtualMedia.InsertMedia'}},
 'Certificates': {'@odata.id': '/redfish/v1/Systems/System.Embedded.1/VirtualMedia/2/Certificates'},
 'ConnectedVia': 'URI',
 'Description': 'iDRAC Virtual Media Instance',
 'Id': '2',
 'Image': 'http://192.168.0.130/http_share/ks.img',
 'ImageName': 'ks.img',
 'Inserted': True,
 'MediaTypes': ['CD', 'DVD', 'USBStick'],
 '[email protected]': 3,
 'Name': 'VirtualMedia Instance 2',
 'Password': None,
 'TransferMethod': 'Stream',
 'TransferProtocolType': 'HTTP',
 'UserName': None,
 'VerifyCertificate': False,
 'WriteProtected': True}

Thanks
Tex

from idrac-redfish-scripting.

EajksEajks avatar EajksEajks commented on September 27, 2024

Hi Tex,

There seems to be two URLs dealing with VirtualMedia:

  • /redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia

  • /redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/RemovableDisk/Actions/VirtualMedia.InsertMedia

  • /redfish/v1/Systems/System.Embedded.1/VirtualMedia/1/Actions/VirtualMedia.InsertMedia -> CD

  • /redfish/v1/Systems/System.Embedded.1/VirtualMedia/2/Actions/VirtualMedia.InsertMedia -> RemovableDisk

Only the second one allows the simultaneous insertion.
Do you know the difference which justify there exists two different URLs?

from idrac-redfish-scripting.

EajksEajks avatar EajksEajks commented on September 27, 2024

By the way, the reason why it doesn't always work in my setup is because I used two different generations of PowerEdge servers (and I didn't pay attention). It doesn't work on R740/R640 (iDRAC firmware 5.x). It does work on R760/R660 (iDRAC firmware 7.x).

from idrac-redfish-scripting.

texroemer avatar texroemer commented on September 27, 2024

VirtualMedia support for Manager schema was legacy behavior and support has been deprecated. But the URIs for Manager schema are still reported for backwards compatibility if the user is still using older iDRAC firmware (5.10 or older).

Starting in iDRAC 6.00 VirtualMedia support for ComputerSystem schema was added to allow the user to attach multiple virtual devices at the same time and also be compliant with DMTF. If you run GET on URI "redfish/v1/Managers/iDRAC.Embedded.1" you will see "[email protected]" property reporting the correct URI to now use.

Example:

image

Thanks
Tex

from idrac-redfish-scripting.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.