Upgrade Nexus Repository from 3.43 to 3.66

Hi Sonatype Team

I am getting the following when upgrading Nexus from 3.43 to 3.66
java.lang.IllegalStateException: Missing recipe: puppet-proxy

I see on github this was fixed in 3.42, but as I said, we are already on 3.43.

To compound things, I tried rolling back with using the restore-from-backup folder and it fails with
java.lang.IllegalStateException: Incompatible sonatype-work database model detected. Will result in failure to launch. Shutting down.

I see now that a downgrade/restore will not work, as we are missing the blob export step.
So, my question is, how can I get to 3.66 or higher?

Puppet hasn’t been part of Nexus to my knowledge which suggests you’re missing a plugin you’ve used previously.

Thanks for reviewing Matthew.
I was wanting to make sure the following was not somehow reverted.

This was fixed in 3.42, and the version I am upgrading from is 3.43, but somewhere in between 3.43 and 3.66, this looks to have reverted.

While we do use puppet, I don’t even see a puppet-proxy submodule out there for download.

Can you confirm the link I provided and the code it references still exists in 3.66 ?


It wasn’t part of Nexus, you would have installed a plugin separately.

Matthew - We are seeing in the repo that is indeed a nexus provided plugin. We didnt download it previously, we havent downloaded it this time. This seems to be the problem. the plugin was REMOVED from nexus repo in between the version we were on and the version we are trying to update to.

The nexus code is requiring this plugin to start the application. We would love to not use it if it is not required, but it seems it is required.

@mark.m.mckinley There is an inactive community plugin for Puppet, but this has never shipped as part of Nexus Repository’s official bundles. Is it possible that this was installed after the fact by another administrator at some point?

I understand what you are saying. Unfortunately the upgrade is requiring this and I dont see a way to get around it. If the recipe isnt hard coded , how do I get around this? I havent seen a start without recipe command to include in the startup.

Missing recipe: puppet-proxy

@mark.m.mckinley What seems to be happening is that, at some point, someone installed the puppet plugin and created a puppet repository. This is what’s causing Repository to look for a so-called recipe for the request-processing stack for a puppet repository. As it boots, it iterates through the configured repositories and tries to build the in-memory representation of each one, and it’s failing for lack of a (working) puppet plugin. Either the plugin isn’t installed any more for some reason, or it’s not compatible with the newer versions of Repository.

If you’re using Repository Pro, can you have a designated support contact contact Sonatype Support? Further assistance is beyond what we can do in a community forum.

Failing that, what you might do is restore your pre-upgrade backup, remove the puppet repository and then try again.

That sounds more like what is going on. I didnt think we had a puppet repository, but perhaps it was done just to this instance for testing purposes.

That fits the scenario.

I will see about finding and killing a puppet repo somewhere in that unit.

Thank you for your time and explanations.