I'm stupidly new to puppet and have taken over someone's "in-progress-to-be-completed" implementation of puppet. I'm trying to see how I can run apt-get update before any package installs. I've googled around found some articles but they don't seem to work (or rather I most likely don't understand them).

The situation I have is:

Contains our sites
/etc/puppet/manifests/sites.pp
==============================
import "classes/*"
import "common"

node "TestBaseServer" {
        include ssh_keys
        include puppet
        include test_apt
        include base_software
        include profile
        include core_servers_software
        include admin_tools
        include core_servers_config
        include build_servers_software
        include exim
}

The basic list of packages to be installed
/etc/puppet/manifest/classes/base_software
==========================================
class base_software {
        Package {
                require => [Class['test_apt'],Class['apt::update']]
        }
        package { "debian-keyring": ensure => latest }
        package { "vim": ensure => latest }
        package { "ethtool": ensure => latest }
        package { "tcpdump": ensure => latest }
        package { "rsync": ensure => latest }
}

The class I have create.
/etc/puppet/modules/apt/manifests/update.pp
============================================
define apt::update {
        exec {'/usr/bin/apt-get update':}
}


root@zvsv02:~# puppetd --test --noop
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could n ot find class apt::update at /etc/puppet/manifests/classes/base_software:6 on no
de zvsv02.opus.co.nz

So what I'm not sure about the current system is while I have defined the class in /etc/puppet/module/apt/manifests, the file that is trying to use the defined class is in /etc/puppet/manifests/classes

I'm not really sure exactly how this is supposed to work. If I'm reading the documentaton right, then everything in the modules should be self contained, so I'm guessing calling apt::update from /etc/puppet/manifests/classes while the class sits in /etc/puppet/modules/apt won't work? I can replace the line: [Class['test_apt'],Class['apt::update']]
With:[Class['test_apt'],Class['apt']] and it finds the 'apt' class fine.

I'm confused.

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

Reply via email to