2013-01-16 6 views
4

저는 새로운 회사에 가입하여 속도를 높이기 위해 VM에 대한 Vagrant와 게임을 해왔습니다. 나는 내 시스템을 거의 설치했는데 이상한 오류로 인해 vagrant destroy을 통해 연결을 끊지 않고도 노트북을 끌 수 밖에 없었다. 이제 설정하려고 할 때 vagrant up을 실행하고 다음 오류 메시지가 나타납니다.개인 키없이 Knife 클라이언트를 삭제 하시겠습니까?

[default] Running provisioner: Vagrant::Provisioners::ChefClient... 
    [default] Creating folder to hold client key... 
    [default] Uploading chef client validation key... 
    [default] Generating chef JSON and uploading... 
    [default] Running chef-client... 
    stdin: is not a tty 
    [Wed, 16 Jan 2013 05:20:20 -0500] INFO: *** Chef 0.10.2 *** 
    [Wed, 16 Jan 2013 05:20:20 -0500] INFO: Client key /etc/chef/client.pem is not present  - registering 
    [Wed, 16 Jan 2013 05:20:21 -0500] INFO: HTTP Request Returned 409 Conflict: Client already exists. 
    [Wed, 16 Jan 2013 05:20:22 -0500] INFO: HTTP Request Returned 403 Forbidden: Merb::ControllerExceptions::Forbidden 
    [Wed, 16 Jan 2013 05:20:22 -0500] FATAL: Stacktrace dumped to /srv/chef/file_store/chef-stacktrace.out 
    [Wed, 16 Jan 2013 05:20:22 -0500] FATAL: Net::HTTPServerException: 403 "Forbidden" 
    The following SSH command responded with a non-zero exit status. 
    Vagrant assumes that this means the command failed! 

    chef-client -c /tmp/vagrant-chef-1/client.rb -j /tmp/vagrant-chef-1/dna.json 

지금 내 자신의 연구에서 나는이 클라이언트가 이미 지정한 이름을 가진 의미 볼, 그래서 수동으로 종료하기로 결정했다. 나는 knife client list 모든 칼 클라이언트를 나열하려하지만 다음과 같은 메시지가 있어요 :

WARNING: No knife configuration file found 
    ERROR: Your private key could not be loaded from /etc/chef/client.pem 
    Check your configuration file and ensure that your private key is readable 

이상한입니다. 나는 knife.rb가 존재한다는 것을 알고 있습니다. 나는 ls을 볼 때 나이프 구성 파일이 어떻게 존재하지 않을지 모릅니다. 분명히이 개인 키가없는 칼 클라이언트를 볼 수 없습니다. 나는 방글라데시, 나이프와 요리사에게 완전히 새로운 것입니다.

생각하십니까?

+2

chef-client를 실행할 때와 같은 방법으로 -c를 사용하여 칼 설정 파일에 대한 명시적인 경로를 지정하십시오. 나는 [경로가 설정 파일의 client_key 항목에 대한 기본 경로이고 파일을 찾지 못하면 기본값을 사용한다고 생각합니다. – PatrickWalker

답변

1

따라서 knife.rb~/.chef/knife.rb 또는 /etc/chef/knife.rb에 있으며, 이전 버전을 선호합니다. 내 홈 폴더에 보관하므로 내 사용자 계정에 제약이 있습니다.

일반적으로 Chef Server 클라이언트 인증서도 보관할 것입니다.

성공적으로 knife client list을 실행할 수 있으면 문제가되는 클라이언트 인증서를 식별하고 제거 할 수 있습니다. 잠시 동안 웹 UI를 사용할 수도 있습니다.

방글라데시가 파괴시 클라이언트의 인증서를 제거하는 것은 suggested feature 이었지만 결코 구현되지 않았고, 결정을 내릴 운영자에게 맡겨졌습니다.

또한 매우 오래된 버전의 Chef - 0.10.2를 사용하고있는 것으로 보입니다. 오늘 우리는 10.18.2 버전을 출시했습니다. 고려해야 할 것.