如何在包含类时打破Puppet中的依赖循环
发布时间:2020-12-14 00:46:54 所属栏目:百科 来源:网络整理
导读:我有以下定义: class nginx::install{ ...}class nginx::service{ ...}class nginx::config{ ...}class nginx{ include nginx::install,nginx::service,nginx::config}class jenkins::nginx{ include nginx file{'/etc/nginx/sites-enabled/jenkins': sourc
我有以下定义:
class nginx::install{ ... } class nginx::service{ ... } class nginx::config{ ... } class nginx{ include nginx::install,nginx::service,nginx::config } class jenkins::nginx{ include nginx file{'/etc/nginx/sites-enabled/jenkins': source => ...,require => Class['nginx'],} } 但是当我运行它时,Puppet告诉我,我有一个循环: err: Could not apply complete catalog: Found 1 dependency cycle: (Class[Jenkins::Nginx] => File[/etc/nginx/sites-available/jenkins] => Class[Jenkins::Nginx]) Try the '--graph' option and opening the resulting '.dot' file in OmniGraffle or GraphViz jenkins :: nginx中对nginx的简单引用引用了它自己.我怎么告诉Puppet我依赖顶级nginx类呢? 我试图将我的依赖项更改为Class [‘:: nginx’](好像我在Ruby中),而Puppet现在告诉我它无法找到依赖项.
做了大量的测试,你的问题很有意思……
一段时间后发现这篇文章: 我同意海报这是一个错误,或者至少没有很好的设计,但如果你包含具有绝对范围的类(:: nginx),你可以设置一个需要它,如下所示: class jenkins::nginx{ include ::nginx file{'/etc/nginx/sites-enabled/jenkins': source => ...,require => Class['::nginx'],} } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |