Project

General

Profile

Actions

Refactor #6306

closed

Possible namespace collisions between libraries and proxy modules

Added by Dominic Cleal about 10 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Plugins
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

The modular smart proxy has modules named after the component being managed, but in the case of both Chef and Puppet, the proxy module filesystem namespace matches that of the Puppet and Chef gems. This is dangerous as it could create conflicts.

$ head modules/puppet/puppet.rb
require 'puppet/puppet_plugin'
module Proxy::Puppet; end

This is required as "puppet/puppet", and similarly we have things like "puppet/environment". The Puppet code/gem itself is in the same namespace, so we've been very lucky if none of the files we have in modules/*/*.rb match another in one of those projects.

They should probably move into a proxy/ subdirectory to match the namespace of the modules and classes they declare.


Related issues 1 (0 open1 closed)

Related to Smart Proxy - Refactor #4866: As a developer I'd like to break up smart-proxy into multiple componentsClosed03/26/2014Actions
Actions

Also available in: Atom PDF