Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default value for xSQLServerSetup.UpdateSource causes deployment error #16

Closed
Arturas-K opened this issue Dec 8, 2015 · 1 comment
Closed

Comments

@Arturas-K
Copy link
Contributor

Hi,

I think that current default value for xSQLServerSetup.UpdateSource of ".\Updates" is causing unexpected error even if xSQLServerSetup.UpdateEnabled = "False" is set.

I suggest that this parameter should be updated to default MU.
To reproduce this, you can download an iso image from MSDN subscription for SQL Server 2012 with SP3, if you extract contents and use it as your source.
Then use this Consiguration to install management tools:

Configuration DataTier
{
    Import-DscResource -Module xSQLServer

    # A Configuration expects at least one Node
    Node $AllNodes.NodeName
    {
        # Set DCM Settings for each Node 
        LocalConfigurationManager 
        { 
            RebootNodeIfNeeded = $True 
            ConfigurationMode = "ApplyOnly" 
        } 

        WindowsFeature "NET-Framework-Core"
        {
            Ensure = "Present"
            Name = "NET-Framework-Core"
        }

        xSqlServerSetup "SQLMT"
        {
            DependsOn = "[WindowsFeature]NET-Framework-Core"
            SourcePath = $Node.SourcePath
            SourceFolder = "SQLServer2012_Developer_with_SP3_x64"
            InstanceName = "NULL"
            Features = "SSMS,ADV_SSMS"
            SetupCredential = $Node.InstallerServiceAccount
            UpdateEnabled = "False"
            #UpdateSource = ""
        }
    } 
}

if this is run then you get very unfriendly error:

VERBOSE: [PLLWINMXMLDBINT]: LCM:  [ Start  Set      ]  [[xSQLServerSetup]SQLMT]
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Importing function 'NetUse'.
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Importing function 'ResolvePath'.
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Importing function 'StartWin32Process'.
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Importing function 'WaitForWin32ProcessEnd'
.
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Path: C:\Install\SQLServer2012_Developer_wi
th_SP3_x64\setup.exe
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Importing function 'NetUse'.
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Importing function 'ResolvePath'.
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Importing function 'StartWin32Process'.
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Importing function 'WaitForWin32ProcessEnd'
.
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Path: C:\Install\SQLServer2012_Developer_wi
th_SP3_x64\setup.exe
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Arguments: /Quiet="True" /IAcceptSQLServerL
icenseTerms="True" /Action="Install" /InstanceName="NULL" /UpdateEnabled="False" /UpdateSource=".\Updates" /Features="SSMS,
ADV_SSMS"
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Process matching path 'C:\Install\SQLServer
2012_Developer_with_SP3_x64\setup.exe' started in process ID 4892
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Importing function 'NetUse'.
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Importing function 'ResolvePath'.
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Importing function 'StartWin32Process'.
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Importing function 'WaitForWin32ProcessEnd'
.
VERBOSE: [PLLWINMXMLDBINT]:                            [[xSQLServerSetup]SQLMT] Path: C:\Install\SQLServer2012_Developer_wi
th_SP3_x64\setup.exe
VERBOSE: [PLLWINMXMLDBINT]: LCM:  [ End    Set      ]  [[xSQLServerSetup]SQLMT]  in 86.4380 seconds.
PowerShell DSC resource MSFT_xSQLServerSetup  failed to execute Set-TargetResource functionality with error message: 
Set-TargetResouce failed 
    + CategoryInfo          : InvalidOperation: (:) [], CimException
    + FullyQualifiedErrorId : ProviderOperationExecutionFailure
    + PSComputerName        : PLLWINMXMLDBINT.cig.local

The SendConfigurationApply function did not succeed.
    + CategoryInfo          : NotSpecified: (root/Microsoft/...gurationManager:String) [], CimException
    + FullyQualifiedErrorId : MI RESULT 1
    + PSComputerName        : PLLWINMXMLDBINT.cig.local

VERBOSE: Operation 'Invoke CimMethod' complete.
VERBOSE: Time taken for configuration job to complete is 90.163 seconds

To get actual error you need to dig into SQL Setup log on target machine:

Exception summary:
The following is an exception stack listing the exceptions in outermost to innermost order
Inner exceptions are being indented

Exception type: Microsoft.SqlServer.Chainer.Infrastructure.InputSettingValidationException
    Message: 
        The folder path, 'C:\Install\SQLServer2012_Developer_with_SP3_x64\Updates', for the UpdateSource parameter does not exist or access is denied. Specify a folder path that exists and can be accessed by SQL Server Setup.
    HResult : 0x84b40000
        FacilityCode : 1204 (4b4)
        ErrorCode : 0 (0000)
    Data: 
      SQL.Setup.FailureCategory = InputSettingValidationFailure
      DisableWatson = true
    Stack: 
        at Microsoft.SqlServer.Chainer.Infrastructure.InputSettingService.LogAllValidationErrorsAndThrowFirstOne(ValidationState vs)
        at Microsoft.SqlServer.Configuration.BootstrapExtension.ValidateChainerSettingAction.ExecuteAction(String actionId)
        at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream)
        at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(TextWriter statusStream, ISequencedAction actionToRun, ServiceContainer context)
    Inner exception type: Microsoft.SqlServer.Configuration.SmartSetupExtension.InvalidUpdateSourcePath
        Message: 
                The folder path, 'C:\Install\SQLServer2012_Developer_with_SP3_x64\Updates', for the UpdateSource parameter does not exist or access is denied. Specify a folder path that exists and can be accessed by SQL Server Setup.
        HResult : 0x85150001
                FacilityCode : 1301 (515)
                ErrorCode : 1 (0001)
        Data: 
          UpdateSource = C:\Install\SQLServer2012_Developer_with_SP3_x64\Updates
          WatsonData = Microsoft.SqlServer.Configuration.SmartSetupExtension.InvalidUpdateSourcePath@1

It looks that SQL Setup will check for updates folder even thou you specify not to use updates.
I think better option to have a default of MU instead of .\Updates which will result in better user experience.

Regards Arturas K.

NarineM added a commit that referenced this issue Jan 19, 2016
SQL 2008 support, Replication feature detection, xSQLNetwork resource (closes #6 and #16, partialy solves #14, fixes #7(2 and 3))
@Arturas-K
Copy link
Contributor Author

This is was fixed by #20

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant