I tried to configure my UCS System with a Service Profile template.
I Use iscsi boot, so I Need to configure a UcsVnicIScsiStaticTargetIf via CiscoUCSPS.
It took me a Long time to find out the Syntax with try and error and the | convertto-ucscmdlet.
But now I got the correct cmdlet:
Get-UcsOrg -Level root -Ucs $UCS | Get-UcsOrg -Name $Scope -LimitScope | Get-UcsServiceProfile -Name $SpName -LimitScope | Get-UcsVnicIScsi -Name "iSCSI-A" | Add-UcsVnicIScsiStaticTargetIf -ModifyPresent -AuthProfileName "" -IpAddress "10.10.10.10" -Name "iqn.1992-08.com.netapp:sn.123456789012345678901234567890:vs.10" -Port 3260 -Priority 1
I do also get a positive result via following cmdlet. So I think it would work.
Get-UcsOrg -Level root -Ucs $UCS | Get-UcsOrg -Name $Scope -LimitScope | Get-UcsServiceProfile -Name $SpName -LimitScope | Get-UcsVnicIScsi -Name "iSCSI-A" | Get-UcsVnicIScsiStaticTargetIf
But by now I can not see the result in the UCM GUI. There is no entry: Service Profile Templates > ServiceTemplateX > Boot Order > iSCSI > iSCSI-A > Set iSCSI Boot Parameters > iSCSI Static Targed Interface
Any suggestions on that ?
Thanks and best regards
sorry for confusion.
The varname $SpName is a little bit confusing, I should use something like $SptName.
I do select a serviceprofile template with the
"Get-UcsServiceProfile -Name $SpName -LimitScope"
The Profile was created earlier with the Option
$Type = "updating-template"
Get-UcsOrg -Level root -Ucs $UCS | Get-UcsOrg -Name $Scope -LimitScope | Add-UcsServiceProfile –ModifyPresent -BootPolicyName $BootPolicyName -ExtIPPoolName $ExtIPPoolName -ExtIPState "pooled" -IdentPoolName $IdentPoolName -Name $SpName -PolicyOwner "local" -ScrubPolicyName $ScrubPolicyName -StatsPolicyName "default" -Type $Type -Uuid "0" -VconProfileName $VconProfileName
-updating template - > changes can only be made on the template, derived service profile is read only
-some changes require a reboot.
Do you have a maintenance policy in place, which requires a ACK; and if yes, did you check on the UCSM, if you don't have a pending ack's ?
until now I do not have any instantiated service profile from this template, so there is no pending task. I also have no binding of a service profile to a blade.
I tried to instantiate 2 service profiles from this service profile template.
GUI does not show the "iSCSI static target Interface"
Powershell cmdlet ... Get-UcsVnicIScsiStaticTargetIf (with the select on the new service profile instances) does show the "iSCSI static target Interface"
I tried to bind a service profile to a blade via GUI:
"issue with boot order, posibly iSCSI vNIC not found or no Targets configured for iSCSI vnic"
I will also try to bind the service profile to a blade via powershell, maybe this will work. But first I do have explore the right cmdlet(s) to to this.
I would first troubleshoot the service profile, that it successfully associates with a physical blade.
then I would create this SP from scratch, using convertto-ucscmdlet.
then I would create a template, using convertto-ucscmdlet
btw. do you have an initiator name and ip pool, that you reference in your template ?
Thanks a lot. I tried the last (Add-UcsVnicIScsiStaticTargetIf) step again via GUI + -LogAllXml and the convertto-ucscmdlet.
(adding the initiatol pool and ip pool worked but was also a hard way to get to)
This gave me a new starting point to Add-UcsVnicIScsiStaticTargetIf.
I will compare the differences between the old cmdlet and the new one -that works- and will provide Feedback on that.
By the way, I got following error as I tried the convertto-ucscmdlet. Do you have more detailed Information ?
(I have UCSM 2.2(5a) and Powertool 126.96.36.199)
WARNING: Add-UcsVnicIPv4PooledIscsiAddr cmdlet does not exist. Using the generic version.
#Post your query or feedback in Cisco UCS Integrations Communities (https://communities.cisco.com/ucsintegrations) or contact Cisco TAC.
$mo = Get-UcsOrg -Level root -Ucs $UCS | Get-UcsOrg -Name $Scope -LimitScope | Get-UcsServiceProfile -Name $SpName -LimitScope | Get-UcsVnicIScsiBootParams | Set-UcsVnicIScsiBootParams -Descr "" -PolicyOwner "local"
$mo_1 = Get-UcsOrg -Level root -Ucs $UCS | Get-UcsOrg -Name $Scope -LimitScope | Get-UcsServiceProfile -Name $SpName -LimitScope | Get-UcsVnicIScsiBootParams | Get-UcsVnicIScsiBootVnic -Name $Name | Set-UcsVnicIScsiBootVnic -AuthProfileName "" -Descr "" -InitiatorName "" -IqnIdentPoolName $IqnIdentPoolName -PolicyOwner "local"
$mo_1_1 = $mo_1 | Add-UcsVnicIScsiStaticTargetIf -AuthProfileName "" -IpAddress "10.10.10.10" -Name "iqn.1992-08.com.netapp:sn.123456789012345678901234567890:vs.13" -Port 3260 -Priority 1
$mo_1_1_1 = $mo_1_1 | Add-UcsVnicLun -ModifyPresent -Bootable "no" -Id 0
I would create the pools without powershell anyway; this has to be done once only.
The newest versions are
2.2.5b (see the performance caveat with 2.2.5a for some B200-M4 blades)
|Cisco UCSM PowerTool - Cisco UCSM Module of Windows PowerShell |