dsccommunity / dsccommunity/SqlServerDsc

SqlSetup: Test-method does not test if DBE or SSAS on the node is active in the cluster

Open
#463 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement help wanted
Dominant language
PowerShell
Stars
385
Forks
224
PR merge metrics
No merged PRs in 30d

Description

Details of the scenario you try and problem that is occurring:
When installing a failover cluster using action 'InstallFailoverCluster' or 'Addnode' the Test-method should verify that the node is actually is active in the cluster.

So maybe possible owner could be used for this. My thought is that, if the node is active (checked) on the cluster resource, then Test-method returns @true. If it is not checked (inactive), or the cluster resource name is missing in the cluster, then the Test-method returns $false.

Here I have removed SSAS from the node SQLTEST5. Now it only shows SQLTEST4 as a possible owner on the cluster resource.
image

The DSC configuration that is using the resource (as detailed as possible):

xSQLServerSetup $resourceConfigName
{
    Action = 'AddNode'
    ForceReboot = $false
    UpdateEnabled = 'False'
    SourcePath = '\\fileserver.company.local\images\SQL2014SP1-ENT'
    SourceCredential = $SqlInstallCredential
    SetupCredential = $SqlInstallCredential
    InstanceName = 'SQL2014' 
    Features = 'SQLENGINE,AS,SSMS,ADV_SSMS' # So we can verify components are installed, ignore as a setup argument when action i 'Addnode'.
    SQLSvcAccount = $SqlServiceCredential
    AgtSvcAccount = $SqlAgentServiceCredential
    ASSvcAccount = $SqlServiceCredential
    FailoverClusterNetworkName = 'TESTCLU01A'  # Needed to connect to the instance (regardless of the active node)
}

Version of the Operating System, SQL Server and PowerShell the DSC Target Node is running:
Windows Server 2012 R2, SQL Server 2014, WMF 5.0

Version of the DSC module you're using, or 'dev' if you're using current dev branch:
Dev

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the xSQLServerSetup resource's Test-method for InstallFailoverCluster and AddNode, using the shown FailoverClusterNetworkName and cluster resource possible-owner state as the scenario. Done means Test returns true only when the node is an active possible owner, and false when it is inactive or the cluster resource is missing.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell, sql
Domain
databases, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.