Soru Tanımlı Türlerde Bildirim veya Abonelik İçin İşleyici nasıl kurulur?


İşleyiciyi kuklada tanımlanmış bir türe nasıl eklerim? Örneğin, varsa:

define foo::bar ($baz) {
 ...
}

İşleyiciyi nasıl alabilirim foo::bar içeren bir şeyi işlemek için

...
   notify => Foo::Bar['zippidy']
...

?

İşleyici daha sonra bir bildirim aldığında koşullu mantık içinde çeşitli Exec'leri çalıştıracaktır.


8
2017-08-17 20:10


Menşei




Cevaplar:


Katalogda başka bir yerde beyan ettiğiniz tanımlı bir kaynağı bilgilendirebilirsiniz. Bir örnek nasıl olur?

CentOS sistemi, httpd yüklü ve durduruldu. Kukla 2.7.18 ile test edilmiştir

$ servis httpd durumu
httpd durduruldu

Burada, tanımlanmış bir kaynak türünde bir yürütme kaynağı, o tanımlı kaynak türünün bir bildirimi ve bu tanımlanmış kaynak türünü bildiren bir hizmet kaynağı içeren örnek bir bildirim yer almaktadır.

./notify_defined_types.pp

define foo(){

   exec { "${name}_exec":
     command     => "echo hello ${name}",
     path        => '/bin:/usr/bin',
     refreshonly => true,
     logoutput   => true,
   }

}

foo { 'bar': }

service { 'httpd':  
  ensure => running,  
  notify => Foo['bar'],  
}

Bunu uygularken, httpd hizmet kaynağımdaki durum değişikliği Foo ['bar'] kaynağına bir bildirim tetikler. Bu bildirim, foo tanımlı kaynak türünde kullanılan herhangi bir hizmet veya yürütme kaynağı için geçerli olacaktır.

$ puppet apply notify_defined_types.pp 
notice: /Stage[main]//Service[httpd]/ensure: ensure changed 'stopped' to 'running'
notice: /Stage[main]//Foo[bar]/Exec[bar_exec]/returns: hello bar
notice: /Stage[main]//Foo[bar]/Exec[bar_exec]: Triggered 'refresh' from 1 events
notice: Finished catalog run in 0.51 seconds

$ puppet apply notify_defined_types.pp 
notice: Finished catalog run in 0.38 seconds

Mantıklı olmak? Sadece bildirdiğiniz kaynağı bildirirsiniz. Tanımlanan kaynak türünde maruz kalan herhangi bir yürütme veya hizmet kaynağını tetikler.


7
2017-08-18 00:57



Tersi nasıl yapılır? Hizmetin Foo ['bar'] 'a abone olmasını istediğimi varsayalım? Teşekkürler - José F. Romaniello