Hi,
With help from John Dickinson, below is the upgrade path I followed :
1) Upgrade storage nodes from 1.5.0 to 1.6.0 (Wait atleast 30 minutes after upgrading a storage node)
2) Upgrade proxy-node from 1.5.0 to 1.6.0
3) Upgrade storage nodes from 1.6.0 to 1.7.4
4) Upgrade proxy-node from 1.6.0 to 1.7.4
5) After successfully testing operations of the setup, upgrade swauth from 1.0.5 to 1.0.6
6) After successfullt testing operations of the setup, proceed to below steps on proxy server for bringing the ring files to the new JSON format.
swift-ring-builder account.builder write_ring
swift-ring-builder container.builder write_ring
swift-ring-builder object.builder write_ring
6) Upgrade storage nodes from 1.7.4 to 1.8.0 (Wait atleast 30 minutes after upgrading a storage node)
7) Upgrade proxy-node from 1.7.4 to 1.8.0
8) Upgrade storage nodes from 1.7.4 to 1.8.0
9) Upgrade proxy-node from 1.7.4 to 1.8.0
10) After successfully testing operations of the setup, upgrade swauth from 1.0.6 to 1.0.9
Note : Please keep updating the configuration files with each upgrade. The sample files are available with the tar.gz of the swift package.
Now, upon upgrading to 1.8.0, if we comment out "swift_hash_path_prefix" from the swift.conf file, the only we are able to access the data. If we uncomment it, we do not see the old data (accounts, containers and objects).
We also read on https://review.openstack.org/gitweb?p=openstack%2Fswift.git;a=commitdiff;h=4a59031539588f5ed64b2c64dbd10d6462e647d7 (https://review.openstack.org/gitweb?p...) that the value for "swift_hash_path_prefix" should be left blank if it is an upgrade, which is working file. We uncommented the same and the data is accessible now.
What exactly is the best practice for "swift_hash_path_prefix"? Shall we keep it blank only or anything else should be done with it ?
Regards,
Viral Patadiya