2012-01-18 8 views
6

To jest bardzo podstawowe zadanie, ale nie mogę znaleźć na nim dokumentacji. Startuję z maszyn EC2 przy użyciu serwera szefa kuchni i szefa kuchni. Jeśli to się nie powiedzie, chciałbym naprawić przepisy, a następnie ponownie zainstalować rolę i przepisy na tym komputerze bez wyjmowania węzła i tworzenia go ponownie. Nie mogę znaleźć polecenia, które to robi.Przeładuj receptury szefa kuchni, jeśli instalacja się nie powiedzie lub aktualizacje będą dostępne

Jeśli biegnę Chef-klienta na komputerze pojawia się:

chef-client 
[Wed, 18 Jan 2012 11:23:58 +0000] INFO: *** Chef 0.10.0 *** 
[Wed, 18 Jan 2012 11:23:59 +0000] INFO: Run List is [] 
[Wed, 18 Jan 2012 11:23:59 +0000] INFO: Run List expands to [] 
[Wed, 18 Jan 2012 11:23:59 +0000] INFO: Starting Chef Run for gidsy-staging-web 
[Wed, 18 Jan 2012 11:23:59 +0000] INFO: Loading cookbooks [] 
[Wed, 18 Jan 2012 11:23:59 +0000] WARN: Node gidsy-staging-web has an empty run list. 
[Wed, 18 Jan 2012 11:23:59 +0000] INFO: Chef Run complete in 0.508629 seconds 
[Wed, 18 Jan 2012 11:23:59 +0000] INFO: Running report handlers 
[Wed, 18 Jan 2012 11:23:59 +0000] INFO: Report handlers complete 

Dzięki

+0

Twój opis problemu nie jest bardzo jasny, między EC2 i szefem kuchni występuje pewne nachodzenie terminologii. Nie jest jasne, co masz na myśli, mówiąc "bez wyjmowania węzła i tworzenia go ponownie" (węzeł szefa kuchni lub węzeł EC2?) Jaki jest wynik Twojego nieudanego uruchomienia? Dlaczego lista uruchomień jest pusta? Nie widziałem okazji, w której nieudana próba szefa kuchni opróżniłaby listę uruchomień węzła. – lhagemann

Odpowiedz

8

jakie napotkał ten sam problem i to w jaki sposób mam rozwiązać ten problem.

Po pierwsze, zastosowanie rolę (-a) na przykład za pomocą noża:

$ knife node run_list add [NODE] [ENTRY] 

Be sure and include the items in [ENTRY] in quotes (for example, "role[my-role]"). 

Gdy rola została zastosowana do instancji EC2, ja wtedy powołać Chef-klienta, na przykład w kwestii .

$ sudo chef-client 

To powinno znacznie przyspieszyć twój cykl rozwoju.

+0

tak, to działa. dzięki! to zaoszczędzi mi dużo czasu. –

+0

Serdecznie zapraszamy Philipp! –

2

Odpowiedź Jordana naprawdę mi pomogła, ale dla tych, którzy zaczynają szefa kuchni jak ja, wyjaśnię nieco więcej szczegółów.

Używam EC2 i otrzymałem powyższy błąd. To, co zrobiłem, żeby go rozwiązać:

  1. Na moim komputerze lokalnym, uruchom: knife ec2 server list uzyskać węzeł hosta na serwerze EC2
  2. Dodaj listę run do tego węzła z mojego komputera lokalnego dev: knife node run_list add i-xxxxx "role[aws-db-deploy]" gdzie i-xxxxx to nazwa węzła
  3. ssh na swoim AWS EC2 instancji i uruchom polecenie: sudo chef-client

Hope this helps

0

można uruchomić th e-szef-klient z listą startową:

$ sudo chef-client --runlist <role> 
Powiązane problemy