Você não instruiu o Puppet a instalar um pacote.
file { '...': require => Package['...'] }
não resultará na instalação do pacote. Apenas cria um relacionamento entre um recurso file
e o nome package
.
package { 'bash-completion': ensure => 'installed' }
fará o que você precisa. O require
metaparameter funcionará então.