Closed chadmorrison7 closed 3 months ago
The "Activate" action is supported. The text in the screenshot seems to be lacking some Actions and this would need to be a documentation fix from our end. The error you have received while activating suggests that Activate wasn't allowed in the state the Profile was. I need to check the states in which Activate action would fail, but I am guessing one state it will fail is if the SP deployment workflow hasn't completed. This would be the same irrespective of if this is triggered using PowerShell or GUI.
Can you hack on this a bit more and come back with more details.
Thanks. I am running it again. The state of the Server Profile in the GUI shows Inconsistent due to not being Activated. I am able to go to the GUI at that point and Select Activate with no issues, but if I use the Set-IntersightServerProfile -Actions Activate at that same point or even give it another 5 to 10 minutes, I get the error every time. Even running the Get-IntersightServerProfile right before to make sure it has the refresh of the Server Profile status does not work. I even upgraded to the latest version of the Powershell modules - 1.0.11.15473
Update: Also the Server Profile activates if I use the Rest Client on the Intersight website to Activate.
Maybe you could use the -Json
argument to log the request and response that PowerShell is sending. This will make it clear if PowerShell is doing something more than what you are doing in apidocs.
Here is what the -Json added... C:\Users\user> $serverprofile | Set-IntersightServerProfile -Action Activate -Json { "ServerAssignmentMode": "Static", "ServerPreAssignBySlot": { "ClassId": "server.ServerAssignTypeSlot", "ObjectType": "server.ServerAssignTypeSlot", "ChassisId": 0, "DomainName": "", "SlotId": 0 }, "AssignedServer": {"ClassId":"mo.MoRef","ObjectType":"compute.Blade","Moid":"658decb26176753601007a53","link":"https://www.intersight.com/api/v1/compute/Blades/658decb26176753601007a53"}, "Organization": {"ClassId":"mo.MoRef","ObjectType":"organization.Organization","Moid":"5ddeede46972652d3103474c","link":"https://www.intersight.com/api/v1/organization/Organizations/5ddeede46972652d3103474c"}, "TargetPlatform": "FIAttached", "UuidAddressType": "NONE", "Action": "Activate", "ConfigContext": { "ClassId": "policy.ConfigContext", "ObjectType": "policy.ConfigContext", "ControlAction": "No-op", "ErrorState": "", "InconsistencyReason": [ "Not-activated" ] }, "PolicyBucket": [ {"ClassId":"mo.MoRef","ObjectType":"bios.Policy","Moid":"63efa48b6275722d30ad9e3a","link":"https://www.intersight.com/api/v1/bios/Policies/63efa48b6275722d30ad9e3a"}, {"ClassId":"mo.MoRef","ObjectType":"boot.PrecisionPolicy","Moid":"6580cc3d6275723001832c7a","link":"https://www.intersight.com/api/v1/boot/PrecisionPolicies/6580cc3d6275723001832c7a"}, {"ClassId":"mo.MoRef","ObjectType":"power.Policy","Moid":"6435c2796275723001d03633","link":"https://www.intersight.com/api/v1/power/Policies/6435c2796275723001d03633"}, {"ClassId":"mo.MoRef","ObjectType":"thermal.Policy","Moid":"64909b0b6275723001cdea97","link":"https://www.intersight.com/api/v1/thermal/Policies/64909b0b6275723001cdea97"}, {"ClassId":"mo.MoRef","ObjectType":"vmedia.Policy","Moid":"6436dbc7627572300111a1e1","link":"https://www.intersight.com/api/v1/vmedia/Policies/6436dbc7627572300111a1e1"}, {"ClassId":"mo.MoRef","ObjectType":"access.Policy","Moid":"6435c2bc6275723001d04858","link":"https://www.intersight.com/api/v1/access/Policies/6435c2bc6275723001d04858"}, {"ClassId":"mo.MoRef","ObjectType":"iam.EndPointUserPolicy","Moid":"6436dc63627572300111c06a","link":"https://www.intersight.com/api/v1/iam/EndPointUserPolicies/6436dc63627572300111c06a"}, {"ClassId":"mo.MoRef","ObjectType":"snmp.Policy","Moid":"64358cfe6275723001c250a9","link":"https://www.intersight.com/api/v1/snmp/Policies/64358cfe6275723001c250a9"}, {"ClassId":"mo.MoRef","ObjectType":"syslog.Policy","Moid":"64358c386275723001c21c9a","link":"https://www.intersight.com/api/v1/syslog/Policies/64358c386275723001c21c9a"}, {"ClassId":"mo.MoRef","ObjectType":"kvm.Policy","Moid":"6436c67e62757230010c3db4","link":"https://www.intersight.com/api/v1/kvm/Policies/6436c67e62757230010c3db4"}, {"ClassId":"mo.MoRef","ObjectType":"vnic.SanConnectivityPolicy","Moid":"6435b840f746dd89019c01bb","link":"https://www.intersight.com/api/v1/vnic/SanConnectivityPolicies/6435b840f746dd89019c01bb"}, {"ClassId":"mo.MoRef","ObjectType":"vnic.LanConnectivityPolicy","Moid":"65f319e1c04e31eb0152bade","link":"https://www.intersight.com/api/v1/vnic/LanConnectivityPolicies/65f319e1c04e31eb0152bade"} ], "Type": "instance", "Name": "servername", "SrcTemplate": {"ClassId":"mo.MoRef","ObjectType":"server.ProfileTemplate","Moid":"658b03d677696e3101fe2ea4","link":"https://www.intersight.com/api/v1/server/ProfileTemplates/658b03d677696e3101fe2ea4"}, "Moid": "65f9b07977696e31015a9ddf" } Set-IntersightServerProfile: Error calling UpdateServerProfile: {"code":"InvalidRequest","message":"Action 'Activate' is not allowed in current state","messageId":"gershwin_user_action_is_not_allowed","messageParams":{"1":"Activate"},"traceId":"l37RfdlRFKlVIZw-ogrUhW_9_RX0yH0ztcoAjqy40dCoNBjhPEdCUw=="}
Can you try this, it seems some extra property is being set when we pipe the get output, please try with Moid and Action parameter
Set-IntersightServerProfile -Moid $serverprofile.Moid -Action Activate
@Ghufz - That seems to work! Thanks! Not sure why the other method no longer works just for Activate as it still works with Unassign and Deploy.
Other method of cmdlet invocation sets some other properties as part of piped object which causes the issue. I am analyzing the issue.
This issue has been fixed in Intersight.PowerShell version https://www.powershellgallery.com/packages/Intersight.PowerShell/1.0.11.17769
Used to be able to use Set-IntersightServerProfile to activate a server profile but according the documentation the Activate Action is no longer valid for Server Profiles with only Deploy and Unassign as valid options. The Activate action worked as of 3/14/2024.
This is the code that used to work and running this same process with the Action of Deploy $name = "systemname" $serverprofile = Get-IntersightServerProfile -Name $name $serverprofile | Set-IntersightServerProfile -Action Activate
Version used
Expected behavior This used to starting the Activation of the Server Profile which can still be done if you go to the Server Profile in the Intersight GUI, but it gets this error currently.... Set-IntersightServerProfile: Error calling UpdateServerProfile: {"code":"InvalidRequest","message":"Action 'Activate' is not allowed in current state","messageId":"gershwin_user_action_is_not_allowed","messageParams":{"1":"Activate"}
Screenshots
How are you all activating Server Profiles for automation outside of using the GUI?