Puppet清单没有运行

时间:2015-07-06 20:21:06

标签: puppet

我过去只是包含了所有的木偶模块:

include user_manager
include pp_package_manager
include ppcc_code_manager
include ppcc_backup
include pp_db_manager
include pp_apache_manager
include pp_rabbit_manager
include pp_salt_manager
include pp_freeswitch_manager
include ppcc_services_manager

这导致了很多依赖性问题,我不得不多次运行木偶代理才能自行解决。然后我尝试使用Stages来清理它,结果是:

stage { 'code': require => Stage['main'], before => Stage['backup'], }
stage { 'backup': before => Stage['big-packages'], }
stage { 'big-packages': before => Stage['freeswitch'], }
stage { 'freeswitch': before => Stage['services'] }
stage { 'services': }

node 'blah.example.com' {
  class { 'pp_package_manager': stage => 'main', }
  class { 'user_manager': stage => 'main', }
  class { 'ppcc_code_manager': stage => 'code', }
  class { 'ppcc_backup': stage => 'backup', }
  class { 'pp_db_manager': stage => 'big-packages', }
  class { 'pp_apache_manager': stage => 'big-packages', }
  class { 'pp_rabbit_manager': stage => 'big-packages', }
  class { 'ppcc_services_manager': stage => 'services', }
  class { 'pp_salt_manager': stage => 'big-packages', }
  class { 'pp_freeswitch_manager': stage => 'freeswitch', }
}

我甚至尝试使用箭头符号将所有内容放入节点定义中,然后使用箭头符号定义阶段。每次都没有发生。没有错误,只是没有。即使使用--debug,木偶代理也会......停止。

最后,我只是尝试在每个类声明之间使用箭头符号。

class { 'user_manager': } ->
class { 'pp_package_manager': } ->
class { 'ppcc_code_manager': } ->
class { 'ppcc_backup': } ->
class { 'pp_db_manager': } ->
class { 'pp_apache_manager': } ->
class { 'pp_rabbit_manager': } ->
class { 'pp_salt_manager': } ->
class { 'pp_freeswitch_manager': } ->
class { 'ppcc_services_manager': }

那也没有。我现在几乎都是出于想法。当我运行木偶代理时为什么没有发生?我做错了什么?

1 个答案:

答案 0 :(得分:2)

我无法对这些问题做出真正的评论而不会看到你的清单。

但我认为有一些东西可以帮到你:你有没有读过角色和个人资料模式?它有助于解决这些设计问题,并有助于缩小哪些清单导致问题。

它还允许您对每个组件或组件组应用测试,因此您可以缩小导致代理无法运行的问题。

关于它的一些示例帖子:

https://puppetlabs.com/presentations/designing-puppet-rolesprofiles-pattern http://garylarizza.com/blog/2014/02/17/puppet-workflow-part-2/ http://rnelson0.com/2014/07/14/intro-to-roles-and-profiles-with-puppet-and-hiera/