﻿<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<assembly
    xmlns="urn:schemas-microsoft-com:asm.v3"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    manifestVersion="1.0"
    >
  <assemblyIdentity
    language="neutral"
    name="Microsoft-Windows-FailoverCluster-ClusSvc"
    processorArchitecture="*"
    version="0.0.0.0"
    />
  <migration 
    settingsVersion="1"
    replacementSettingsVersionRange="0"
    >
    <migXml xmlns="">
      <plugin
        classId="{1DD18137-A940-4978-9CC0-5AEA06C83C9A}"
        file="Microsoft-Windows-ClusterUpgradePlugin\ClusterUpgradePlugin.dll"
        offlineApply="No"
        offlineGather="No"
        />
    </migXml>
    <machineSpecific>
      <migXml xmlns="">
        <rules context="System">
          <include>
            <objectSet>
              <!-- Migrate cluster database on in-place migrations (Longhorn build-to-build) -->
              <pattern type="File">%systemroot%\cluster [clusdb*]</pattern>
              <!-- Migrate cluster service state on in-place migrations -->
              <pattern type="Registry">HKLM\System\CurrentControlSet\Services\ClusSvc [Start]</pattern>
              <pattern type="Registry">HKLM\System\CurrentControlSet\Services\ClusSvc [FailureActions]</pattern>
              <pattern type="Registry">HKLM\System\CurrentControlSet\Services\ClusSvc [FailureActionsOnNonCrashFailures]</pattern>
              <!-- Migrate cluster service parameters subkey on in-place migrations -->
              <pattern type="Registry">HKLM\System\CurrentControlSet\Services\ClusSvc\Parameters\* [*]</pattern>
              <!-- Migrate cluster IkeExt parameter on in-place migrations -->
              <pattern type="Registry">HKLM\System\CurrentControlSet\Services\IkeExt\Parameters [NLBSFlags]</pattern>
              <pattern type="Registry">HKLM\System\CurrentControlSet\Services\IkeExt\Parameters [FailoverClusterRestoreNLBSFlags]</pattern>
            </objectSet>
          </include>
          <!-- SourcePriority to pull from runtime state of source -->
          <merge script="MigXmlHelper.SourcePriority()">
            <objectSet>
              <pattern type="Registry">HKLM\System\CurrentControlSet\Services\ClusSvc\* [*]</pattern>
            </objectSet>
          </merge>
        </rules>
      </migXml>
    </machineSpecific>
  </migration>
</assembly>
