木偶如何继承阶级

时间:2017-07-25 08:19:12

标签: class service puppet notify

我无法理解如何从另一个类重启服务。 我的结构是:

# cat init.pp
class nginxrtmp {  
  include nginxrtmp::nginxinstall  
  include nginxrtmp::nginxconfig
}

在nginxrtmp :: nginxinstall中我有服务nginx重启

# cat nginxinstall.pp
service {'nginx':
  name => 'nginx.service',
  ensure => 'running',
  enable => 'true',
} 

在nginxrtmp :: nginxconfig中我有* .erb模板和config

# cat nginxconfig.pp  
  file { '/etc/nginx/nginx.conf':
    * => $resAttributes,
    content => template('nginxrtmp/redhat.nginx.conf.erb'),
    notify  => nginxinstall::Service['nginx'],
  }

我的问题是,如果我的模板文件改变,如何重新启动另一个类和文件* .pp中描述的服务nginx

2 个答案:

答案 0 :(得分:0)

我刚刚找到答案。需要写

include nginxrtmp::nginxinstall 

在带有配置

的课程中

答案 1 :(得分:0)

您可以创建一个包含该服务的service.pp文件,然后将其更改为:

  # init.pp
  class nginxrtmp {
    contain nginxrtmp::service
    contain nginxrtmp::config

    Class['::nginxrtmp::config']
    ~> Class['::nginxrtmp::service']
  }

  # service.pp
  service { 'nginx':
    name   => 'nginx.service',
    ensure => 'running',
    enable => 'true',
  }

  # config.pp  
  file { '/etc/nginx/nginx.conf':
    *       => $resAttributes,
    content => template('nginxrtmp/redhat.nginx.conf.erb'),
  }

请参阅:https://docs.puppet.com/puppet/4.10/bgtm.html以及有关订购https://docs.puppet.com/puppet/4.10/bgtm.html#c-ordering

的此部分