Re: [Puppet-dev] Docker module and new upstream repos

2015-08-14 Thread Gareth Rushgrove
On 13 August 2015 at 00:08, Pete Brown p...@abstractit.com.au wrote:
 How is this progressing?

 Do you need some help testing?


I've still a few things to finish off but you can try it out from:

https://github.com/garethr/garethr-docker/pull/311

I'm just finishing adding support for Debian as well, once that lands
I'll release a 5.0 version of the garethr/docker module - I'd hope in
a bit over a week.

Cheers

Gareth

 On 28 July 2015 at 10:04, Joshua hoblitt j...@hoblitt.com wrote:
 On 07/26/2015 09:31 AM, Gareth Rushgrove wrote:

 *  Previously the module defaulted to upstream docker packages for
 Ubuntu, and used distro packages for everything else (because they
 didn't exist). I'm proposing to change this, so everything by default
 uses the upstream. And to document how you can use your distro of
 choices version. Any reason why that's not the best option?


 I think it should be consistent as possible between platforms of either
 using upstream packages or distro provided.  For fast moving software or
 packages which the distro intentionally doesn't update (apache on EL6...),
 upstream is usually what the user wants.  In fairness, most of the distros
 have been pretty agressively upgrading docker versions but I expect that
 will slow down as interations with other vendored packages start to
 accumulate.

 -Josh

 --

 --
 You received this message because you are subscribed to the Google Groups
 Puppet Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to puppet-dev+unsubscr...@googlegroups.com.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/puppet-dev/55B6C6F6.9090509%40hoblitt.com.

 For more options, visit https://groups.google.com/d/optout.



 --
 --
 Pete Brown
 Director and Primary Infrastructure Developer
 Abstract IT Pty Ltd.

 LinkedIn: https://au.linkedin.com/in/rendhalver
 GitHub: https://github.com/rendhalver

 --
 You received this message because you are subscribed to the Google Groups 
 Puppet Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to puppet-dev+unsubscr...@googlegroups.com.
 To view this discussion on the web visit 
 https://groups.google.com/d/msgid/puppet-dev/CAM8R_x8ngBZv_fLVa%2B4f6M-KN0n%2B3SZKkegBrfdDDyrsk3k4bg%40mail.gmail.com.
 For more options, visit https://groups.google.com/d/optout.



-- 
Gareth Rushgrove
@garethr

devopsweekly.com
morethanseven.net
garethrushgrove.com

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/CAFi_6y%2BEtW69HzDmiui5e2XMqarFEGGXvVT-NT3bDyMDENgjMg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet-dev] Re: Thoughts on Module Namespace Conflicts

2015-08-14 Thread Spencer Krum
I'll resurrect this old thread to give an update. We landed a function
in stdlib to do some of what I discussed in my last post, by inspecting
module metadata directly.

The function:
https://github.com/puppetlabs/puppetlabs-stdlib#load_module_metadata
A blog post I wrote about some possible uses:
http://scienceofficersblog.blogspot.com/2015/08/inspecting-puppet-module-metadata.html

-- 
  Spencer Krum
  n...@spencerkrum.com

On Mon, Feb 23, 2015, at 03:32 PM, Spencer Krum wrote:
 The use case I think for having multiple modules of the same name
 available is quite limited. I don't think anyone would claim best
 practice if they had two apache modules in their modulepath.
 
 I also think there is another component which is versioning. Right now
 there is no system for a profile module to know what version of e.g.
 rabbitmq is installed. This means it just assumes one and fails if the
 rabbitmq class takes different parameters now. One terrible workaround
 for this is for classes to accept a 'rabbitmq_module_version' parameter
 and then switch on it inside the class. This workaround is actually
 used.
 
 So I think as long as we're discussing how to make module owner
 detectable, requireable, whatever, that we should involve versioning as
 well, because bumping minor or major versions of utility modules like
 postgres, mysql, rabbitmq happens a lot.
 
 One case that actually happens where there is a want for two different
 modules by the same name, is when an organization is migrating. An org
 that is moving from example42-apache to puppetlabs-apache isn't gonna
 want to have a flag day where everything is broken. They don't really
 want to play move hosts one by one out of an environment into a testing
 environment then into a 'done' environment. This is where being able to
 have two modules of the same name could be really useful.
 
 Erik proposed allowing modules to specify an interface, then other
 modules could implement that interface. I don't think that is a likely
 outcome. I think when we have two modules that both manage 'apache' the
 only reason one hasn't totally taken over the other is because they have
 different underlying ideas about how to manage apache. I.e. what the
 inputs are and what the scope of the outputs are.
 
 We on the openstack infrastructure team have even gone so far as to fork
 an old version of the apache module to openstackinfra-httpd. This is
 0.0.4 of the pl-apache module and takes wildly different inputs. There
 are three reasons for the fork. One, this module takes a template, fills
 it out, and dumps it in a vhost. Clean and simple. The way we think it
 should be. Two, now that we have forked we can update the codebase,
 clean it up, and fix bugs. Three, with the module now living as 'httpd'
 in our module path, we, or others consuming our infra, can use a modern
 version of the apache module for whatever they need.
 
 
 As a final thought. One way to deal with this problem is to socialize
 the requirement of a new metadata file (yay) called something like
 manifests/properties.pp. This file would have all the data in
 metadata.json. But since it is readable by puppet we could end up with
 code that looks like this in our profiles:
 
 class profile () {
 
case $::apache::properties::author {
   'puppetlabs': {
  // do some apache stuff the puppetlabs way
   }
   'example42': {
  // do some apache stuff the example42 way
   }
   'default': { fail(please stop writing your own apache module) }
 }
 
 }
 
 And the technique for handling multiple versions of the same module is
 basically exactly the same. The cool part of this is that it requires no
 code changes to puppet core. The bad part is we'd have to socialize it
 and thats really hard.
 
 
 -- 
   Spencer Krum
   n...@spencerkrum.com
 
 On Fri, Feb 20, 2015, at 04:34 PM, Henrik Lindberg wrote:
  On 2015-20-02 20:51, Wil Cooley wrote:
   In some ways, this is a lot like environments, but unlike environments,
   which are unique at the node-level, these allow the use of multiple
   module-sets and are scoping for entities at the manifest-level. As I
   understand environments, they can (and probably usually should) be
   relatively isolated from each other; the purpose of namespaced
   module-sets is to allow addressing without isolation. Maybe this is what
   Henrik's last message in this thread is getting at when he says:
  
   I have claimed on many occasions that an environment is just like a
   module (with higher privileges / precedence). The set of available
   modules should be more of a repository kind of thing that the loader
   resolves modules from.
  
  I meant that an environment can be seen as a module. Instead of having a 
  modulepath, it should list all the modules that it requires (those 
  modules in turn can require other modules). When a module is needed it 
  should be resolved against a repository of modules. Such a repository 
  

Re: [Puppet-dev] Re: 'application' is now a reserved word? wtf

2015-08-14 Thread Miguel Di Ciurcio Filho
On Thu, Aug 13, 2015 at 9:02 PM, Ryan Coleman r...@puppetlabs.com wrote:
 As for the reason, we’re spending some time thinking about how to model
 multi-node configurations. Though we’re a couple of months away from
 concrete details, we know enough to begin to signal the reservation of new
 keywords. A few of the ideas have been expressed by Luke Kanies in PRFC-6
 and David Lutterkort in a talk he gave at CfgMgmtCamp’15.

I've just read the PRFC-6 and read the slides. By these new reserved
words and what the RFC says, if I've connected the dots correctly, my
mind is blown.

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/CAK6Ystmp__7yV_GLTO40teAsquxxNmEWPSkF8vQSK0O0zKcBYQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.