Rollback fails if package is on tentacle but no longer in the NuGet feed

Hi,

We’re running Octopus 1.6.1.1718 with a file-share NuGet feed. Because things slow down when the feed gets too large, we have a nightly script which removes any package more than 3 weeks old from the feed. (We keep older packages in TeamCity, but for security reasons our Octopus server doesn’t have direct access to the TeamCity server.)

Since we don’t have space concerns on the tentacles, we have a retention policy set to keep releases on tentacles for 120 days.

We had a failed deployment for one of our apps today. We tried to roll back by redeploying the last release via Octopus. Unfortunately, the last release was deployed more than three weeks ago. So the package was no longer in our NuGet feed. It was also no longer in the Octopus server’s package cache, since that’s also limited to the last 20 days (http://help.octopusdeploy.com/discussions/questions/640-clearing-nuget-package-cache). We got an error like the following, even if we left both “re-download” and “re-deploy” unchecked:

2013-07-10 05:50:52 ERROR Unable to download package: Could not find package OurPackage 0.0.384.0 in feed: ‘\our-san-server\Releases\NuGet’

We worked around the problem by manually copying it from TeamCity into the NuGet feed, then trying again.

We could keep more old packages in our NuGet feed, but that will cause performance problems. Since the old release was actually still there on the tentacle, is there any way to tell the tentacle to just use the old release, even if the package is no longer available in the NuGet feed or on the Octopus server?

I guess what we need is just a way to update the app’s IIS physical path across all machines, so it points to the path of the old release.

Thanks for your help,
Richard

Hi Richard, thanks for the suggestion. We’ll try to work out a nice way of handling this in a future release. For now you would need to manually update the physical path (perhaps using PowerShell if you have many machines to do it on).

Paul

Is this problem solved in 2.x? We encountered the exact same problem today.

Hi Erik,

We’re going to build in “rollbacks” as a high level concept in the future, but we don’t have any solution at the moment. The Octopus script console might be a useful way to automatically run a rollback script over a number of machines or point the IIS home directory back to another path.

Paul