J'essaie de provisionner automatiquement les machines virtuelles avec docker préinstallé.
Mon init.pp par défaut ressemble à:
class { 'apt':
always_apt_update => true,
}
package { [
#'build-essential',
#'vim',
#'curl',
#'zsh',
#'git-core',
#'htop',
#'wget',
#'linux-image-generic-lts-raring',
'python-software-properties'
#'lxc-docker'
]:
ensure => 'installed',
}
apt::ppa { 'ppa:dotcloud/lxc-docker':}
# refresh apt source
exec { "apt-update":
command => "/usr/bin/apt-get update && apt-get install lxc-docker --force-yes",
returns => 100
}
La dernière commande exec retourne (retour 100 est par défaut pour une mise à jour apt-get réussie je pense):
info: / Stage [main] // Apt :: Ppa [ppa: dotcloud / lxc-docker] / Exec [add-apt-repository-ppa: dotcloud / lxc-docker]: Planification de l'actualisation d'Exec [apt_update] notice: / Stage [main] / Apt :: Update / Exec [apt_update] / renvoie: exécuté avec succès remarque: / Stage [main] / Apt :: Update / Exec [apt_update]: 'Actualisation' déclenchée à partir de 1 événements
Cependant quand je ssh dans le docker de boîte n'est pas installé et fonctionnant apt-get install lxc-docker
je peux alors l'installer. Qu'est-ce que je fais mal? Je n'arrive pas à le faire fonctionner avec une multitude de configurations différentes.
Exec['apt_update']
sur vos packages installés à partir d'un PPA. Exiger le PPA avant le package n'impose pas la relation entre l'Exec et le package.Et voici une réponse alternative idiomatique utilisant
require
:la source