Uploaded image for project: 'Modules'
  1. Modules
  2. MODULES-5847

DSC_lite: Document tradeoffs between generic DSC and current DSC

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Resolved
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Template:
    • Epic Link:
    • Team:
      Windows
    • Sprint:
      Windows Kanban
    • QA Risk Assessment:
      Needs Assessment

      Description

      This work should impact DSC_Lite README

      Existing DSC type wrappers

      • For Microsoft released / community resources requires Puppet to issue new modules with new vendored content
      • For custom resources, requires following a separate build procedure involving Ruby tooling and releasing custom module internally (does allow for unnecessary resources to be stripped from custom module)
      • Type wrappers are specifically versioned with their corresponding DSC resource counterparts - no possibility for a manifest definition to mismatch against the actual DSC resource. All content vendored together makes initial consumption model for users simple.
      • Module is fairly heavyweight for pluginsync, especially given it will generally be synced to Linux hosts where it cannot run
      • No puppet resource support
      • No property by property reporting - DSC doesn't differentiate between properties and parameters like Puppet does, which makes it difficult
      • Type wrappers provide up-front parse-time validation based on MOF schemas, so no need to call into DSC runtime to verify type checks (i.e. string, int, etc)
      • No ability to support PowerShell class based resources currently
      • No ability to support composite resources
      • PE console reporting specificies individual resource types / provides grouping and filtering over them

      New DSC_lite generic wrapper

      • No parse-time validation performed by Puppet - must defer validation until runtime when DSC resources are executed
      • Consume any resource that is available on the host - no need to use vendored content
      • Can use Puppet more granularly to distribute DSC resources if desired
      • Can use multiple versions of same resource easily on a resource-by-resource basis
      • Console reporting only shows dsc, and not any specific dsc resource types - work to investigate this further in MODULES-5970
      • The dsc resource properties hash is conceptually more similar to PowerShell DSC resource definition - there are also no dsc_ prefixes necessary for DSC properties
      • Extremely lightweight module given it vendors no content - includes approximately 10 files

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              michael.lombardi Michael Lombardi
              Reporter:
              erick Erick Banks
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Zendesk Support