I\'m trying to create puppet module which automates installation of zend server CE, this is not important here, but steps are as following
I prefer to put apt-upgrade into a separate stage running before the main stage, so I don't have to hard-wire any dependencies. Check here: http://docs.puppetlabs.com/puppet/2.7/reference/lang_run_stages.html.
A simple example would look like below. It implies you have a separate class for doing the actual apt-update:
stage { "init": before => Stage["main"] }
class {"apt-update":
stage => init,
apt_mirror => $apt_mirror
}
Check my sample LAMPP-box on github to see how the pieces fit together: https://github.com/joerx/vagrant-lampp
Note: be careful with apt-upgrade, as some base boxes break by things like kernel upgrades.