Конфликт файлов в Puppet между модулями

Я столкнулся с проблемой, которую, я уверен, можно легко исправить, но я не могу найти никаких ресурсов, которые бы правильно объясняли поведение. Я создаю новый модуль марионеток nginx для автоматизации развертывания сервера git.

Я использую стандартную установку 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"]
      }

Это приводит к появлению следующей ошибки при запуске модуля марионетки на моем агенте:

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 

It ' Насколько я понимаю, марионетка может удалять и заменять стандартные файлы конфигурации. Что я здесь ошибаюсь?

0
задан 23 August 2018 в 19:54
1 ответ

Согласно комментарию yoonix, я изменил свой модуль, чтобы удалить дублирование файлов и заставить его работать так, как я хочу.

0
ответ дан 5 December 2019 в 05:23

Теги

Похожие вопросы