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

scheduled_task : Restore the v1 type and v1 provider to the module, make v2 provider default for v1 tasks

    XMLWordPrintable

    Details

    • Template:
    • Acceptance Criteria:
      Hide
      • v1 type definition should ship in this module
      • v1 provider win32_taskscheduler should ship in this module, and should no longer be the default
      • v2 provider taskscheduler_api2 should be marked as the default provider
      • rudimentary testing of provider defaults should be added
      Show
      v1 type definition should ship in this module v1 provider win32_taskscheduler  should ship in this module, and should no longer be the default v2 provider taskscheduler_api2  should be marked as the default provider rudimentary testing of provider defaults should be added
    • Team:
      Windows
    • Sprint:
      Windows Kanban
    • QA Risk Assessment:
      Needs Assessment

      Description

      The scheduled_task module has thus far only shipped with a new provider, but not changed existing behavior / defaults for v1 tasks, whose type definition remains in core Puppet.

       

      Based on some discovery, it has been determined that Puppet will always try to load module code first (types and providers) and if a module satisfies a type / provider name, the code will be loaded / cached from the module only. This means that Puppet already has a system in place that allows for overriding core types and providers with module code in a way that the original code is never even parsed.

       

      This ends up being a critically important property for this module. This allows the existing type definition to be brought in from the Puppet core code, as well as the existing provider. Since the new provider has all the same functionality as the original provider, the old provider may then have defaultfor :operatingsystem => :windows removed, effectively neutralizing the old provider. That makes it straightforward to mark the new provider as the default and ignore the old provider when the module is present, which is the goal of this module.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              ethan Ethan Brown
              Reporter:
              ethan Ethan Brown
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Zendesk Support