2017-06-06 2 views
0

a voulu savoir s'il est possible de notifier le même service de deux ressources différentes:2 ressources pour aviser le même service

disons que j'ai deux fichiers de configuration:

file { "${conf_dir}/1.conf" : 
    content => template('1.conf.erb'), 
    owner => $owner, 
    group => $group, 
    mode => '0777', 
} 

~>file { "${conf_dir}/2.conf" : 
    content => template('2.conf.erb'), 
    owner => $owner, 
    group => $group, 
    mode => '0777', 
} 

~> service { 'some_service' : 
    enable  => true, 
} 

Je ne suis pas sûr si le code ci-dessus s'exécute même (à cause du '~>' entre les ressources du fichier)

Répondre

1

Vous pouvez utiliser l'option notify pour notifier votre service.

Avec votre exemple:

file { "${conf_dir}/1.conf" : 
    content => template('1.conf.erb'), 
    owner => $owner, 
    group => $group, 
    mode => '0777', 
    notify => Service['some_service'], 
} 

file { "${conf_dir}/2.conf" : 
    content => template('2.conf.erb'), 
    owner => $owner, 
    group => $group, 
    mode => '0777', 
    notify => Service['some_service'], 
} 

service { 'some_service' : 
    enable  => true, 
} 
1

Utilisez ceci:

File { 
    owner => $owner, 
    group => $group, 
    mode => '0777', 
    notify => Service['some_service'], 
} 

file { 
    "${conf_dir}/1.conf": 
    content => template("${module_name}/1.conf.erb"); 

    "${conf_dir}/2.conf": 
    content => template("${module_name}/2.conf.erb"), 
} 

service { 'some_service': 
    enable => true, 
}