[chef] Re: Re: Re: Re: How to search node info in the chef server


Chronological Thread 
  • From: Sam Su < >
  • To: " " < >
  • Subject: [chef] Re: Re: Re: Re: How to search node info in the chef server
  • Date: Wed, 26 Mar 2014 20:27:19 -0700

Sorry, just made a typo '/', it should be '\'.


On Wed, Mar 26, 2014 at 8:25 PM, Sam Su < " target="_blank"> > wrote:
After replaced '/' with '//', I finally got the chef search function work.



On Wed, Mar 26, 2014 at 5:03 PM, Sam Su < " target="_blank"> > wrote:
I tried the cmd but still no expected result:
~]# knife search node 'roles:os-controller'
0 items found

~]#

When I tried the command as below, I can get my ideal result:
~]# knife search node 'run_list:role\[os-controller\]'
1 items found


Node Name:   centos-10-145-88-152
Environment: testing
FQDN:       
IP:          10.145.88.152
Run List:    recipe[keepalived], recipe[haproxy::tcp_lb], role[os-controller]
Roles:      
Recipes:     keepalived, haproxy::tcp_lb, keepalived::default, haproxy::install_package
Platform:    centos 6.5
Tags:       

~]#


So I used it in my cookbook:
pool_members = search(:node, "run_list:role\[#{service['role']}\] AND chef_environment:#{node.chef_environment}") || []

When I run it, I got the error as follow:
http://pastebin.com/GRCFWFbu

It is weird for me, if someone can point it out and share some experience, I will be much appreciated.

Thanks,
Sam




On Wed, Mar 26, 2014 at 4:10 PM, Ranjib Dey < " target="_blank"> > wrote:
i think i mentioned

knife search node roles:os-controller



On Wed, Mar 26, 2014 at 4:04 PM, Sam Su < " target="_blank"> > wrote:
Hi Ranjib,

Thank you for your explanation.

If that is my case, do you have any idea to solve the problem?

Thanks,
Sam


On Wed, Mar 26, 2014 at 3:12 PM, Ranjib Dey < " target="_blank"> > wrote:
chef saves a two computed attributes, aka recipes and roles as part of run list expansion. so, you want to search against 'roles:foo' (plural). 
also some thing in your recipes sets an attribute (may be nested) 'role' , which might explains the first hit.
something like:
node[:a][:role] = 1,





On Wed, Mar 26, 2014 at 3:05 PM, Sam Su < " target="_blank"> > wrote:
Hi,

I want to get a node list with role[os-controller] in it's run list, so I tried "knife search" command at my chef server CML however I got a weird result as follow:
~]# knife search node role:os-controller
2 items found

Node Name:   centos-10-145-88-153
Environment: _default
FQDN:       
IP:          10.145.88.153
Run List:    recipe[keepalived], recipe[haproxy::tcp_lb]
Roles:      
Recipes:     keepalived, haproxy::tcp_lb, keepalived::default, haproxy::install_package
Platform:    centos 6.5
Tags:       

Node Name:   centos-10-145-88-152
Environment: testing
FQDN:       
IP:          10.145.88.152
Run List:    recipe[keepalived], recipe[haproxy::tcp_lb], role[os-controller]
Roles:      
Recipes:     keepalived, haproxy::tcp_lb, keepalived::default, haproxy::install_package
Platform:    centos 6.5
Tags:       

~]#


In my understanding, chef server should only return one node info with role[os-controller] (here is centos-10-145-88-152), but it return two nodes. I have no idea how to figure it out.

If someone can point it out, it will be much appreciated.

Thanks,
Sam












Archive powered by MHonArc 2.6.16.

§