Uploaded image for project: 'MCollective (moved to puppet.atlassian.net)'
  1. MCollective (moved to puppet.atlassian.net)
  2. MCO-800

Replace win32-service gem usage within MCO

    XMLWordPrintable

Details

    • Task
    • Status: Closed
    • Normal
    • Resolution: Won't Do
    • None
    • None
    • None

    Description

      MCO uses the win32-service gem to manage its daemon code. The dependency on win32-service may make use of ANSI API calls, and for Puppet 5, the intent is to reduce any Windows specific gem dependencies as a part of the larger "Remove Windows Gems" epic.

      A grep for win32 reveals the following spots that may need modification within MCO.
      https://github.com/puppetlabs/marionette-collective/search?utf8=%E2%9C%93&q=win32&type=

      One thing that should be given consideration is whether or not to use FFI (which would introduce a new dependency) or to use Fiddle which is already built into Ruby and wraps the FFI that Ruby vendors. A cleaner approach for managing dependencies would be to use Fiddle, though the resulting code may be slightly more difficult to maintain. A fiddle based approach was used in Hiera - see HI-346 / https://github.com/puppetlabs/hiera/pull/393

      This ticket should involve replacing API calls internally where applicable, and PUP-5758 involves the mechanics of removing the gems from puppet-win32-ruby / puppet-agent packaging.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              geoff.nichols Geoff Nichols
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support