dockerがプリインストールされたVMを自動的にプロビジョニングしようとしています。
私のデフォルトのinit.ppは次のようになります:
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
}
最後のexecコマンドが戻ります(成功したapt-get更新では、戻り値100がデフォルトです):
info:/ Stage [main] // Apt :: Ppa [ppa:dotcloud / lxc-docker] / Exec [add-apt-repository-ppa:dotcloud / lxc-docker]:Exec [apt_update]通知の更新のスケジュール通知:/ Stage [main] / Apt :: Update / Exec [apt_update] / returns:正常に実行されましたnotice:/ Stage [main] / Apt :: Update / Exec [apt_update]:1つのイベントから「更新」がトリガーされました
しかし、sockにBox dockerがインストールされておらず、実行されている場合apt-get install lxc-docker
は、それをインストールできます。何が悪いのですか?さまざまな構成で動作するようには思えません。
Exec['apt_update']
、PPAからインストールされたパッケージを要求する必要があります。パッケージの前にPPAを要求しても、Execとパッケージの間の関係は強制されません。