I have been doing this recently. In our case it actually proved to be better to upgrade from 10.2.4 to 11.6.0 in one step (do your backups first).
Don't worry it is quite normal that your config was not restored upon booting into the v11.6 partition. This is due to a bunch of syntax changes in the bigip.conf file that you'll have to fix manually. Your configuration has not been wiped out and you can still find it in /config/bigpipe/bigip.conf : since the system was unable to load it, it loaded the defaults into /config/bigip.conf instead.
To find out which are the syntax errors that v11.6 threw, go check the the /var/log/ltm file and you'll find an indication of the bigip.conf's line and object name that tmos was unable to interpret.
If you use access policy, you'll need to prefix all your "access policy item" names with /Common/, since partitions were introduced at some point in v11.x. Also in all the "next item" calls you'll have to add the same /Common/ prefix to the name of the object.
Example:
v10.2.4 access policy item:
access policy item EXAMPLE_act_ldap_query {
type action
caption "LDAP Query";
color 1
rules {
expression none
caption "fallback";
next item EXAMPLE_act_variable_assign
}
agents EXAMPLE_act_ldap_query_ag {
type aaa ldap
}
}
v11.6 version of the same:
access policy item /Common/EXAMPLE_act_ldap_query {
type action
caption "LDAP Query"
color 1
rules {
expression none
caption "fallback"
next item /Common/EXAMPLE_act_variable_assign
}
agents EXAMPLE_act_ldap_query_ag {
type aaa ldap
}
}
After you've made your changes to your /config/bigpipe/bigip.conf file, you can try and load it again using the following command:
/usr/libexec/bigpipe daol
If tmos encounters new issues with the config file, they'll be notified during the execution of the daol command and you'll need to fix them before trying again.
Once your config is loaded, verify that everything looks good and when you're sure you can copy the current config to sys and save it as default:
tmsh save /sys config
tmsh load /sys config
Also if you made use of datagroups in any of your iRules, in v11 using $::datagroup_name will result in a TCL runtime error and you'll have to modify all these calls in your /config/bigpipe/bigip.conf file before the box will be able to successfully load it. The new way to call them is replacing the '$::' prefix with '/Common/'.
I hope this will help,
feel free to share your ltm error logs if you have any doubts.
Regards