Although the ASA is already in 9.x code, I’ve recently come across multiple clients that are chugging away on 8.2.x code. I’ve seen quite a few upgrades lately, but one that stands out was not as smooth as some might think. Here’s why.
The ASA upgrade path is well documented. Still, following the instructions don’t always yield the same result. What should you look for if you end up with a boot loop? Names. That’s right, names.
In ASA 8.2 code it’s possible to create a name to IP resolution using the name command.
name 10.1.1.1 SuperServer1
This name can be used in static nat statements, ACL’s and so on. However the new ASA code, 8.3 and later, use network objects instead. This is all well and good, and you’d expect the migration to convert these names to objects, however I’ve seen and ASA with numerous name statements go into a boot loop upon upgrade from 8.2(5) to 8.4(6). How do you remedy this? It’s easier than you think.
To remedy the boot loop scenario try to remove the names. It doesn’t have an adverse effect on the configuration as it simply converts every use of the name to the IP address in the configuration.
clear configure name
-or-
no name X.X.X.X {name}
After removing the names try your upgrade again and the boot loop should resolve itself.
Enjoy!