6

https://github.com/dwerder/puppet-mongodbに puppet モジュールをインストールしようとしています

それが機能するための要件の 1 つは、mongodb リポジトリをセットアップすることです。Debian にデプロイしようとしているので、次のクラスを使用してソースを追加してみました。

class mongodb::apt::repo {
  include apt

  apt::source { '10gen':
    location   => 'http://downloads-distro.mongodb.org/repo/debian-sysvinit',
    release     => 'dist',
    repos       => '10gen',
    key         => '7F0CEB10',
    key_server  => 'keyserver.ubuntu.com',
    include_src => false
  }
}

ただし、モジュールを (テスト ノードに) インストールしようとすると、次の出力が得られます。

root@debian:/etc/puppet/modules# puppet agent --test
info: Caching catalog for debian.lan
info: Applying configuration version '1353946258'
err: Could not apply complete catalog: Found 1 dependency cycle:
(Exec[apt_update] => Class[Apt::Update] => Anchor[apt::source::10gen] => Anchor[apt::source::10gen] => Apt::Source[10gen] => Class[Mongodb::Apt::Repo] => Package[mongodb-10gen] => Anchor[mongodb::install::end] => Anchor[mongodb::install::end] => File[10gen.list] => Apt::Source[10gen])
Try the '--graph' option and opening the resulting '.dot' file in OmniGraffle or GraphViz

注意: 0.06 秒でカタログの実行が終了しました

このクラスは、 https://github.com/dwerder/puppet-mongodb/blob/master/manifests/install.ppのモジュールのインストール クラスに含まれています。

なぜこの依存関係のサイクルが発生するのかよくわかりませんが、アイデアはありますか?

4

1 に答える 1

0

最後に変更したのは何ですか (おそらく、サイクルを追加した瞬間です)。

グラフを生成するための提案を試してください。さらに調査できるように、生成されたドット ファイルを gist として投稿します。

Debugging cycle or missing dependencyを見てください。

一部の依存関係は明示的 (require、->) または暗黙的 (リソース プロバイダーが依存関係を自動的に追加する) であることに注意してください。ドット ファイルを確認すると役立つはずです。

于 2013-11-29T16:17:57.997 に答える