+++ This bug was initially created as a clone of Bug #1707731 +++ Description of problem: Configuration handling was enhanced with patch https://review.gluster.org/#/c/glusterfs/+/18257/, Old configurations are not applied if Geo-rep session is created in the old version and upgraded. Actual results: All configurations reset when upgraded. Expected results: Configuration should be upgraded to the new format when Geo-replication is run for the first time after the upgrade. --- Additional comment from Aravinda VK on 2019-05-17 06:53:49 UTC --- ## Reading Old format: Config file consists of a section named "__section_order__", read that to get the order of different section. Sort the section based on order(based on values), and prepare a dict with values updated from each section. For example: ``` [__section_order__] sec1=0 sec2=2 sec3=1 [sec1] log_level = INFO [sec2] log_level = DEBUG [sec3] log_level = ERROR ``` configs = {} for sec in sorded_sections(): for item_key, item_value in sec.items: configs[item_key] = item_value With this logic, `log_level` will have final value "DEBUG" ## Upgrade: During Geo-rep start(In gsyncd.py): - Read the session config and see it is a new format or old - If it is old format, read the config as explained above - Compare the configs collected and write to new config only if it is different from Default configs - Reload the new config To get the old format config, - Install old version of Glusterfs(<4) and create a geo-rep session. - Set some configurations in Geo-rep - Copy the config file for reference - Old parsing code can be referred here https://github.com/gluster/glusterfs/blob/release-3.13/geo-replication/syncdaemon/configinterface.py --- Additional comment from Worker Ant on 2019-06-18 16:40:34 UTC --- REVIEW: https://review.gluster.org/22894 (geo-rep: Upgrading config file to new version) posted (#1) for review on master by Shwetha K Acharya --- Additional comment from Worker Ant on 2019-06-26 14:11:35 UTC --- REVIEW: https://review.gluster.org/22894 (geo-rep: Upgrading config file to new version) merged (#7) on master by Sunny Kumar --- Additional comment from Worker Ant on 2019-07-03 06:50:15 UTC --- REVIEW: https://review.gluster.org/22982 (geo-rep: Test case for upgrading config file) posted (#1) for review on master by Shwetha K Acharya --- Additional comment from Worker Ant on 2019-07-22 06:45:56 UTC --- REVIEW: https://review.gluster.org/22982 (geo-rep: Test case for upgrading config file) merged (#5) on master by Sunny Kumar
REVIEW: https://review.gluster.org/23591 (geo-rep: Upgrading config file to new version) posted (#1) for review on release-6 by Kotresh HR
REVIEW: https://review.gluster.org/23593 (geo-rep: Test case for upgrading config file) posted (#1) for review on release-6 by Kotresh HR
REVIEW: https://review.gluster.org/23591 (geo-rep: Upgrading config file to new version) merged (#1) on release-6 by Kotresh HR
REVIEW: https://review.gluster.org/23593 (geo-rep: Test case for upgrading config file) merged (#1) on release-6 by Kotresh HR