2016-09-04 4 views
-1

노드에서 지정된 요리 책 레시피와 노드를 검색하려고하지만, 다음과 같은 오류 보여칼 검색 노드 :: 조리법

================================================================================ 
Recipe Compile Error in /var/chef/cache/cookbooks/lbsvc/recipes/default.rb 
================================================================================ 

Net::HTTPServerException 
------------------------ 
400 "Bad Request" 
...  
Relevant File Content: 
---------------------- 
/var/chef/cache/cookbooks/lbsvc/recipes/loadbalancer.rb: 

12: template "/etc/haproxy/haproxy.cfg" do 
13: source "haproxy.cfg.erb" 
14: owner "haproxy" 
15: group "haproxy" 
16: variables({ 
17:  gw_nodes: search(:node, "chef_environment:#{node.chef_environment} AND recipe:realdoc-gateway").sort_by{ |n| n.name }, 
18>>  microservice_nodes: search(:node, "chef_environment:#{node.chef_environment} AND recipes:'microservice::loadbalancer'").sort_by{ |n| n.name }, 
19:  microservice2_nodes: search(:node, "chef_environment:#{node.chef_environment} AND recipes:'microservice2::loadbalancer'").sort_by{ |n| n.name }, 
20:  ui_nodes: search(:node, "chef_environment:#{node.chef_environment} AND recipe:vault-ui").sort_by{ |n| n.name } 
21: }) 
22: notifies :reload, 'service[haproxy]' 
23: end  

Running handlers: 
[2016-09-04T13:30:26+00:00] ERROR: Running exception handlers 
Running handlers complete 
[2016-09-04T13:30:26+00:00] ERROR: Exception handlers complete 
[2016-09-04T13:30:26+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out 
Chef Client failed. 0 resources updated in 5.477354028 seconds 
[2016-09-04T13:30:26+00:00] ERROR: 400 "Bad Request" 
[2016-09-04T13:30:26+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 

그것은 오류가 recipes:microservice\:\:loadbalancer 어떻게 든 내가 '여기 보여줍니다 chefdocs에서 구문을 가지고 있어도 이것을 올바르게 사용하지 않습니다. 큰 따옴표 (")를 사용하는 경우

+0

무엇이 오류 메시지입니까? – StephenKing

+0

│Net :: HTTPServerException 400 "잘못된 요청"...../var/chef/cache/cookbooks/lbsvc/recipes/loadbalancer.rb : 18 : from 블록의 '블록' –

+0

더 자세한 정보가 필요하십니까? 그것을 포함 시키십시오. lucene 쿼리가 유효하지 않거나 Chef 서버의 일반적인 문제 일 수 있습니다. – StephenKing

답변

3

, 당신은 이중 이스케이프 (\\) 콜론에 있습니다

search(:node, "recipes:microservice\\:\\:loadbalancer") 

작은 따옴표를 사용하여, 하나의 백 슬래시는 충분하다.

search(:node, 'recipes:microservice\:\:loadbalancer') 
+0

변경 사항을 수행했지만 오류는 여전히 유감 스럽습니다. –

+0

같은 줄에? 너 정말이야? 나는이 점을 스스로 확인했다. – StephenKing

+0

최소한의 예를 만들고 Github에 올려보세요. – StephenKing