요약:

요약:

요약:

"파일의 칼 데이터 백"에 문제가 발생했습니다. 여기서 칼은 원격 git 저장소에서 가져온 .json 데이터 백 파일을 인식하지 못합니다.

배경:

저는 현재 원격 Git 저장소의 요리책, 데이터 백 및 기타 셰프 정보를 사용하면서 셰프 솔로 사용에서 셰프 서버로 전환하려고 합니다.

저는 현재 git repo의 복사본을 가져와 Knife.rb에 요리책 경로와 데이터 백 경로를 설정했습니다. 요리책을 로드하고 조정하는 등의 작업도 했습니다.

세부:

"파일 폴더 파일에서 칼 데이터 백 추가"를 수행하여 .json 데이터 백을 로드하려고 하면 "나이프 데이터 백 목록"을 수행할 때까지 작동한 것처럼 보이고 공백이 나타납니다. 그래서 나는 무엇이 로드되고 있는지 확인하기 위해 마지막에 편집 옵션을 추가하기로 결정했습니다. 내가 얻는 오류는 다음과 같습니다.

knife data bag from file local_settings test.json -e nano
ERROR: Could not find or open file 'test.json' in current directory or in 'data_bags/local_settings/test.json'

데이터 백 파일은 테스트를 거쳐 작동하는 json 파일의 적절한 위치에 존재합니다. 또한 때때로 ""local_settings" 데이터 백을 열 수 없습니다"라는 오류가 발생했습니다.

나는 보다 중앙화된 위치(chef 서버와 반대되는 git repo)에서 변경 사항을 추적할 수 있도록 적절한 git repo 폴더 내에 데이터 백 경로를 유지하고 싶습니다.

올바른 방향으로의 솔루션, 조언 또는 조언을 주시면 감사하겠습니다.

답변1

-e nano옵션을 사용하는 것이 유효하지 않다고 생각하지만 knife data bag from file(명령줄 도움말에서는 다르게 암시하지만) 그냥 무시해야 합니다. 이 오류는 Knife가 사용자가 지정한 json 파일을 찾을 수 없음을 의미합니다. 그 물건이 올바른 위치에 있었다고 했을 때, 그 물건은 정확히 어디에 있었나요? Knife는 Chef-repo가 ​​아닌 현재 디렉터리를 기준으로 검색됩니다.

해당 문제가 해결되면 또 다른 문제에 직면하게 됩니다. 항목을 추가하려면 먼저 데이터 백을 생성해야 합니다. knife data bag list생성되자마자 출력 에 표시되어야 합니다 .

 $ knife data bag create local_settings
Created data_bag[local_settings]
 $ knife data bag list
  local_settings

"칼 데이터 백"에 대한 문서는 여기에서 찾을 수 있습니다:http://wiki.opscode.com/display/chef/Managing+Data+Bags+With+Knife

답변2

그렇게 했는데 knife data bag list공백으로 나타납니다.

이는 local_settings아직 데이터 백이 생성되지 않았음을 의미합니다.

따라서 다음과 같이 생성되어야 합니다.

$> knife data bag create local_settings
Created data_bag[local_settings]

그러면 서버의 데이터 백이 다음과 같은 경우 목록에 나타나야 합니다.

$> knife data bag list
  local_settings

그러면 {{test.json}} 데이터 백 파일을 업로드할 수 있습니다.

또한 실제로 무슨 일이 일어나고 있는지에 대한 좋은 설명은 다음과 같습니다.[CHEF 위키 링크].

관련 정보