Puppet のモジュール間のファイル競合

Puppet のモジュール間のファイル競合

簡単に修正できると確信している問題に遭遇しましたが、動作を正しく説明するリソースが見つからないようです。Git サーバーの展開を自動化するための新しい nginx puppet モジュールを構築しています。

標準の nginx セットアップを使用しており、ngnix.conf ファイルを置き換えようとしています。

基本クラスを呼び出して、セットアップに必要な構成ファイルを配置する前に、ファイルが存在しないことを要求します。

      class { 'nginx': }

      $nginx_default_files_to_remove = 
       [ 
       "/etc/nginx/conf.d/default.conf",
       "/etc/nginx/default.d/php.conf", 
       "/etc/nginx/nginx.conf" 
       ]

      file { [ $nginx_default_files_to_remove ]: 
      ensure => 'absent', 
      require => Class["nginx"]
      }

これにより、エージェントで Puppet モジュールを実行すると、次のエラーが生成されます。

Error 400 on SERVER: Duplicate declaration: File[/etc/nginx/nginx.conf] is 
already declared in file /etc/puppet/modules/nginx/manifests/config.pp:331; 
cannot redeclare at /etc/puppet/modules/sf_nginx/manifests/git.pp:18 

私の理解では、puppet には標準設定ファイルを削除および置換する機能があります。どこが間違っているのでしょうか?

答え1

yoonix さんのコメントに従って、ファイルの重複を削除し、希望どおりに動作するようにモジュールを修正しました。

関連情報