I´m using BTDF v5.7 to deploy a BizTalk solution to BizTalk Server 2016. When deploying to our DEV environment (only one server) all goes well, but when we try to deploy to INT (two servers) it breaks on the second server (the one which have the "last server" flag set to true).
Checking logs I found this:
Target BounceAllBizTalkHosts:
Host list (BizTalkHosts ItemGroup) not customized.
Host instance ClusterdHost has cluster type Clustered.
Querying localhost to request active cluster node...
C:\Program Files (x86)\...\BizTalkDeploymentFramework.targets(1234,5): error : Invalid namespace
C:\Program Files (x86)\...\BizTalkDeploymentFramework.targets(1234,5): error : at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
C:\Program Files (x86)\...\BizTalkDeploymentFramework.targets(1234,5): error : at System.Management.ManagementScope.InitializeGuts(Object o)
C:\Program Files (x86)\...\BizTalkDeploymentFramework.targets(1234,5): error : at System.Management.ManagementScope.Initialize()
C:\Program Files (x86)\...\BizTalkDeploymentFramework.targets(1234,5): error : at System.Management.ManagementObjectSearcher.Initialize()
C:\Program Files (x86)\...\BizTalkDeploymentFramework.targets(1234,5): error : at System.Management.ManagementObjectSearcher.Get()
C:\Program Files (x86)\...\BizTalkDeploymentFramework.targets(1234,5): error : at DeploymentFramework.BuildTasks.ControlBizTalkHostInstance.GetActiveClusterNodeName()
C:\Program Files (x86)\...\BizTalkDeploymentFramework.targets(1234,5): error : at DeploymentFramework.BuildTasks.ControlBizTalkHostInstance.ControlHostInstances(String query)
C:\Program Files (x86)\...\BizTalkDeploymentFramework.targets(1234,5): error : at DeploymentFramework.BuildTasks.ControlBizTalkHostInstance.Execute()
Done building target "BounceAllBizTalkHosts" in project "Deployment.btdfproj" -- FAILED.
I did a small research on the BTDF sources and it seems that GetActiveClusterNodeName() method is trying to access to the MSCluster namespace through WMI. Apparently it breaks because it`s not able to find it (it makes sense since servers are not configured as a MS FailOver Cluster).
Any idea about why BTDF is detecting this node as a clustered one?
PS: If we force servers to not restart, adding:
<TargetName="BounceBizTalk"DependsOnTargets="SetWinVer"/>
to .btdfprj, the issue doesn't happen. But we need to do a restart after deployment to apply changes :(