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

SPSideBySideSettings: New resource for enabling ZDP with DSC in SP 2016 and 2019 #1097

Open
andikrueger opened this issue Jul 18, 2019 · 5 comments
Labels
discussion The issue is a discussion.

Comments

@andikrueger
Copy link
Contributor

andikrueger commented Jul 18, 2019

Following up on #1096 about ZDP there would be the need to create a new resource to handle Side-by-Side in this scenario. The new resource could look like this:

Enabling SideBySide could look like this and would set the SideBySide token to the current patch level.

SPZeroDownTimePatching EnableSideBySide {
    SideBySide = Enable
}

After the patching is done...
Setting SideBySideToken to the new Farm Version could look like this:

SPZeroDownTimePatching EnableSideBySide {
    SideBySide = Upgrade
}

All information needed to set the web application property WebSerivce.SideBySideToken can be obtained within this resource, by querying the farm or using a part of the new methods introduced with the refactoring of SPProductUpdate

Maybe there should be an option available to disable SideBySide - but this is not necessarily a key feature we should implement.

Edit: The resource needs to have a key that can be only two values. This would make it possible to use this resource in a given configuration twice.

@ykuijs
Copy link
Member

ykuijs commented Jul 18, 2019

See my comment in the other issue. I don't think this resource is needed, since the two examples will be in constant conflict and the server will never be in a compliant state.

@ykuijs ykuijs added the discussion The issue is a discussion. label Jul 18, 2019
@andikrueger
Copy link
Contributor Author

I think, there is a chance to resolve this potential conflict.

Both examples need to return true (test-method) for the following case:

Local Version obtained from the SPProductUpdate Method equals the Farm Version and SideBySide is enabled and the SideBySideToken equals the Farm Version

False for

  • first example:
    — SideBySide is not enabled
    — Version mismatch

  • second example:
    — SideBySide is not enabled
    — Version mismatch

Basically both would return the same status - the set method would differ though. I’m “Enable” the set method would pass the current Version to SharePoint. In “Upgrade” it would set the installed Version.

@mrpullen
Copy link
Contributor

mrpullen commented Sep 16, 2019

wouldn't this work?

SPZeroDownTimePatching EnableSideBySideCurrentVersion {
    MinimumVersion = "16.0.4888.1000" 
    Enabled = "Present"
}

... handle cross node dependencies / order
SPProductUpdate LatestPatch {}
... wait for all product updates to complete / cross node dependencies / ordering.
SPConfigWizard ConfigWizard {}
... handle any reboot requirements / ensure another WFE is available to serve requests.

SPZeroDownTimePatching EnableSideBySideLatestVersion {
    MinimumVersion = "16.0.4900.1000" 
    Enabled = "Present"
}
  1. Enabled would control your sideBySide being enabled or disabled.
  2. MinimumVersion would handle version matching by the following rule

The idea would be if the Test-Resource would return true if local version on a specific node was equal to or greater than the version specified. Could also just include a "Version" tag to force set to a specific version (perhaps as part of an install scriptj).

@ykuijs
Copy link
Member

ykuijs commented Sep 19, 2019

The suggestion for the SPZeroDownTimePatching resource would work indeed. The MinimumVersion needs to be Key parameter in this case. And out of interest, what would the Enabled parameter do in this case?

@andikrueger
Copy link
Contributor Author

Using the parameter MinimumVersion to handle the potential conflict of my suggestions is a very good idea.

@ykuijs For my understanding the parameter Enabled will control the SideBySide Setting of the web application: https://docs.microsoft.com/en-us/previous-versions/office/sharepoint-server/dn778174(v=office.15)?redirectedfrom=MSDN

@andikrueger andikrueger changed the title SPZeroDownTimePatching: New resource for enabling ZDP with DSC in SP 2016 and 2019 SPSideBySideSettings: New resource for enabling ZDP with DSC in SP 2016 and 2019 Nov 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion The issue is a discussion.
Projects
None yet
Development

No branches or pull requests

3 participants