# Chef Server 12 upgrade failure

**URL:** <https://discourse.chef.io/t/chef-server-12-upgrade-failure/6456>\
**Category:** Chef Infra (archive)\
**Created:** [March 4, 2015, 5:46pm UTC](https://discourse.chef.io/t/chef-server-12-upgrade-failure/6456 "2015-03-04T17:46:38Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Michael\_Hart](https://avatars.discourse-cdn.com/v4/letter/m/8edcca/32.png) [@Michael\_Hart](https://discourse.chef.io/u/Michael_Hart)\
**Post date:** [March 4, 2015, 5:46pm UTC](https://discourse.chef.io/t/chef-server-12-upgrade-failure/6456/1 "2015-03-04T17:46:38Z")

</div>

We are trying to upgrade to Chef Server 12 (from 11.1.1), and ran into this error when running the "chef-server-ctl chef12-upgrade-download” command (which I think is just doing “knife download /“):

ERROR: Chef::ChefFS::FileSystem::NotFoundError: Chef::ChefFS::FileSystem::NotFoundError  
knife download failed with pid 9244 exit 100

It was in the middle of downloading a few versions of a cookbook, which I can download successfully using knife cookbook download.

From what we can tell there’s no errors in the chef server log at all.

Any suggestions/ideas?

Thanks  
mike  
—  
Michael Hart  
Arctic Wolf Networks  
226.388.4773

---

<div class="post-metadata">

**Author:** ![mmzyk](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/mmzyk/32/1039_2.png) [@mmzyk](https://discourse.chef.io/u/mmzyk)\
**Post date:** [March 5, 2015, 4:25pm UTC](https://discourse.chef.io/t/chef-server-12-upgrade-failure/6456/2 "2015-03-05T16:25:27Z")

</div>

Hi Michael,

You're correct that it's using knife download. To give you more insight  
into the process, all the upgrade code is here:

> <https://github.com/chef-boneyard/opscode-omnibus/tree/master/files/private-chef-ctl-commands>
>
> //github.com/chef-boneyard/opscode-omnibus/tree/master/files/private-chef-ctl-commands

Look at the chef12\_upgrade\* files and the open\_source\_chef12\_upgrade.rb  
file.

Specifically, the knife download is run here:

> <https://github.com/chef-boneyard/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open_source_chef12_upgrade.rb>

I don't know why it would fail during the upgrade but work for you  
locally. On the upgrade it is using the bundled in chef-client that is  
used to configure the chef server, so perhaps it is a difference in  
client version. You can, if you explore the upgrade code, replicate  
manually what the upgrade code is doing using your local chef-client and  
then you could proceed on with the other steps.

Can you tell me what version of the chef-client you're using that works?  
I think I've seen this error crop up for others but I'm not sure what  
causes it. Also what versions are your Chef 11 server and Chef 12 server  
package?

Thanks,

Mark

> Michael Hart [mailto:michael.hart@arcticwolf.com](mailto:michael.hart@arcticwolf.com)  
> March 4, 2015 at 12:46 PM  
> We are trying to upgrade to Chef Server 12 (from 11.1.1), and ran into  
> this error when running the "chef-server-ctl chef12-upgrade-download”  
> command (which I think is just doing “knife download /“):
> 
> ERROR: Chef::ChefFS::FileSystem::NotFoundError:  
> Chef::ChefFS::FileSystem::NotFoundError  
> knife download failed with pid 9244 exit 100
> 
> It was in the middle of downloading a few versions of a cookbook,  
> which I can download successfully using knife cookbook download.
> 
> From what we can tell there’s no errors in the chef server log at all.
> 
> Any suggestions/ideas?
> 
> Thanks  
> mike  
> —  
> Michael Hart  
> Arctic Wolf Networks  
> 226.388.4773

---

<div class="post-metadata">

**Author:** ![Michael\_Hart](https://avatars.discourse-cdn.com/v4/letter/m/8edcca/32.png) [@Michael\_Hart](https://discourse.chef.io/u/Michael_Hart)\
**Post date:** [March 5, 2015, 8:35pm UTC](https://discourse.chef.io/t/chef-server-12-upgrade-failure/6456/3 "2015-03-05T20:35:00Z")

</div>

Hi Mark,

Thanks for the response. We have chef server 11 and 12 installed on the same node, which is arguably not the best approach but so be it.

So versions:  
Chef Server 11.1.1-1  
Chef Server 12.0.5-1  
Chef Client 11.16.4-1

We trimmed down the amount of data in chef significantly and am running another export again. I dare not say that it’s going well for fear of jinxing it, except that it’s been running for \> 6 hours.

Thanks  
mike  
—  
Michael Hart  
Arctic Wolf Networks  
226.388.4773

From: Mark Mzyk  
Reply-To: "chef@lists.opscode.com[mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)"  
Date: Thursday, March 5, 2015 at 11:25  
To: "chef@lists.opscode.com[mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)"  
Subject: [chef] Re: Chef Server 12 upgrade failure

Hi Michael,

You’re correct that it’s using knife download. To give you more insight into the process, all the upgrade code is here: [https://github.com/chef/opscode-omnibus/tree/master/files/private-chef-ctl-commands](https://github.com/chef/opscode-omnibus/tree/master/files/private-chef-ctl-commands)

Look at the chef12\_upgrade\* files and the open\_source\_chef12\_upgrade.rb file.

Specifically, the knife download is run here: [https://github.com/chef/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open\_source\_chef12\_upgrade.rb](https://github.com/chef/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open_source_chef12_upgrade.rb)

I don’t know why it would fail during the upgrade but work for you locally. On the upgrade it is using the bundled in chef-client that is used to configure the chef server, so perhaps it is a difference in client version. You can, if you explore the upgrade code, replicate manually what the upgrade code is doing using your local chef-client and then you could proceed on with the other steps.

Can you tell me what version of the chef-client you’re using that works? I think I’ve seen this error crop up for others but I’m not sure what causes it. Also what versions are your Chef 11 server and Chef 12 server package?

Thanks,

Mark

[cid:part1.09020607.08000001@chef.io]  
Michael Hart[mailto:michael.hart@arcticwolf.com](mailto:michael.hart@arcticwolf.com)  
March 4, 2015 at 12:46 PM  
We are trying to upgrade to Chef Server 12 (from 11.1.1), and ran into this error when running the "chef-server-ctl chef12-upgrade-download” command (which I think is just doing “knife download /“):

ERROR: Chef::ChefFS::FileSystem::NotFoundError: Chef::ChefFS::FileSystem::NotFoundError  
knife download failed with pid 9244 exit 100

It was in the middle of downloading a few versions of a cookbook, which I can download successfully using knife cookbook download.

From what we can tell there’s no errors in the chef server log at all.

Any suggestions/ideas?

Thanks  
mike  
—  
Michael Hart  
Arctic Wolf Networks  
226.388.4773

---

<div class="post-metadata">

**Author:** ![mmzyk](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/mmzyk/32/1039_2.png) [@mmzyk](https://discourse.chef.io/u/mmzyk)\
**Post date:** [March 6, 2015, 1:58pm UTC](https://discourse.chef.io/t/chef-server-12-upgrade-failure/6456/4 "2015-03-06T13:58:30Z")

</div>

Having it on the same node is fine; that's the default case the upgrade  
process was designed for. Hopefully it all goes well this time. If it  
does not, let us know and we'll help you get it sorted. The upgrade is  
taking as long as it is because the process is download all the  
data/transform it to Chef 12 format/upload all the data to a new server.  
The more data you have the longer it'll take (having many cookbook  
versions is a particular culprit here). It was done this way so that all  
your data moved through the API so we could ensure it would be in a good  
format on the Chef 12 server. We recognized that this might take a  
while, which is why the chef12-upgrade-\* commands exist to give you  
finer control over the process.

- Mark

> Michael Hart [mailto:michael.hart@arcticwolf.com](mailto:michael.hart@arcticwolf.com)  
> March 5, 2015 at 3:35 PM  
> Hi Mark,
> 
> Thanks for the response. We have chef server 11 and 12 installed on  
> the same node, which is arguably not the best approach but so be it.
> 
> So versions:  
> Chef Server 11.1.1-1  
> Chef Server 12.0.5-1  
> Chef Client 11.16.4-1
> 
> We trimmed down the amount of data in chef significantly and am  
> running another export again. I dare not say that it’s going well for  
> fear of jinxing it, except that it’s been running for \> 6 hours.
> 
> Thanks  
> mike  
> —  
> Michael Hart  
> Arctic Wolf Networks  
> 226.388.4773
> 
> From: Mark Mzyk  
> Reply-To: "[chef@lists.opscode.com](mailto:chef@lists.opscode.com) [mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)"  
> Date: Thursday, March 5, 2015 at 11:25  
> To: "[chef@lists.opscode.com](mailto:chef@lists.opscode.com) [mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)"  
> Subject: [chef] Re: Chef Server 12 upgrade failure
> 
> Hi Michael,
> 
> You're correct that it's using knife download. To give you more  
> insight into the process, all the upgrade code is here:  
> [https://github.com/chef/opscode-omnibus/tree/master/files/private-chef-ctl-commands](https://github.com/chef/opscode-omnibus/tree/master/files/private-chef-ctl-commands)
> 
> Look at the chef12\_upgrade\* files and the  
> open\_source\_chef12\_upgrade.rb file.
> 
> Specifically, the knife download is run here:  
> [https://github.com/chef/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open\_source\_chef12\_upgrade.rb](https://github.com/chef/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open_source_chef12_upgrade.rb)
> 
> I don't know why it would fail during the upgrade but work for you  
> locally. On the upgrade it is using the bundled in chef-client that is  
> used to configure the chef server, so perhaps it is a difference in  
> client version. You can, if you explore the upgrade code, replicate  
> manually what the upgrade code is doing using your local chef-client  
> and then you could proceed on with the other steps.
> 
> Can you tell me what version of the chef-client you're using that  
> works? I think I've seen this error crop up for others but I'm not  
> sure what causes it. Also what versions are your Chef 11 server and  
> Chef 12 server package?
> 
> Thanks,
> 
> Mark
> 
> Mark Mzyk [mailto:mmzyk@chef.io](mailto:mmzyk@chef.io)  
> March 5, 2015 at 11:25 AM  
> Hi Michael,
> 
> You're correct that it's using knife download. To give you more  
> insight into the process, all the upgrade code is here:  
> [https://github.com/chef/opscode-omnibus/tree/master/files/private-chef-ctl-commands](https://github.com/chef/opscode-omnibus/tree/master/files/private-chef-ctl-commands)
> 
> Look at the chef12\_upgrade\* files and the  
> open\_source\_chef12\_upgrade.rb file.
> 
> Specifically, the knife download is run here:  
> [https://github.com/chef/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open\_source\_chef12\_upgrade.rb](https://github.com/chef/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open_source_chef12_upgrade.rb)
> 
> I don't know why it would fail during the upgrade but work for you  
> locally. On the upgrade it is using the bundled in chef-client that is  
> used to configure the chef server, so perhaps it is a difference in  
> client version. You can, if you explore the upgrade code, replicate  
> manually what the upgrade code is doing using your local chef-client  
> and then you could proceed on with the other steps.
> 
> Can you tell me what version of the chef-client you're using that  
> works? I think I've seen this error crop up for others but I'm not  
> sure what causes it. Also what versions are your Chef 11 server and  
> Chef 12 server package?
> 
> Thanks,
> 
> Mark
> 
> Michael Hart [mailto:michael.hart@arcticwolf.com](mailto:michael.hart@arcticwolf.com)  
> March 4, 2015 at 12:46 PM  
> We are trying to upgrade to Chef Server 12 (from 11.1.1), and ran into  
> this error when running the "chef-server-ctl chef12-upgrade-download”  
> command (which I think is just doing “knife download /“):
> 
> ERROR: Chef::ChefFS::FileSystem::NotFoundError:  
> Chef::ChefFS::FileSystem::NotFoundError  
> knife download failed with pid 9244 exit 100
> 
> It was in the middle of downloading a few versions of a cookbook,  
> which I can download successfully using knife cookbook download.
> 
> From what we can tell there’s no errors in the chef server log at all.
> 
> Any suggestions/ideas?
> 
> Thanks  
> mike  
> —  
> Michael Hart  
> Arctic Wolf Networks  
> 226.388.4773

---

<div class="post-metadata">

**Author:** ![Michael\_Hart](https://avatars.discourse-cdn.com/v4/letter/m/8edcca/32.png) [@Michael\_Hart](https://discourse.chef.io/u/Michael_Hart)\
**Post date:** [March 6, 2015, 7:54pm UTC](https://discourse.chef.io/t/chef-server-12-upgrade-failure/6456/5 "2015-03-06T19:54:56Z")

</div>

The download failed with an EOF error shortly after I sent the email.

We did a huge ‘spring’ cleaning of all the roles/cookbooks before this last run, we had a lot of cruft that needed cleansing.

What’s odd is that the "chef-server-ctl chef12-upgrade-download” command is just running a “knife download /“ behind the scenes, and that process used 100% of one CPU for the full 7 hours. It appeared to slow down over time, and I noticed that it opens/closes a new https session for every file it downloads.

In comparison, for backups we’re using the knife backup plugin (I think from [https://github.com/mdxp/knife-backup](https://github.com/mdxp/knife-backup)) and it can export the entire server in about 1.5 hours. We run a full backup every night and a —latest every few hours. We’re still trying to figure out what the difference is and why one works and the other fails. And if there’s a difference in the data that they provide.

Thanks  
Mike

—  
Michael Hart  
Arctic Wolf Networks  
226.388.4773

From: Mark Mzyk  
Reply-To: "chef@lists.opscode.com[mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)"  
Date: Friday, March 6, 2015 at 08:58  
To: "chef@lists.opscode.com[mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)"  
Subject: [chef] Re: Re: Re: Chef Server 12 upgrade failure

Having it on the same node is fine; that’s the default case the upgrade process was designed for. Hopefully it all goes well this time. If it does not, let us know and we’ll help you get it sorted. The upgrade is taking as long as it is because the process is download all the data/transform it to Chef 12 format/upload all the data to a new server. The more data you have the longer it’ll take (having many cookbook versions is a particular culprit here). It was done this way so that all your data moved through the API so we could ensure it would be in a good format on the Chef 12 server. We recognized that this might take a while, which is why the chef12-upgrade-\* commands exist to give you finer control over the process.

- Mark

[cid:part1.04040905.09050800@chef.io]  
Michael Hart[mailto:michael.hart@arcticwolf.com](mailto:michael.hart@arcticwolf.com)  
March 5, 2015 at 3:35 PM  
Hi Mark,

Thanks for the response. We have chef server 11 and 12 installed on the same node, which is arguably not the best approach but so be it.

So versions:  
Chef Server 11.1.1-1  
Chef Server 12.0.5-1  
Chef Client 11.16.4-1

We trimmed down the amount of data in chef significantly and am running another export again. I dare not say that it’s going well for fear of jinxing it, except that it’s been running for \> 6 hours.

Thanks  
mike  
—  
Michael Hart  
Arctic Wolf Networks  
226.388.4773

From: Mark Mzyk  
Reply-To: "chef@lists.opscode.com[mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)"  
Date: Thursday, March 5, 2015 at 11:25  
To: "chef@lists.opscode.com[mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)"  
Subject: [chef] Re: Chef Server 12 upgrade failure

Hi Michael,

You’re correct that it’s using knife download. To give you more insight into the process, all the upgrade code is here: [https://github.com/chef/opscode-omnibus/tree/master/files/private-chef-ctl-commands](https://github.com/chef/opscode-omnibus/tree/master/files/private-chef-ctl-commands)

Look at the chef12\_upgrade\* files and the open\_source\_chef12\_upgrade.rb file.

Specifically, the knife download is run here: [https://github.com/chef/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open\_source\_chef12\_upgrade.rb](https://github.com/chef/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open_source_chef12_upgrade.rb)

I don’t know why it would fail during the upgrade but work for you locally. On the upgrade it is using the bundled in chef-client that is used to configure the chef server, so perhaps it is a difference in client version. You can, if you explore the upgrade code, replicate manually what the upgrade code is doing using your local chef-client and then you could proceed on with the other steps.

Can you tell me what version of the chef-client you’re using that works? I think I’ve seen this error crop up for others but I’m not sure what causes it. Also what versions are your Chef 11 server and Chef 12 server package?

Thanks,

Mark

[cid:part1.04040905.09050800@chef.io]  
Mark Mzyk[mailto:mmzyk@chef.io](mailto:mmzyk@chef.io)  
March 5, 2015 at 11:25 AM  
Hi Michael,

You’re correct that it’s using knife download. To give you more insight into the process, all the upgrade code is here: [https://github.com/chef/opscode-omnibus/tree/master/files/private-chef-ctl-commands](https://github.com/chef/opscode-omnibus/tree/master/files/private-chef-ctl-commands)

Look at the chef12\_upgrade\* files and the open\_source\_chef12\_upgrade.rb file.

Specifically, the knife download is run here: [https://github.com/chef/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open\_source\_chef12\_upgrade.rb](https://github.com/chef/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open_source_chef12_upgrade.rb)

I don’t know why it would fail during the upgrade but work for you locally. On the upgrade it is using the bundled in chef-client that is used to configure the chef server, so perhaps it is a difference in client version. You can, if you explore the upgrade code, replicate manually what the upgrade code is doing using your local chef-client and then you could proceed on with the other steps.

Can you tell me what version of the chef-client you’re using that works? I think I’ve seen this error crop up for others but I’m not sure what causes it. Also what versions are your Chef 11 server and Chef 12 server package?

Thanks,

Mark

[cid:part1.04040905.09050800@chef.io]  
Michael Hart[mailto:michael.hart@arcticwolf.com](mailto:michael.hart@arcticwolf.com)  
March 4, 2015 at 12:46 PM  
We are trying to upgrade to Chef Server 12 (from 11.1.1), and ran into this error when running the "chef-server-ctl chef12-upgrade-download” command (which I think is just doing “knife download /“):

ERROR: Chef::ChefFS::FileSystem::NotFoundError: Chef::ChefFS::FileSystem::NotFoundError  
knife download failed with pid 9244 exit 100

It was in the middle of downloading a few versions of a cookbook, which I can download successfully using knife cookbook download.

From what we can tell there’s no errors in the chef server log at all.

Any suggestions/ideas?

Thanks  
mike  
—  
Michael Hart  
Arctic Wolf Networks  
226.388.4773

---

<div class="post-metadata">

**Author:** ![mmzyk](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/mmzyk/32/1039_2.png) [@mmzyk](https://discourse.chef.io/u/mmzyk)\
**Post date:** [March 6, 2015, 10:40pm UTC](https://discourse.chef.io/t/chef-server-12-upgrade-failure/6456/6 "2015-03-06T22:40:20Z")

</div>

I'm not sure why the chef12-upgrade-download command would be taking so  
much cpu. It is, as you say, running a knife download as a first step.  
After that step it then accesses the db to grab some final data that it  
doesn't get through knife download.

You can try to run this process with your own local knife. You just need  
to replicate what the code is doing, specifically in this method:

> <https://github.com/chef-boneyard/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open_source_chef12_upgrade.rb#L58>

Note that you can inspect all the data it already downloaded. It's on  
disk in /tmp/chef11- unless you used the command line  
option to save it somewhere else. It's all in json and text files, so  
it's easy to see what is there.

As far as replicating what chef12-upgrade-download is doing, you'll want  
to make sure your config is set properly, like so:

> <https://github.com/chef-boneyard/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open_source_chef12_upgrade.rb#L337>

Then run knife download:

> <https://github.com/chef-boneyard/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open_source_chef12_upgrade.rb#L351>

The hardest part is that you'll need to make the key\_dump.json file that  
will live with your chef11 data at the top level dir. That is created in  
the upgrade process here:

> <https://github.com/chef-boneyard/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open_source_chef12_upgrade.rb#L39>

but is populated later on here:

> <https://github.com/chef-boneyard/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open_source_chef12_upgrade.rb#L379>

Once you have the data downloaded and the key\_dump.json in place, you've  
done all the steps that the chef12-upgrade-download command would do.  
You can then pick up with the chef12-upgrade-data-transform command and  
point it at your data location.

It's hard for me to offer any more advice than this without seeing stack  
traces and having more info. If you continue to have issues it's  
probably best to open an issue against the chef-server repo.

Hope this helps.

- Mark

> Michael Hart [mailto:michael.hart@arcticwolf.com](mailto:michael.hart@arcticwolf.com)  
> March 6, 2015 at 2:54 PM  
> The download failed with an EOF error shortly after I sent the email.
> 
> We did a huge ‘spring’ cleaning of all the roles/cookbooks before this  
> last run, we had a lot of cruft that needed cleansing.
> 
> What’s odd is that the "chef-server-ctl chef12-upgrade-download”  
> command is just running a “knife download /“ behind the scenes, and  
> that process used 100% of one CPU for the full 7 hours. It appeared to  
> slow down over time, and I noticed that it opens/closes a new https  
> session for every file it downloads.
> 
> In comparison, for backups we’re using the knife backup plugin (I  
> think from [GitHub - mdxp/knife-backup: knife plugin to help backup and restore a chef server.](https://github.com/mdxp/knife-backup)) and it can export the  
> entire server in about 1.5 hours. We run a full backup every night and  
> a —latest every few hours. We’re still trying to figure out what the  
> difference is and why one works and the other fails. And if there’s a  
> difference in the data that they provide.
> 
> Thanks  
> Mike
> 
> —  
> Michael Hart  
> Arctic Wolf Networks  
> 226.388.4773
> 
> From: Mark Mzyk  
> Reply-To: "[chef@lists.opscode.com](mailto:chef@lists.opscode.com) [mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)"  
> Date: Friday, March 6, 2015 at 08:58  
> To: "[chef@lists.opscode.com](mailto:chef@lists.opscode.com) [mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)"  
> Subject: [chef] Re: Re: Re: Chef Server 12 upgrade failure
> 
> Having it on the same node is fine; that's the default case the  
> upgrade process was designed for. Hopefully it all goes well this  
> time. If it does not, let us know and we'll help you get it sorted.  
> The upgrade is taking as long as it is because the process is download  
> all the data/transform it to Chef 12 format/upload all the data to a  
> new server. The more data you have the longer it'll take (having many  
> cookbook versions is a particular culprit here). It was done this way  
> so that all your data moved through the API so we could ensure it  
> would be in a good format on the Chef 12 server. We recognized that  
> this might take a while, which is why the chef12-upgrade-\* commands  
> exist to give you finer control over the process.
> 
> - Mark
> 
> Mark Mzyk [mailto:mmzyk@chef.io](mailto:mmzyk@chef.io)  
> March 6, 2015 at 8:58 AM  
> Having it on the same node is fine; that's the default case the  
> upgrade process was designed for. Hopefully it all goes well this  
> time. If it does not, let us know and we'll help you get it sorted.  
> The upgrade is taking as long as it is because the process is download  
> all the data/transform it to Chef 12 format/upload all the data to a  
> new server. The more data you have the longer it'll take (having many  
> cookbook versions is a particular culprit here). It was done this way  
> so that all your data moved through the API so we could ensure it  
> would be in a good format on the Chef 12 server. We recognized that  
> this might take a while, which is why the chef12-upgrade-\* commands  
> exist to give you finer control over the process.
> 
> - Mark
> 
> Michael Hart [mailto:michael.hart@arcticwolf.com](mailto:michael.hart@arcticwolf.com)  
> March 5, 2015 at 3:35 PM  
> Hi Mark,
> 
> Thanks for the response. We have chef server 11 and 12 installed on  
> the same node, which is arguably not the best approach but so be it.
> 
> So versions:  
> Chef Server 11.1.1-1  
> Chef Server 12.0.5-1  
> Chef Client 11.16.4-1
> 
> We trimmed down the amount of data in chef significantly and am  
> running another export again. I dare not say that it’s going well for  
> fear of jinxing it, except that it’s been running for \> 6 hours.
> 
> Thanks  
> mike  
> —  
> Michael Hart  
> Arctic Wolf Networks  
> 226.388.4773
> 
> From: Mark Mzyk  
> Reply-To: "[chef@lists.opscode.com](mailto:chef@lists.opscode.com) [mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)"  
> Date: Thursday, March 5, 2015 at 11:25  
> To: "[chef@lists.opscode.com](mailto:chef@lists.opscode.com) [mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)"  
> Subject: [chef] Re: Chef Server 12 upgrade failure
> 
> Hi Michael,
> 
> You're correct that it's using knife download. To give you more  
> insight into the process, all the upgrade code is here:  
> [https://github.com/chef/opscode-omnibus/tree/master/files/private-chef-ctl-commands](https://github.com/chef/opscode-omnibus/tree/master/files/private-chef-ctl-commands)
> 
> Look at the chef12\_upgrade\* files and the  
> open\_source\_chef12\_upgrade.rb file.
> 
> Specifically, the knife download is run here:  
> [https://github.com/chef/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open\_source\_chef12\_upgrade.rb](https://github.com/chef/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open_source_chef12_upgrade.rb)
> 
> I don't know why it would fail during the upgrade but work for you  
> locally. On the upgrade it is using the bundled in chef-client that is  
> used to configure the chef server, so perhaps it is a difference in  
> client version. You can, if you explore the upgrade code, replicate  
> manually what the upgrade code is doing using your local chef-client  
> and then you could proceed on with the other steps.
> 
> Can you tell me what version of the chef-client you're using that  
> works? I think I've seen this error crop up for others but I'm not  
> sure what causes it. Also what versions are your Chef 11 server and  
> Chef 12 server package?
> 
> Thanks,
> 
> Mark
> 
> Mark Mzyk [mailto:mmzyk@chef.io](mailto:mmzyk@chef.io)  
> March 5, 2015 at 11:25 AM  
> Hi Michael,
> 
> You're correct that it's using knife download. To give you more  
> insight into the process, all the upgrade code is here:  
> [https://github.com/chef/opscode-omnibus/tree/master/files/private-chef-ctl-commands](https://github.com/chef/opscode-omnibus/tree/master/files/private-chef-ctl-commands)
> 
> Look at the chef12\_upgrade\* files and the  
> open\_source\_chef12\_upgrade.rb file.
> 
> Specifically, the knife download is run here:  
> [https://github.com/chef/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open\_source\_chef12\_upgrade.rb](https://github.com/chef/opscode-omnibus/blob/master/files/private-chef-ctl-commands/open_source_chef12_upgrade.rb)
> 
> I don't know why it would fail during the upgrade but work for you  
> locally. On the upgrade it is using the bundled in chef-client that is  
> used to configure the chef server, so perhaps it is a difference in  
> client version. You can, if you explore the upgrade code, replicate  
> manually what the upgrade code is doing using your local chef-client  
> and then you could proceed on with the other steps.
> 
> Can you tell me what version of the chef-client you're using that  
> works? I think I've seen this error crop up for others but I'm not  
> sure what causes it. Also what versions are your Chef 11 server and  
> Chef 12 server package?
> 
> Thanks,
> 
> Mark
> 
> Michael Hart [mailto:michael.hart@arcticwolf.com](mailto:michael.hart@arcticwolf.com)  
> March 4, 2015 at 12:46 PM  
> We are trying to upgrade to Chef Server 12 (from 11.1.1), and ran into  
> this error when running the "chef-server-ctl chef12-upgrade-download”  
> command (which I think is just doing “knife download /“):
> 
> ERROR: Chef::ChefFS::FileSystem::NotFoundError:  
> Chef::ChefFS::FileSystem::NotFoundError  
> knife download failed with pid 9244 exit 100
> 
> It was in the middle of downloading a few versions of a cookbook,  
> which I can download successfully using knife cookbook download.
> 
> From what we can tell there’s no errors in the chef server log at all.
> 
> Any suggestions/ideas?
> 
> Thanks  
> mike  
> —  
> Michael Hart  
> Arctic Wolf Networks  
> 226.388.4773

---

<div class="post-metadata">

**Author:** ![Ivan\_Suftin](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/ivan_suftin/32/159_2.png) [@Ivan\_Suftin](https://discourse.chef.io/u/Ivan_Suftin)\
**Post date:** [March 16, 2015, 2:22am UTC](https://discourse.chef.io/t/chef-server-12-upgrade-failure/6456/7 "2015-03-16T02:22:36Z")

</div>

Ohai Chefs!

CentOS package\_resource question.

In one of my recipes I have:

package "kernel-devel-#{node[‘os\_version’]}”

This fails with: ERROR: Converge failed with error message yum\_package[kernel-devel-2.6.32-504.el6.x86\_64] (chs\_sep::install\_sep line 22) had an error:  
Chef::Exceptions:📦 No candidate version available for kernel-devel-2.6.32-504.el6.x86\_64

However, yum info kernel-devel-2.6.32-504.el6.x86\_64 shows it to be a valid package (and is already installed):

# yum info kernel-devel-2.6.32-504.el6.x86\_64

Loaded plugins: fastestmirror  
Loading mirror speeds from cached hostfile

- base: [mirror.dattobackup.com](http://mirror.dattobackup.com)
- extras: [mirrors.gigenet.com](http://mirrors.gigenet.com)
- updates: [mirror.team-cymru.org](http://mirror.team-cymru.org)  
Installed Packages  
Name : kernel-devel  
Arch : x86\_64  
Version : 2.6.32  
Release : 504.el6  
Size : 25 M  
Repo : installed  
From repo : base  
Summary : Development package for building kernel modules to match the kernel  
URL : [http://www.kernel.org/](http://www.kernel.org/)  
License : GPLv2  
Description : This package provides kernel headers and makefiles sufficient to build modules  
: against the kernel package.

So what gives??

---

<div class="post-metadata">

**Author:** ![Ivan\_Suftin](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/ivan_suftin/32/159_2.png) [@Ivan\_Suftin](https://discourse.chef.io/u/Ivan_Suftin)\
**Post date:** [March 16, 2015, 1:30pm UTC](https://discourse.chef.io/t/chef-server-12-upgrade-failure/6456/8 "2015-03-16T13:30:18Z")

</div>

By the way,

This works:

package "kernel-devel" do  
version "2.6.32-504.el6"  
arch "x86\_64"  
end

But it is not ideal (for CentOS, anyway). There’s nowhere via ohai to get the version sans architecture. I have to play games with the string: "2.6.32-504.el6.x86\_64” in order to separate the two, create variables from them and feed them into the package resource.

Something along the lines of:  
ver = "2.6.32-504.el6.x86\_64” # coming from “${node[‘os\_version’]}"  
arch = "”x86\_64” # coming from “${node[‘arch’]}  
ver = ver[0..ver.rindex(arch) - 2]

(Ruby people, does anyone have a better substringing function for this?)  
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ (╯°□°）╯︵ ┻━┻  
Ivan Suftin - Applications Developer - [isuftin@usgs.gov](mailto:isuftin@usgs.gov)  
Office: (608) 821-3825 - Cell : (608) 345-8963  
Center for Integrated Data Analytics - [http://cida.usgs.gov/](http://cida.usgs.gov/)  
United States Geological Survey  
8505 Research Way, Middleton, WI 53562

> On Mar 15, 2015, at 9:22 PM, Ivan Suftin [isuftin@usgs.gov](mailto:isuftin@usgs.gov) wrote:
> 
> Ohai Chefs!
> 
> CentOS package\_resource question.
> 
> In one of my recipes I have:
> 
> package "kernel-devel-#{node['os\_version']}”
> 
> This fails with: ERROR: Converge failed with error message yum\_package[kernel-devel-2.6.32-504.el6.x86\_64] (chs\_sep::install\_sep line 22) had an error:  
> Chef::Exceptions:📦 No candidate version available for kernel-devel-2.6.32-504.el6.x86\_64
> 
> However, yum info kernel-devel-2.6.32-504.el6.x86\_64 shows it to be a valid package (and is already installed):
> 
> # yum info kernel-devel-2.6.32-504.el6.x86\_64
> 
> Loaded plugins: fastestmirror  
> Loading mirror speeds from cached hostfile
> 
> - base: [mirror.dattobackup.com](http://mirror.dattobackup.com)
> - extras: [mirrors.gigenet.com](http://mirrors.gigenet.com)
> - updates: [mirror.team-cymru.org](http://mirror.team-cymru.org)  
> Installed Packages  
> Name : kernel-devel  
> Arch : x86\_64  
> Version : 2.6.32  
> Release : 504.el6  
> Size : 25 M  
> Repo : installed  
> From repo : base  
> Summary : Development package for building kernel modules to match the kernel  
> URL : [http://www.kernel.org/](http://www.kernel.org/)  
> License : GPLv2  
> Description : This package provides kernel headers and makefiles sufficient to build modules  
> : against the kernel package.
> 
> So what gives??

---

<div class="post-metadata">

**Author:** ![Brandon\_Raabe](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/brandon_raabe/32/40_2.png) [@Brandon\_Raabe](https://discourse.chef.io/u/Brandon_Raabe)\
**Post date:** [March 16, 2015, 4:24pm UTC](https://discourse.chef.io/t/chef-server-12-upgrade-failure/6456/9 "2015-03-16T16:24:28Z")

</div>

You can use the following to remove the arch from the string:

ver = '2.6.32-504.el6.x86\_64'  
=\> "2.6.32-504.el6.x86\_64"  
ver.sub(".#{node['arch']}", '')  
=\> "2.6.32-504.el6"

On Mon, Mar 16, 2015 at 6:30 AM, Ivan Suftin [isuftin@usgs.gov](mailto:isuftin@usgs.gov) wrote:

> By the way,
> 
> This works:
> 
> package "kernel-devel" do  
> version "2.6.32-504.el6"  
> arch "x86\_64"  
> end
> 
> But it is not ideal (for CentOS, anyway). There’s nowhere via ohai to get  
> the version sans architecture. I have to play games with the string:  
> "2.6.32-504.el6.x86\_64” in order to separate the two, create variables from  
> them and feed them into the package resource.
> 
> Something along the lines of:  
> ver = "2.6.32-504.el6.x86\_64” # coming from “${node[‘os\_version’]}"  
> arch = "”x86\_64” # coming from “${node[‘arch’]}  
> ver = ver[0..ver.rindex(arch) - 2]
> 
> (Ruby people, does anyone have a better substringing function for this?)  
> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ (╯°□°）╯︵ ┻━┻  
> Ivan Suftin - Applications Developer - [isuftin@usgs.gov](mailto:isuftin@usgs.gov)  
> Office: (608) 821-3825 - Cell : (608) 345-8963  
> Center for Integrated Data Analytics - [http://cida.usgs.gov/](http://cida.usgs.gov/)  
> United States Geological Survey  
> 8505 Research Way, Middleton, WI 53562
> 
> > On Mar 15, 2015, at 9:22 PM, Ivan Suftin [isuftin@usgs.gov](mailto:isuftin@usgs.gov) wrote:
> > 
> > Ohai Chefs!
> > 
> > CentOS package\_resource question.
> > 
> > In one of my recipes I have:
> > 
> > package "kernel-devel-#{node['os\_version']}”
> > 
> > This fails with: ERROR: Converge failed with error message  
> > yum\_package[kernel-devel-2.6.32-504.el6.x86\_64] (chs\_sep::install\_sep line
> 
> 1. had an error:
> 
> > ```
> > Chef::Exceptions::Package: No candidate version
> > 
> > ```
> 
> available for kernel-devel-2.6.32-504.el6.x86\_64
> 
> > However, yum info kernel-devel-2.6.32-504.el6.x86\_64 shows it to be a  
> > valid package (and is already installed):
> > 
> > # yum info kernel-devel-2.6.32-504.el6.x86\_64
> > 
> > Loaded plugins: fastestmirror  
> > Loading mirror speeds from cached hostfile
> > 
> > - base: [mirror.dattobackup.com](http://mirror.dattobackup.com)
> > - extras: [mirrors.gigenet.com](http://mirrors.gigenet.com)
> > - updates: [mirror.team-cymru.org](http://mirror.team-cymru.org)  
> > Installed Packages  
> > Name : kernel-devel  
> > Arch : x86\_64  
> > Version : 2.6.32  
> > Release : 504.el6  
> > Size : 25 M  
> > Repo : installed  
> > From repo : base  
> > Summary : Development package for building kernel modules to match  
> > the kernel  
> > URL : [http://www.kernel.org/](http://www.kernel.org/)  
> > License : GPLv2  
> > Description : This package provides kernel headers and makefiles  
> > sufficient to build modules  
> > : against the kernel package.
> > 
> > So what gives??

---

<div class="post-metadata">

**Author:** ![Ivan\_Suftin](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/ivan_suftin/32/159_2.png) [@Ivan\_Suftin](https://discourse.chef.io/u/Ivan_Suftin)\
**Post date:** [March 16, 2015, 7:35pm UTC](https://discourse.chef.io/t/chef-server-12-upgrade-failure/6456/10 "2015-03-16T19:35:02Z")

</div>

Thanks, Brandon. That works 😉  
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ (╯°□°）╯︵ ┻━┻  
Ivan Suftin - Applications Developer - [isuftin@usgs.gov](mailto:isuftin@usgs.gov)  
Office: (608) 821-3825 - Cell : (608) 345-8963  
Center for Integrated Data Analytics - [http://cida.usgs.gov/](http://cida.usgs.gov/)  
United States Geological Survey  
8505 Research Way, Middleton, WI 53562

> On Mar 16, 2015, at 11:24 AM, Brandon Raabe [brandocorp@gmail.com](mailto:brandocorp@gmail.com) wrote:
> 
> You can use the following to remove the arch from the string:
> 
> ver = '2.6.32-504.el6.x86\_64'  
> =\> "2.6.32-504.el6.x86\_64"  
> ver.sub(".#{node['arch']}", '')  
> =\> "2.6.32-504.el6"
> 
> On Mon, Mar 16, 2015 at 6:30 AM, Ivan Suftin \<[isuftin@usgs.gov](mailto:isuftin@usgs.gov) [mailto:isuftin@usgs.gov](mailto:isuftin@usgs.gov)\> wrote:  
> By the way,
> 
> This works:
> 
> package "kernel-devel" do  
> version "2.6.32-504.el6"  
> arch "x86\_64"  
> end
> 
> But it is not ideal (for CentOS, anyway). There’s nowhere via ohai to get the version sans architecture. I have to play games with the string: "2.6.32-504.el6.x86\_64” in order to separate the two, create variables from them and feed them into the package resource.
> 
> Something along the lines of:  
> ver = "2.6.32-504.el6.x86\_64” # coming from “${node[‘os\_version’]}"  
> arch = "”x86\_64” # coming from “${node[‘arch’]}  
> ver = ver[0..ver.rindex(arch) - 2]
> 
> (Ruby people, does anyone have a better substringing function for this?)  
> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ (╯°□°）╯︵ ┻━┻  
> Ivan Suftin - Applications Developer - [isuftin@usgs.gov](mailto:isuftin@usgs.gov) [mailto:isuftin@usgs.gov](mailto:isuftin@usgs.gov)  
> Office: (608) 821-3825 tel:(608)%20821-3825 - Cell : (608) 345-8963 tel:(608)%20345-8963  
> Center for Integrated Data Analytics - [http://cida.usgs.gov/](http://cida.usgs.gov/) [http://cida.usgs.gov/](http://cida.usgs.gov/)  
> United States Geological Survey  
> 8505 Research Way, Middleton, WI 53562
> 
> > On Mar 15, 2015, at 9:22 PM, Ivan Suftin \<[isuftin@usgs.gov](mailto:isuftin@usgs.gov) [mailto:isuftin@usgs.gov](mailto:isuftin@usgs.gov)\> wrote:
> > 
> > Ohai Chefs!
> > 
> > CentOS package\_resource question.
> > 
> > In one of my recipes I have:
> > 
> > package "kernel-devel-#{node['os\_version']}”
> > 
> > This fails with: ERROR: Converge failed with error message yum\_package[kernel-devel-2.6.32-504.el6.x86\_64] (chs\_sep::install\_sep line 22) had an error:  
> > Chef::Exceptions:📦 No candidate version available for kernel-devel-2.6.32-504.el6.x86\_64
> > 
> > However, yum info kernel-devel-2.6.32-504.el6.x86\_64 shows it to be a valid package (and is already installed):
> > 
> > # yum info kernel-devel-2.6.32-504.el6.x86\_64
> > 
> > Loaded plugins: fastestmirror  
> > Loading mirror speeds from cached hostfile
> > 
> > - base: [mirror.dattobackup.com](http://mirror.dattobackup.com) [http://mirror.dattobackup.com/](http://mirror.dattobackup.com/)
> > - extras: [mirrors.gigenet.com](http://mirrors.gigenet.com) [http://mirrors.gigenet.com/](http://mirrors.gigenet.com/)
> > - updates: [mirror.team-cymru.org](http://mirror.team-cymru.org) [http://mirror.team-cymru.org/](http://mirror.team-cymru.org/)  
> > Installed Packages  
> > Name : kernel-devel  
> > Arch : x86\_64  
> > Version : 2.6.32  
> > Release : 504.el6  
> > Size : 25 M  
> > Repo : installed  
> > From repo : base  
> > Summary : Development package for building kernel modules to match the kernel  
> > URL : [http://www.kernel.org/](http://www.kernel.org/) [http://www.kernel.org/](http://www.kernel.org/)  
> > License : GPLv2  
> > Description : This package provides kernel headers and makefiles sufficient to build modules  
> > : against the kernel package.
> > 
> > So what gives??
