Knife bootstrap still installs old chef-client version


#1

Hello all,
I am quite new to chef.
Usually I install the chef client to new node via knife bootstrap command.
I am now figuring out how to tell knife to install the a chef client version when this become available.
Would you mind to tell me how knife look for and install the chef client on a new node?

Thank You

Regards

M.


#2

Once you have Chef Client running, you can have Chef update itself, via this cookbook: https://github.com/chef-cookbooks/chef_client_updater


#3

Thanks kallistec, I am aware of the new version of omnibus_updater.
Anyway, because first of all I need to boostrap a node, I would like to already install the latest version instead of do a further action to upgrade the client via that cookbook.


#4

The point is knife is only used for the initial set up, after that you need to find some other system like the aforementioned cookbook. For the first time setup you can still use knife bootstrap. By default I think it installs the major version matching that on the workstation.


#5

Thanks coderanger,
I was trying to understand how knife bootstrap chose the version to install.
For a while I thought it tried to download the latest version from internet but after some tries I realized it was stil installing same old version so I wonder how I can tall it to install the latest one…


#6

Did you set the version in your knife config file? The default behavior is to install the newest version of the same major version that you have locally, e.g., if you have chef/knife 12.18 it should install chef 12.20 when you bootstrap but it won’t try to install chef 13.x.


#7

I found out I had chefdk-0.17.17-1.el7.x86_64.
I upgraded it to :chefdk-1.4.3-1.el7
Anyway knife -v give me back Chef: 12.19.36
In my chef-repo dir I found out too a directory namend bootstrap which contains a couple of file:
chef-12.14.60-1.el5.x86_64.rpm and chef-full.erb.
Do you thin it would be sufficient to replace the old rpm with the new one I would like to install?