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


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:
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:ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/>
debug: Fetching INDEX: #<URI::FTP:0x298684e4
URL:ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/INDEX.bz2>
err:
/Stage[main]//Node[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 https://groups.google.com/d/msg/puppet-users/-/Bzhfr9UMSNEJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.

Search Discussions

  • Darryl Wisneski at Apr 23, 2012 at 1:54 pm
    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:
    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:ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/>
    debug: Fetching INDEX: #<URI::FTP:0x298684e4
    URL:ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/INDEX.bz2>
    err:
    /Stage[main]//Node[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 https://groups.google.com/d/msg/puppet-users/-/Bzhfr9UMSNEJ.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at 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+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Jamie Scott at Apr 23, 2012 at 2:08 pm
    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:
    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:ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/
    debug: Fetching INDEX: #<URI::FTP:0x298684e4
    URL:
    ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/INDEX.bz2
    err:
    /Stage[main]//Node[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
    https://groups.google.com/d/msg/puppet-users/-/Bzhfr9UMSNEJ.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to
    puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at
    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 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+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Darryl Wisneski at Apr 23, 2012 at 2:21 pm

    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 }
    How have you been handling the differences between centos/rhel and
    fbsd? If statements? I am going the other way where I have manifests
    written mostly for fbsd and now will add rhel/debian specific stuff.

    Augeas has been a great help mangling text files. The devs on IRC
    #augeas are helpful too.

    Regards,
    -dkw
    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:
    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:ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/
    debug: Fetching INDEX: #<URI::FTP:0x298684e4
    URL:
    ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/INDEX.bz2
    err:
    /Stage[main]//Node[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
    https://groups.google.com/d/msg/puppet-users/-/Bzhfr9UMSNEJ.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to
    puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at
    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 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+unsubscribe@googlegroups.com.
    For more options, visit this group at 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+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Jamie Scott at Apr 23, 2012 at 3:31 pm

    How have you been handling the differences between centos/rhel and
    fbsd? If statements? I am going the other way where I have manifests
    written mostly for fbsd and now will add rhel/debian specific stuff.
    A lot of it is hack and slash with modules for the net, we've been adding
    in the operatingsystem variable for path and package names where needed.
    I've come into a company that uses puppet and I only started using it 4
    weeks ago, hoping to make a lot of improvements as time goes on.

    We've used augeas a lot for our my.cnf files and it's proved very useful!

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/13nRwlHHzWYJ.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Christopher Wood at Apr 23, 2012 at 2:42 pm
    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+unsubscribe@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+unsubscribe@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%2Bunsubscribe@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+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Darryl Wisneski at Apr 23, 2012 at 3:22 pm

    On Mon, Apr 23, 2012 at 10:42:53AM -0400, Christopher Wood wrote:
    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/',
    }
    }
    }

    That repository source statement is pretty powerful stuff and will
    help us out extremely here. Have you tried to get puppet to do
    make install? The outcome is probably too variable anyhow.

    That is pretty clear case syntax too. I have seen that on the
    puppetlabs site too.

    Here is some background on the freebsd provider giving the error:
    "not in required origin format: .*/<port_category>/<port_name>"

    http://www.mail-archive.com/puppet-dev@googlegroups.com/msg13765.html
    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.
    I have been OK specifying only the package and not half of the ports
    directory tree so far.
    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+unsubscribe@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+unsubscribe@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%2Bunsubscribe@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+unsubscribe@googlegroups.com.
    For more options, visit this group at 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+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Christopher Wood at Apr 23, 2012 at 3:28 pm
    (inline)
    On Mon, Apr 23, 2012 at 03:22:37PM +0000, Darryl Wisneski wrote:
    On Mon, Apr 23, 2012 at 10:42:53AM -0400, Christopher Wood wrote:
    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/',
    }
    }
    }

    That repository source statement is pretty powerful stuff and will
    help us out extremely here. Have you tried to get puppet to do
    make install? The outcome is probably too variable anyhow.
    I've never tried this, but in my environment I wouldn't want the divergence. I also need to shorten maintenance windows, so I can't wait for the compilation to finish on a production machine.
    That is pretty clear case syntax too. I have seen that on the
    puppetlabs site too.

    Here is some background on the freebsd provider giving the error:
    "not in required origin format: .*/<port_category>/<port_name>"

    http://www.mail-archive.com/puppet-dev@googlegroups.com/msg13765.html
    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.
    I have been OK specifying only the package and not half of the ports
    directory tree so far.
    Now I'm really wondering how I managed that.
    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+unsubscribe@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+unsubscribe@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%2Bunsubscribe@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+unsubscribe@googlegroups.com.
    For more options, visit this group at 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+unsubscribe@googlegroups.com.
    For more options, visit this group at 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+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Jamie Scott at Apr 24, 2012 at 2:34 pm
    Have you had any luck with puppeting mysql51-server or mysql55-server ?
    Everything I've read suggests the $operatingsystem won't work for name on
    packages and the application tries to keep installing as posted here:
    https://groups.google.com/forum/?fromgroups#!topic/puppet-users/Yc1Et5dSAHM

    Couldn't see a solution there....

    The agent is running 2.7.6

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

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppuppet-users @
categoriespuppet
postedApr 23, '12 at 1:32p
activeApr 24, '12 at 2:34p
posts9
users3
websitepuppetlabs.com

People

Translate

site design / logo © 2022 Grokbase