2017-07-25 3 views
0

Je n'arrive pas à comprendre comment redémarrer le service d'une autre classe. Ma structure est:marionnette comment hériter de la classe

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

dans nginxrtmp :: nginxinstall j'ai nginx de service pour redémarrer

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

Et dans nginxrtmp :: nginxconfig j'ai * modèle .erb avec config

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

Et ma question est, comment redémarrer le service nginx décrit dans une autre classe et le fichier * .pp si mon fichier de modèle change

Répondre

0

Je viens de trouver la réponse moi-même. Besoin d'écrire

include nginxrtmp::nginxinstall 

en classe avec config

0

Vous pouvez créer un fichier service.pp qui contient le service, puis changer pour:

# 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'), 
    } 

Jetez un oeil à: https://docs.puppet.com/puppet/4.10/bgtm.html et cette section en ce qui concerne la commande https://docs.puppet.com/puppet/4.10/bgtm.html#c-ordering