cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
8913
Views
9
Helpful
18
Comments
dsoper
Cisco Employee
Cisco Employee

Cisco has implemented an updated UCS Hardware and Software Compatibility website and API.  Also known as the Hardware Compatibility List, or HCL, users can verify compatibility of UCS Hardware with Firmware versions and OS drivers with all compatibility information maintained by a database back-end.

The Cisco UCS PowerTool Suite also now supports interactions with the HCL that include the following automation workflows:

  • Collecting system inventory for subsequent upload to the HCL
  • Querying HCL profiles stored in the back-end and invoking a compatibility check with a single Cmdlet
  • Modifying HCL profiles as needed with PowerShell to check compatibility of existing HW with new Firmware or OS versions (before actually performing an update).

For additional information on PowerShell scripts that interact with the HCL tool, please see GitHub - dsoper2/powertool-hcl: Example scripts to query systems and validate configurations with the HW Compatibility L…

The demo here gives a brief overview of the HCL and new CmdLets supported by the Cisco UCS PowerTool.

Comments
jmunk
Level 4
Level 4

David!

The Powertool HCL possibility is great, but to be able to use it in some kind of Automation, I need to be able to save the output of the invoke-UcsHclUtility CmdLet in a text file or string variable (optimally in a "structured" object like a Hash Table, but currently text string format seems to be the only possibility)

However, all the "standard" ways of redirecting the output of a CmdLet to a text file / string variable do not work. All of the below Cmdlet calls leaves my output files "testX.txt" empty, and only displays the result of the Invoke-UcsHclUtility Cmdlet on the Powershell Console (running Powershell 5.0 on Windows7):

Invoke-UcsHclUtility -Tree -Credential $CcoCred -id 507  | Tee-Object -file "test1.txt"

Invoke-UcsHclUtility -Tree -Credential $CcoCred -id 507 | out-file "test2.txt"

Invoke-UcsHclUtility -Tree -Credential $CcoCred -id 507  > "test3.txt"

BR

Jesper

sumbr
Level 4
Level 4

Hi Jesper,

-Tree is an optional switch parameter added to display the output in a user friendly way and it is writing the text output to the console. You can't pipe or redirect the output if -Tree parameter is specified. If you want the output of the cmdlet for further processing then -Tree parameter shouldn't be specified.

You can save the output of the Invoke-UcsHclUtility cmdlet by using below method or pipe the output directly

$hclOutput = Invoke-UcsHclUtility -Credential $ccoCred -Id 507

Driver/Firmware information is available under the following path.

For all the adaptors you can get the information under $hclOutput.HardwareTypes.Adapters

For other components it is under $hclOutput.Component

Let me know if you need anything else on this.

Thanks,

Sumanth

jmunk
Level 4
Level 4

Sumanth

Great with quick reply, I will test it out.

I propose that Cisco invest in better and more comprehensive documentation of this really powerful feature. So far the only documentation, I have been able to find, is basic things in the UCS Powertool Suite Installation and Configuration Suite

BR

Jesper

jmunk
Level 4
Level 4

Sumanth

Having reread the documentation in the UCS Powertool Suite Installation and Configuration Guide, I can see, that it covers the features pretty well, including my own -Tree questions. For me some more examples in the documentation would have speeded up my understanding of the features.

BR

Jesper

jmunk
Level 4
Level 4

Can I create and upload a Hardware Profile to "CCO HCL tool" based on the JSON representation of the Hardware Profile?.

My usecase is:

-     generate a serialized Hardware Profile in JSON format with "get-ucsblade | new-ucshardwareprofile | ConvertTo-Json". This is done in an environment without Internet access (or access through Proxy)

-     "Instantiate" the Serialized Hardware Profile from the JSON file, e.g. with "new-ucshardwareprofile -JsonInputFile 'MyJsonFile.json' " in an environment with Internet access (the "-JsonInputFile" is a parameter I make up to describe what I want).

In the above way I could serialize and export Hardware Profiles from an environment without Internet access, and then do automated HCL lookups in an environement with Internet access. I think many customers will have this need.

Is there a way to do this with the current functionalities, or is it on Your RoadMap?

BR

Jesper

sumbr
Level 4
Level 4

Hi Jesper,

Thanks for sharing your valuable feedback. We will add some examples for HCL tool cmdlets in our documentation.

Regarding the use case of uploading the HW profile from a JSON representation here is my recommendation.

We don't have a ready parameter that accepts the JSON input file right now. We will add this feature in the next release of UCS PowerTool Suite.

For now you can use the below method to upload the HW Profile to HCL Tool once you have the JSON input file.

For ex if Hardware Profile is saved as JsonInput,Txt using Convertto-Json cmdlet then you can run the below cmdlet to upload your hardware profile.

Get-Content JsonInput.Txt | ConvertFrom-Json | Add-UcsHardwareProfile -Credential $ccoCred

Thanks,

Sumanth

jmunk
Level 4
Level 4

Sumanth

Your recommendation provides the functionality I need to “upload” from a Json Profile!

Look forward to testing it.

BR

Jesper

jmunk
Level 4
Level 4

The Serial Numbers in the Hardware Profiles may pose a security Concern for some customers, including some of mine.

I have tested, that I could turn the Serial Numbers into "Dummy" Serial Numbers (e.g. turn "FCJxxx122YYY" into "111111111111111", which can be done automatically), and then upload to the "CCO HCL Tool" and execute Invoke-UcsHclUtility with the same result as with the real Serial Numbers (however I could not just set the Serial Numbers to Empty Strings).

Can I rely on, that I will get the same result with "Dummy" Serial numbers as with Real Serial Numbers, now and going ahead?

Are Cisco actually validating the Provided Serial Numbers for internal Purposes?

As I see it, the purpose of the "CCO HCL" Tool is solely to provide Compatibility information to customers, so if Cisco is not using the provided Serial Numbers for any purpose, I would propose providing an option to omitting the Serial Numbers. This will remove the last Security Concerns of some Customers.

BR

Jesper

jmunk
Level 4
Level 4

Would You please provide information about how the communication between the workstation running the Powertool Cmdlets and the "CCO HCL tool" is secured? Many customers will need this to evaluate the Security of the Powertool Compatibility Cmdlets

BR

Jesper

jmunk
Level 4
Level 4

Hi' Cisco!

Got some really useful Answers from You previously about the very interesting Powertool Hardware and Software Compatibility features, but I still need answers to some of my questions, which are important for Customers with High Demands on Security and Regulatory Compliance. I have summarized these questions here::

- A: Is there a way to avoid sending real serial numbers to the "Cloud HCL tool" as You do with the "Invoke-UcsHclUtility" Cmdlet? E.g. will I always get the correct result, if I have turned the Serial Numbers into "dummy" serial numbers (e.g. turned "FCJxxx122YYY" into "111111111111111"), which can be done automatically? Have You other plans for avoiding/protecting these Serial Numbers?

- B: Please describe how the communication between the workstation running the Powertool Cmdlets and the "Cloud HCL tool" is secured.

Please let me know if I should get replies to the above through other channels, than the Community.

BR

Jesper

sumbr
Level 4
Level 4

Hi Jesper,

Thanks for sharing your feedback on this. Apologies for delay in responding to your queries. Here are the answers for your questions.

1. At this point of time we are not using the SerialNumber stored inside the hardware profile in HCL Tool. You can set the SerialNumber to blank after the HW profile is created and upload the HW profile to HCL tool. There is no impact of making the serial number blank to the results shown from the HCL tool.

We will enhance the hardware profile creation cmdlet in the next release of the PowerTool  to provide an option to skip collecting Serial Number.


2.All the communication happening between the PowerTool and HCL Tool is via REST API and is using HTTP protocol. We will be providing  a patch release soon which will be using HTTPS as the protocol for communication to HCL Tool.


Let me know if you need anything else on this.


Thanks,

Sumanth

jmunk
Level 4
Level 4

Sumanth

Ok, and great with Answers which give me exactly the Info I need. I will watch out for the improvements when they come.

BR

Jesper

bsarrade
Cisco Employee
Cisco Employee

Can you help me understand how to use this?

I get no useable data returned when I use "Invoke-UcsHclUtility" without the -Tree switch:

PowerTool C:\> Invoke-UcsHclUtility -Credential $ccoid -Id 6788

CompatibilityProfiles Advisories

--------------------- ----------

{287}

sumbr
Level 4
Level 4

Hi Brandon,

-Tree option is for displaying the report to the console. If you are not using the -Tree option then you need to assign the output to a variable and look for the details under the following properties of the object.

For ex: $hclOutput= Invoke-UcsHclUtility -Credential $ccoid -Id 6788


$hclOutput.CompatibilityProfiles - This will have the details like download links to the firmware image, driver image and documentation for the recommended version of firmware/driver.

$hclOutput.CompatibilityProfiles.HardwareTypes.Adapters- This will have details of the adapter firmware and driver recommendations based on the adapters available on the H/W profile. All the adapters are grouped in to categories like CNA, FLASH, RAID, NIC etc.

$hclOutput.Advisories: If -Advisories switch is passed then you will get all the advisories associated with the hardware profiles. Advisory types are End of Life, End of Support etc.

You can refer to the HCL Tool online https://ucshcltool.cloudapps.cisco.com/public/ for more information.

Let us know if you need more details on this.

Thanks,

Sumanth

bsarrade
Cisco Employee
Cisco Employee

This response actually made it click for me. I wasn't including the "CompatibilityProfiles" part in my query.

Thank you!

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: