In your situation I would set up a virtual machine on my laptop where I would 
merrily munge mail service at will. (Or a VM anywhere else for similar fun.) If 
you break something you can roll back to your known good snapshot and try again.

On Mon, Apr 23, 2012 at 06:10:59AM -0700, James Patterson wrote:
>    Thanks for your reply. I do not have reliable access to an internet
>    connection at the moment.
>     
>    Just to flesh out my problem a bit more: I need to update my sendmail
>    module, but want to test it first. I have two puppet environments (dev and
>    prod), but mail is critical in both. Ideally I would choose a single host
>    on which to test if my changes worked, then push it everywhere if
>    everything works.
>     
>    I tried your puppet apply command, but this failed (probably because I
>    only have the modules on the puppet master, and modulepath is empty).
>    Copying the puppet module to a specific host seems like I am going in the
>    wrong direction.
>     
>    I considered adding testing flag to my module, which would pull in
>    "module::testing" instead of "module", but this seems hacky and a
>    replacement for versioning (does puppet do module versioning?).
>     
>    So I suppose I am asking for a nicer way to do what you suggest, or am I
>    approaching this from the wrong direction?
>     
>    Thanks.
>     
>    --
>    James Patterson
>    [1]jamespatter...@operamail.com
>     
>     
>    On Thu, Apr 12, 2012, at 10:10 AM, Gary Larizza wrote:
> 
>      James,
>       
>      If the modules are in your modulepath and environments are defined in
>      puppet.conf, you can actually use puppet apply to declare classes from
>      the command line.  For example, if you just wanted to test the
>      nginx::config class you could run:  puppet apply -v -e 'include
>      nginx::config'   This (specifically the -e flag with the code you want
>      to pass in quotes) allows you to 'test' a specific class out-of-band
>      from your regular Puppet runs.  DO NOTE, HOWEVER, that 'test' in this
>      sense means that it will ACTUALLY DECLARE THE CLASS AND PERFORM THE
>      ACTION!  If this is not what you want, you'll still need to add the
>      --noop flag to SIMULATE the code.  You can also create individual files
>      in your modules 'tests' directory and declare them with puppet apply too
>      (if you need more than just one line to test your code - a la Defined
>      Resource Types).  Note that you can ALSO pass the environment from the
>      command line with '--environment test'.
>       
>      Does this help?
>       
>      On Thu, Apr 12, 2012 at 7:00 AM, James Patterson
>      <[2]jamespatter...@operamail.com> wrote:
> 
>        Hello,
> 
>        I have a production puppet environment that is working well.
> 
>        Now more people are developing modules for it we are using a test
>        environment using environment=test in the puppet.conf file.
>        This prevents changes to modules in the production environment being
>        affected by changes in the test environment. So far so good.
> 
>        By module I mean class, in case it's the wrong class.
> 
>        1. I need to test a change to a single module on a production server,
>        without breaking all other production servers.
>        I could put this single production server into the test environment,
>        but
>        this has the danger of pulling in changes from other people's modules
>        as
>        well.
>        Should I create yet another environment to do this?
> 
>        2. Can I define certain modules as being taken from another
>        environment,
>        the "test" environment, for example?
> 
>        Thanks in advance,
> 
>        --
>         James Patterson
>         [3]jamespatter...@operamail.com
> 
>        --
>        [4]http://www.fastmail.fm - Same, same, but different...
> 
>        --
>        You received this message because you are subscribed to the Google
>        Groups "Puppet Users" group.
>        To post to this group, send email to [5]puppet-users@googlegroups.com.
>        To unsubscribe from this group, send email to
>        [6]puppet-users+unsubscr...@googlegroups.com.
>        For more options, visit this group at
>        [7]http://groups.google.com/group/puppet-users?hl=en.
>         
> 
>       
>      --
> 
>      Gary Larizza
>      Professional Services Engineer
>      Puppet Labs
> 
>       
> 
>      --
>      You received this message because you are subscribed to the Google
>      Groups "Puppet Users" group.
>      To post to this group, send email to puppet-users@googlegroups.com.
>      To unsubscribe from this group, send email to
>      puppet-users+unsubscr...@googlegroups.com.
>      For more options, visit this group at
>      http://groups.google.com/group/puppet-users?hl=en.
> 
>     
> 
>  --
>  http://www.fastmail.fm - Send your email first class
> 
>    --
>    You received this message because you are subscribed to the Google Groups
>    "Puppet Users" group.
>    To post to this group, send email to puppet-users@googlegroups.com.
>    To unsubscribe from this group, send email to
>    puppet-users+unsubscr...@googlegroups.com.
>    For more options, visit this group at
>    http://groups.google.com/group/puppet-users?hl=en.
> 
> References
> 
>    Visible links
>    1. mailto:jamespatter...@operamail.com
>    2. mailto:jamespatter...@operamail.com
>    3. mailto:jamespatter...@operamail.com
>    4. http://www.fastmail.fm/
>    5. mailto:puppet-users@googlegroups.com
>    6. mailto:puppet-users%2bunsubscr...@googlegroups.com
>    7. http://groups.google.com/group/puppet-users?hl=en

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to