Invoke-CsComputerFailOver : Command execution failed: Insufficient number of computers

During a test we could not fail over a Skype for Business Front End server with the following error:

Invoke-CsComputerFailOver -ComputerName <Server FQDN>
https://docs.microsoft.com/powershell/module/skype/invoke-cscomputerfailover

WARNING: Invoke-CsComputerFailOver failed.
WARNING: Detailed results can be found at
“C:\Users\Administrator.RECORE\AppData\Local\Temp\2\Invoke-CsComputerFailOver-59928429-ed4f-4954-b5de-d69b11290780.html“.
Invoke-CsComputerFailOver : Command execution failed: Insufficient number of computers (only 2 nodes would remain active) to maintain the minimum number of redundant data copies (replicas) if this computer is failed over.
At line:1 char:1
+ Invoke-CsComputerFailOver -ComputerName sfbfe03.recore.lab
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Invoke-CsComputerFailOver], InvalidOperationException
+ FullyQualifiedErrorId : ProcessingFailed,Microsoft.Rtc.Management.HADR.ComputerFailover.InvokeComputerFailOverCmdlet

This was curious since this Skype for Business Enterprise Pool has three Front End Servers, all servers were up and running and fail over one server shouldn’t cause quorum loss:

We also checked the Pool Fabric State and we didn’t had any errors/warnings:

Get-CsPoolFabricState

After some troubleshooting, we found out that this SfB Enterprise Pool previously had 4 Front End servers. When the 4th Front End server was removed the Reset Pool step was skipped while publishing the Topology:

Since we already tried multiple steps, including rebooting the servers, we decided to manually execute the Pool Reset:

Reset-CsPoolRegistrarState -PoolFqdn <Pool FQDN> -ResetType FullReset

After the Pool Reset, we waited for the Routing Groups placement and then we were able to fail over the Front End Server:

Invoke-CsComputerFailOver -ComputerName <Server FQDN>

If we look into the process to add/remove Front End Server to a Enterprise Pool, it mentions that the Reset-CsPoolRegistrarState -ResetType FullReset is required in the following scenarios:

  • 2 to any
  • Any to 2
  • 3 to any
  • Any to 3

The steps are described here:

Manage Front End Servers in Skype for Business Server
https://docs.microsoft.com/skypeforbusiness/manage/topology/manage-front-end-servers