加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Puppet:找到1个依赖循环

发布时间:2020-12-14 04:51:21 所属栏目:百科 来源:网络整理
导读:我在应用我的Puppet清单时收到此错误: Error: Could not apply complete catalog: Found 1 dependency cycle:(Exec[pip install requirements] = File[change venv permissions] = File[enforce MinGW compiler] = Exec[pip install requirements])Try the
我在应用我的Puppet清单时收到此错误:

Error: Could not apply complete catalog: Found 1 dependency cycle:
(Exec[pip install requirements] => File[change venv permissions] => File[enforce MinGW compiler] => Exec[pip install requirements])
Try the '--graph' option and opening the resulting '.dot' file in OmniGraffle or GraphViz

这是我的Puppet清单(相关部分),我没有看到任何依赖循环.有任何想法吗?

exec {'create virtualenv':
    command => "$install_dir/Scripts/virtualenv.exe venv",cwd     => $project_dir,require => Exec['install virtualenv'],}

file { "fix Mingw32CCompiler":
    path    => "C:/Python27/Lib/distutils/cygwinccompiler.py",content => template($cygwinc_template),ensure  => present,require => Exec['create virtualenv'],}

file { "enforce MinGW compiler":
    path    => "$project_dir/venv/Lib/distutils/distutils.cfg",owner   => $user,content => $mingw,require => File['fix Mingw32CCompiler'],}

exec {'pip install requirements':
    timeout => 1200,command => "$project_dir/venv/Scripts/pip.exe install -r $project_dir/requirements.txt",require => File['enforce MinGW compiler'],}

file {'change venv permissions':
    path    => "$project_dir/venv",recurse => true,mode    => 0770,require => Exec['pip install requirements'],}

解决方法

在puppet文件中,对于声明的任何父目录都有隐式需求.

有效:

File['change venv permissions'] -> File['enforce MinGW compiler']

因此父级需要exec,exec需要子级,而子级需要父级,创建循环.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读