Service 如何在Puppet中定义两次相同的服务?
为了使用Puppet类部署Varnish,我需要停止移动和部署文件的Varnish,然后在最后确保Varnish已启动 我的问题很简单,如何在Puppet类中定义两次服务,以便在不同的步骤停止或启动服务Service 如何在Puppet中定义两次相同的服务?,service,puppet,Service,Puppet,为了使用Puppet类部署Varnish,我需要停止移动和部署文件的Varnish,然后在最后确保Varnish已启动 我的问题很简单,如何在Puppet类中定义两次服务,以便在不同的步骤停止或启动服务 class varnish::install ( (...) service { "varnish": ensure => "stopped", require => Package['varnish'], befo
class varnish::install (
(...)
service { "varnish":
ensure => "stopped",
require => Package['varnish'],
before => Exec['mv-lib-varnish'],
}
(...)
service { "varnish":
ensure => "running",
require => File["$varnishncsa_file"],
}
}
我有一个重复的定义:服务[清漆]。。。错误,这是合乎逻辑的
在Puppet类中管理服务的最佳实践是什么?划分为多个类,或者有一个选项可以重命名服务以多次声明它?尝试以下操作以消除重复错误,但您尝试的操作是错误的。 Puppet将系统带到某种一致的状态—所以告诉停止服务X,做一些工作,启动服务X—它超出了正确使用Puppet的范围,Puppet更像是重新启动服务—如果服务所依赖的某些文件被修改
class varnish::install (
(...)
service { "varnish-stop":
name => "varnish"
ensure => "stopped",
require => Package['varnish'],
before => Exec['mv-lib-varnish'],
}
(...)
service { "varnish-start":
name => "varnish"
ensure => "running",
require => File["$varnishncsa_file"],
}
}
尝试以下操作以消除重复错误,但您尝试的操作是错误的。 Puppet将系统带到某种一致的状态—所以告诉停止服务X,做一些工作,启动服务X—它超出了正确使用Puppet的范围,Puppet更像是重新启动服务—如果服务所依赖的某些文件被修改
class varnish::install (
(...)
service { "varnish-stop":
name => "varnish"
ensure => "stopped",
require => Package['varnish'],
before => Exec['mv-lib-varnish'],
}
(...)
service { "varnish-start":
name => "varnish"
ensure => "running",
require => File["$varnishncsa_file"],
}
}
使用带有服务重启的exec作为部署文件操作包/另一个exec的钩子通知。仅将服务本身定义为正在运行,因为这是您通常想要确保的。Puppet用于描述目标状态。使用带有服务重启的exec作为部署文件操作包/另一个exec的钩子通知。仅将服务本身定义为正在运行,因为这是您通常想要确保的。Puppet用于描述目标状态