2013-02-20 18 views
5

Mamy środowisko testowe, które składa się z jednego serwera, jednego klienta i innego klienta jako stacji roboczej.Serwer szefa kuchni, zainstaluj książkę kucharską, która nie jest z witryny książki kucharskiej

Jestem świadomy polecenia

# knife cookbook site install apache2 

ale ta komenda generuje błąd, ponieważ nie mogę nawet pobrać z tej witryny książka kucharska. Kiedy pobrać,

# knife cookbook site download apache2 

to wychodzi,

ERROR: Connection refused connecting to cookbooks.opscode.com:80 for /api/v1/cookbooks/apache2, retry 1/5 
ERROR: Network Error: Connection refused - Connection refused connecting to cookbooks.opscode.com:80 for /api/v1/cookbooks/apache2, giving up 
Check your knife configuration and network settings 

Jeśli masz coś, aby rozwiązać ten problem, należy również udostępnić ale moim głównym problemem jest to, aby wiedzieć, sposób ręcznie zainstalować książkę kucharską? Nie ze strony książki kucharskiej? Próbowałem pobierając go ze strony za pomocą przycisku „Pobierz” tam i wtedy kopiowanie tar.gz do stacji roboczej, przesyłając je do serwera kucharz, dodając książkę kucharską do węzła listy uruchamiania receptury, a następnie wykonanie

# chef-client 

na stacji roboczej. Czy to jest tak samo jak instalacja? Jeśli nie, czy jest jakiś sposób na zrobienie tego?

Dziękuję.

+0

Czy masz u swojego szefa kuchni repo w folderze .chef i czy ma on twoje poświadczenia (USER.pem i VALIDATOR.pem)? – Edu

+0

Tak. Naprawiłem już problem. Wygląda na to, że moim problemem jest proxy http. W pliku knife.rb dodałem http_proxy. Teraz mogę z powodzeniem wykonać # listę stron z książkami kucharskimi, ale instalacja i pobranie wygenerowały nowy BŁĄD - problemy z autoryzacją, o których mówi. Jakieś pomysły? Dodałem błąd powyżej. – Ella

Odpowiedz

7

normalnych kroków do przesyłania książkę kucharską z poziomu Chef-repo wynosi:

  1. Pobierz i rozpakuj książkę kucharską do katalogu
  2. chef-repo/cookbooks przesłać książkę kucharską do swojej kuchni serwerem za pomocą knife cookbook upload -a lub knife cookbook upload [COOKBOOKS...]
  3. uruchomić Chef-klienta na węźle klienta przy użyciu chef-client

wydaje się dopasować co zrobiłeś.

„Instalacja” książka kucharska z wykorzystaniem knife cookbook site install COOKBOOK jest zasadniczo taka sama jak pobieranie go przez knife cookbook site download COOKBOOK chyba że polecenie pobrania zapisuje je jako .tar.gz natomiast zainstalować Wydobywa dowodzenia i konfiguruje submodule git, dzięki czemu można zachować to na bieżąco. (Patrz Managing Cookbooks With Knife - Cookbook Site.)

Można użyć narzędzi, takich jak Librarian lub Berkshelf do zarządzania i pobierania książki kucharskie z dowolnego repo git, witryny społeczności Opscode lub lokalnej drodze. Oba te klejnoty działają bardzo podobnie do Bundler; generują one kod Cheffile.lock lub Berksfile.lock, który pomaga zablokować książki kucharskie w wersji lub zatwierdzić SHA.

EDYCJA: Nie jestem pewien, dlaczego knife cookbook site install/download nie będzie działać; nie wymagają żadnego uwierzytelnienia. Od knife cookbook sitedocs: "Dla poleceń, które po prostu czyta się ze strony książki kucharskiej (takich jak pobieranie, wyszukiwanie, instalowanie i lista), nie potrzebujesz konta na community.opscode.com. Do poleceń, które piszą do witryny, potrzebujesz konto na stronie społeczności. "

Warto zauważyć, że knife cookbook site download różni się od knife cookbook download. Pierwszy łączy się z community.opscode.com, a drugi łączy się z serwerem szefa kuchni. Z czym masz problem?

+0

Dziękuję za to. Rozumiem teraz, że obsługa klienta-szefa kuchni z książką kucharską nie z witryny jest taka sama jak instalacja. wreszcie udało mi się połączyć z witryną książki kucharskiej, dodając http_proxy do pliku knife.rb. Mogę wykonać # listę stron kucharskich noża, ale nie mogę jej zainstalować i pobrać. jakieś pomysły? Jeszcze raz dziękuję! – Ella

+0

Nie ma problemu! Możesz spróbować otworzyć bilet na ticket.opscode.com, są całkiem nieźli, jeśli chodzi o pomoc. Brakuje tu miejsca z pełnym blokiem tekstu, który chcę dodać, dlatego wkleję go w powyższej odpowiedzi jako edycję. –

+0

Cześć! Mam problem z pobieraniem strony książki kucharskiej ze strony community.opscode.com. Myślę, że problemem nie jest uwierzytelnianie witryny, ale autoryzacja serwera. Dodałem poniższy dziennik błędów, aby uzyskać referencje. Dzięki. – Ella

0

Prowadzenie klienta-szefa kuchni jest tym samym, co zainstalowanie książki kucharskiej z witryny.

Dodatkowo ja wymyśliliśmy sposób, aby naprawić ten błąd:

ERROR: Connection refused connecting to cookbooks.opscode.com:80 for /api/v1/cookbooks/apache2, retry 1/5 
ERROR: Network Error: Connection refused - Connection refused connecting to cookbooks.opscode.com:80 for /api/v1/cookbooks/apache2, giving up 
Check your knife configuration and network settings 

I dodaną http_proxy w /root/.chef/knife.rb

Teraz mogę z powodzeniem wykonać

# knife cookbook site list 

Jednak instalacja i pobieranie witryny książki kucharskiej spowodowały powstanie nowego błędu.

Downloading getting-started from the cookbooks site at version 0.4.0 to /home/chef/getting-started-0.4.0.tar.gz 
ERROR: You authenticated successfully to http://10.43.109.236:4000 as my-chefuser but you are not authorized for this action 
Response: #<Net::ReadAdapter:0x2b2afa986ac0> 

Myślę, że problem teraz jest zgoda serwerze Chef, nie strona książki kucharskiej, bo mam już do niego dostępu przez wymieniające kucharskie.

0

miałem problemu zbyt i korzystania z tego systemu biletów Chef stałej zarówno ściągania i wysyłania do mnie: Dodaj te linie na końcu pliku knife.rb:

http_proxy    "http://proxyserver:8080" 
https_proxy    "http://proxyserver:8080" 

require 'rest-client' 
RestClient.proxy = "http://proxyserver:8080" 

gdzie oczywiście trzeba aby zastąpić proxyserver:8080, należy go zastąpić konkretnymi informacjami.

+0

Moje proxy wymaga uwierzytelnienia. Jak dodać dane uwierzytelniające w pliku RestClient.proxy? Próbowałem już http: // nazwaużytkownika: hasło @ proxyip: port / –

Powiązane problemy