11-18-2014 08:44 AM
I noticed a couple of things when trying to script adding a chassis or server qualification.
First, the help for Add-UCSChassisQualification says, "This cmdlet adds a chassis discovery policy..."
Is this true? If so, it behaves differently than Get-UCSChassisQualification, which returns an existing chassis qual.
If not, the help might need to be corrected.
Assuming Add-UCSChassisQualification is supposed to add a chassis qualification (and not a discovery policy), trying to use PowerTool to add either a chassis or server qual gets you in a chicken/egg scenario.
In order to use Add-UCSChassisQualification, you have to specify the ServerQualification to use. But to use Add-UCSServerQualification, you have to specify the ChassisQualification to use.
Or am I using these incorrectly? (it's hard to tell from Get-Help info)
11-20-2014 12:10 AM
Hi James,
Get-help Add-UCSChassisQualification is giving wrong info. We will correct this in next release of PowerTool.
Following is the hierarchy to use different qualification cmdlets.
PS C:\> Get-UcsCmdletMeta -ClassId ComputeChassisQual -Tree
ComputeQual (UcsServerPoolQualification) (Get, Add, Set, Remove)
|-ComputeChassisQual (UcsChassisQualification) (Get, Add, Remove)
|-ComputeSlotQual (UcsServerQualification) (Get, Add, Remove)
PS C:\> Get-Help Add-UCSChassisQualification
SYNTAX
Add-UcsChassisQualification -ServerPoolQualification <ComputeQual> [-MaxId] <uint> [-MinId] <uint> [-ModifyPresent] [-XtraProperty <Hashtable>] [-Ucs <UcsHandle[]>]
PS C:\> get-help Add-UCSServerQualification
SYNTAX
Add-UcsServerQualification -ChassisQualification <ComputeChassisQual> [-MaxId] <uint> [-MinId] <uint> [-ModifyPresent] [-XtraProperty <Hashtable>] [-Ucs <UcsHandle[]>
So in order to add Chassis Qualification please specify ServerPoolQualification and to add Server Qualification please specify ChassisQualification.
Let us know if it helps.
Thank you,
Nitin
11-20-2014 03:53 AM
I guess I'm confused as to what the cmdlets are expecting for serverqualification or chassisqualification.
I read the help, but it is clear as mud. Are the cmdlets expecting a managed object? A string? A psobject?
Can you give me an example of how one or both cmdlets is used?
11-20-2014 04:14 AM
Hi James,
These cmdlets are expecting managed object.
You can refer below examples.
1. Add-UcsChassisQualification (Expect Managed Object of type ComputeQual)
PS C:\> Get-UcsServerPoolQualification | Add-UcsChassisQualification -ModifyPresent -MaxId 50 -MinId 1
MaxId : 50
MinId : 1
Dn : org-root/blade-qualifier-all-chassis/chassis-from-1-to-50
Rn : chassis-from-1-to-50
Status :
XtraProperty : {}
Ucs : tcs-tpi01
2. Add-UcsServerQualification(Expect Managed Object of type ComputeChassisQual)
PS C:\> Get-UcsChassisQualification | Add-UcsServerQualification -ModifyPresent -MaxId 8 -MinId 1
MaxId : 8
MinId : 1
Dn : org-root/blade-qualifier-all-chassis/chassis-from-1-to-50/slot-from-1-to-8
Rn : slot-from-1-to-8
Status : created
XtraProperty : {}
Ucs : tcs-tpi01
Thank you,
Nitin
11-20-2014 04:29 AM
Your first example retrieves an existing server qualification to then add a chassis qualification to it. The second does the same thing, only it retrieves an existing chassis qualification and adds a server qualification to it.
Both of these require the use of a pre-existing qualification (or one created via the GUI or some other means). What I'm trying to do is create a new, custom (not default) chassis/server qualification combination where none currently exists.
EDIT: I started ConvertTo-UcsCmdlet and captured the cmdlets from doing it in the GUI. This is what it gave me:
Start-UcsTransaction
$mo = Get-UcsOrg -Level root | Add-UcsServerPoolQualification -Descr "" -Name "foo" -PolicyOwner "local"
$mo_1 = $mo | Add-UcsChassisQualification -MaxId 8 -MinId 8
$mo_1_1 = $mo_1 | Add-UcsServerQualification -MaxId 5 -MinId 5
Complete-UcsTransaction
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide