Uploaded image for project: 'MCollective'
  1. MCollective
  2. MCO-800

Replace win32-service gem usage within MCO

    Details

    • Type: Task
    • Status: Closed
    • Priority: Normal
    • Resolution: Won't Do
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      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

              jsd-sla-details-panel

                People

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

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Zendesk Support