Microsoft Virtualization Discussions
Microsoft Virtualization Discussions
Goal: Distribute new firmware packages across all controllers (7DOT & cDOT).
For 7DOT systems the procedure is quite simple by just uploading and extracting the firwmare package using the etc$ CIFS share. But for cDOT Systems it is a little bit more complex if you don't want to use the CLI interactively. According to the documentation (http://support.netapp.com/NOW/download/tools/diskfw/diskfw_cm.html) there are two possibilities to upload the firmware:
Method 1: Using a web or ftp server
cluster::*> set -privilege advanced -confirmations off
cluster::*> storage firmware download -node node1 -package-type all -package-url http://myserver/all.zip
Enter User:
Enter Password:
Firmware download started.
Since the storage firmware download command asks for a user and a password (although no credentials are required) the invocation of the ssh commands via Powershell does not return:
PS> Invoke-NcSsh "set -privilege advanced -confirmations off; storage firmware download -node local -package-type all -package-url http://myserver/all.zip"
Method 2: Using a scp/sftp host
Instead of using a ssh-based transport the powershell Cmdlet Start-NcSystemImagePackageDownload is used to get the firmware file to the controller:
PS> Start-NcSystemImagePackageDownload -Url http://myserver/all.zip -Node (Get-NcNode)[0].Node
The file is placed in the /mroot/etc/software folder and can be handled (moved to disk_fw folder, unzipped, etc.) via systemshell. Unfortunately I don't know a way to access the systemshell via Powershell.
Do you see a way to upload the disk firwmare via script for a clustered DataONTAP system? Any feedback is welcome!
Solved! See The Solution
You can pass the username and password within the http address. Any username:password combination works on my standard Apache for Windows install.
Try this:
storage firmware download -node node1 -package-type all -package-url http://blah:blah@myserver/all.zip
---
Sean Luce (@seanluce)
You can pass the username and password within the http address. Any username:password combination works on my standard Apache for Windows install.
Try this:
storage firmware download -node node1 -package-type all -package-url http://blah:blah@myserver/all.zip
---
Sean Luce (@seanluce)
It works with FTP as well. I am running FileZilla Server. I created a user "firmware" with the password "firmware".
storage firmware download -node node1 -package-type all -package-url ftp://firmware:firmware@myserver/all.zip
---
Sean Luce (@seanluce)
Works like a charm. Thanks for the hint!