Muszę wykonać pewne działanie (skonfigurować coś) po zatrzymaniu usługi tomcat. Po zakończeniu konfiguracji muszę się upewnić, że usługa tomcat została uruchomiona ponownie. Napisałem następujący kod lalkowy dla tego samego:W marionetce, jak zatrzymać usługę, wykonać jakąś akcję, a następnie uruchomić usługę?
Service {'tomcat': ensure => stopped }
->
class {'config':}
->
Service {'tomcat': ensure => running }
Na lalek zastosować, to narzekają, że
'Error: Duplicate declaration: Service[tomcat] is already declared in file'
Jak rozwiązać ten problem. Jaka jest recepta w marionetce, aby zatrzymać usługę, wykonać jakąś akcję, a następnie przywrócić usługę ponownie?
Chciałbym dodać, że czasami trzeba mieć możliwość uruchomienia i zatrzymania usługi. Zamawianie nie rozwiązuje wszystkiego. Na przykład zmiana UID użytkownika, który ma uruchomiony proces (np. Tomcat), wymaga najpierw zatrzymania procesu. – majikman
dla twojego przykładu, potrzebujesz zdefiniować kolejną kolejność, jeśli UID użytkownika zmieni się i potrzebujesz ponownego uruchomienia usługi. – BMW
Ten wpis wyjaśnia koncepcję, ale w rzeczywistości nie zapewnia rozwiązania. Dlatego proponuję przyjąć odpowiedź Felixa Franka jako "poprawną". – Christian