2017-04-05 4 views
0

/etc/network/interfaces.d/ethX을 구성하는 역할이 있습니다. 알림을 통해 호출되는 처리기 '다시 시작 인터페이스'가 있습니다.처리기 종속성에 대한 책임자

그러나 해당 인터페이스에서 수신 대기하는 프로그램이 거의 없으므로 해당 인터페이스의 구성을 변경하면 프로그램을 다시 시작해야합니다.

일반적으로 응용 프로그램을 구성하는 역할의 처리기를 다시 시작하려면 notify을 보낼 수 있지만 여기에서는 catch를 사용합니다. 인터페이스를 구성하는 역할은 다소 일반적인 것으로 다른 응용 프로그램의 역할과 함께 다른 게임에서 호출 할 수 있습니다. 그 역할에 대한 핸들러에 notify을 하드 코드 할 수는 없지만 그 인터페이스 애플리케이션에서 '종속'을 모두 다시 시작하려고합니다.

Ansible에는 알림을위한 '구독'기능이 있습니까? 나는 요리사가 그렇게하는 것을 알고 있었기 때문에 Anabilities도 이것을 할 수 있을까? 내가 생각한 다른 방법은 그러한 핸들러가 없다면 실패하지 않는 인터페이스 설정 역할로부터 어떤 종류의 'soft notifications'입니다.

아이디어가 있으십니까?

답변

3

예, Ansible에는 버전 2.2 이후 a listener feature이 있습니다.

핸들러의 네임 스페이스는 일반적이므로 특정 핸들러가 포함 된 역할이 지정되어 있으면 충분합니다 (역할 중 하나에서 flush_handlers을 사용하지 않은 경우). 원하는 경우 해당 핸들러가 포함 된 역할을 보장해야합니다 실행은 실제 플러시 작업 전에 할당됩니다.

+0

나는 그들이 나타 났을 때 통지하지 않았다. 그것은 설명 된 문제에 대한 정확하고 정확한 해결책입니다. 고맙습니다! –