Breaking in late... I use some defaults to ensure I get binary packages out of 
my local mirror. (I'm not terribly fussed about binary-only packages, possibly 
because I come from a Linux background.)

case $::operatingsystem {
  freebsd: {
    # For this we still have to specify freebsd'ish names. Instead of
    # 'ntp', we have to use 'net/ntp'.
    Package {
      provider => 'freebsd',
      source => 'http://repos/pub/FreeBSD/ports/amd64/packages-9.0-release/',
    }
  }
}

Then as mentioned above:

package { 'net/ntp': }

I found that if I specified other styles of package names with the freebsd 
package provider they would be reinstalled with every puppet run.

For some modules I use the 'include "module::$operatingsystem"' syntax, for 
others I use a case statement. I'm still undecided which is better, but so far 
it depends how much systems diverge from each other on a per-module basis.


On Mon, Apr 23, 2012 at 07:08:48AM -0700, Jamie Scott wrote:
>    dkw, that worked!
> 
>    Now I only need to use: package { 'mytop': ensure => installed }
> 
>    I can't tell you how happy I am!
> 
>    Thank you!!!
>    Jamie
> 
>    On Monday, 23 April 2012 14:54:03 UTC+1, dkw wrote:
> 
>      Howdy:
> 
>      On Mon, Apr 23, 2012 at 06:29:38AM -0700, Jamie Scott wrote:
>      > Hello all,
>      >
>      > Wondering if any of you could help me.
>      >
>      > We've been using puppet on our CentOS servers for a while now with no
>      > problems at all, very much out of the box.... but we do have some
>      MySQL
>      > servers running FreeBSD (for the slightly better memory utilisation).
>      I've
>      > taken up the challenge to get these FreeBSD servers talking to our
>      puppet
>      > master but I'm having no ends of trouble with trying to get the
>      manifests
>      > working. Forgetting the operating system variables and just going for
>      a
>      > straight install of a package such as mytop this is what I have tried
>      in
>      > our manifest:
>      >
>      > This didn't seem to work at all:
>      >
>      >      package { 'mytop': ensure => installed }    
>      > >
>      >
>      >  Gave me this message on the server: *puppet-agent[3232]:
>      > (/Stage[main]/Node[###########]/Package[mytop]/ensure) change from
>      absent
>      > to present failed: mytop: not in required origin format:
>      > .*/<port_category>/<port_name>*
>      >
> 
>      To get rid of this error you have to build the puppet from ports
>      on the freebsd client host and uncheck the PACKAGE_ORIGIN option.
>      I don't pretend to understand why.
> 
>      cd /usr/ports/sysutils/puppet ; make install
> 
>      # cat /var/db/ports/puppet/options
>      # This file is auto-generated by 'make config'.
>      # No user-servicable parts inside!
>      # Options for puppet-2.7.12
>      _OPTIONS_READ=puppet-2.7.12
>      WITHOUT_MONGREL=true
>      WITHOUT_PACKAGE_ORIGIN=true
>      WITHOUT_PACKAGE_ROOT=true
> 
>      The below package stanza looks correct.
> 
>      -dkw
> 
>      >
>      > So instead I tried listing the full port name even with the provider:
>      >
>      >     package { '.*/databases/mytop':
>      > >             ensure => installed,
>      > >             provider => freebsd,
>      > >             }    
>      > >
>      >  
>      > Now it is giving me this message: *puppet-agent[3232]:
>      (/Stage[main]//Node[*
>      > *###########**]/Package[.*/databases/mytop]/ensure) change from absent
>      to
>      > present failed: Could not fetch ports INDEX: 500 Illegal PORT range
>      > rejected.*
>      >
>      > Even with specifiying a source:
>      > [1]ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/
>       I don't
>      > seem to be getting very far!
>      >
>      > Here is a print out of the debug log:
>      >
>      > debug: Puppet::Type::Package::ProviderFreebsd: Executing
>      > > '/usr/sbin/pkg_info -aoQ'
>      > > debug: Package: .*/databases/mytop: origin => {:port_name=>"mytop",
>      > > :port_category=>"databases"}
>      > > debug: Package: .*/databases/mytop: source => #<URI::FTP:0x29869038
>      > >
>      
> URL:[2]ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/>
>      > > debug: Fetching INDEX: #<URI::FTP:0x298684e4
>      > >
>      
> URL:[3]ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/INDEX.bz2>
>      > > err:
>      > >
>      
> /Stage[main]//Node[[4]boomer.sov.m-w.co.uk]/Package[.*/databases/mytop]/ensure:
>      > > change from absent to present failed: Could not fetch ports INDEX:
>      500
>      > > Illegal PORT range rejected.
>      > >
>      >
>      > Some odd behaviour I've noticed as well, when packages are already
>      > installed it doesn't seem to register as them being there.
>      >
>      > Looking for information about puppet on FreeBSD is like trying to find
>      a
>      > needle in a haystack. I hope someone can help, any input would be
>      > appreciated!
>      >
>      > --
>      > You received this message because you are subscribed to the Google
>      Groups "Puppet Users" group.
>      > To view this discussion on the web visit
>      [5]https://groups.google.com/d/msg/puppet-users/-/Bzhfr9UMSNEJ.
>      > To post to this group, send email to [6]puppet-users@googlegroups.com.
>      > To unsubscribe from this group, send email to
>      [7]puppet-users+unsubscr...@googlegroups.com.
>      > For more options, visit this group at
>      [8]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 view this discussion on the web visit
>    [9]https://groups.google.com/d/msg/puppet-users/-/IXZpcVO-beAJ.
>    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. ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/
>    2. ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/
>    3. 
> ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/INDEX.bz2
>    4. http://boomer.sov.m-w.co.uk/
>    5. https://groups.google.com/d/msg/puppet-users/-/Bzhfr9UMSNEJ
>    6. mailto:puppet-users@googlegroups.com
>    7. mailto:puppet-users%2bunsubscr...@googlegroups.com
>    8. http://groups.google.com/group/puppet-users?hl=en
>    9. https://groups.google.com/d/msg/puppet-users/-/IXZpcVO-beAJ

-- 
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