[Bugs] [Bug 1764171] New: [Upgrade] Config files are not upgraded to new version
bugzilla at redhat.com
bugzilla at redhat.com
Tue Oct 22 12:22:34 UTC 2019
https://bugzilla.redhat.com/show_bug.cgi?id=1764171
Bug ID: 1764171
Summary: [Upgrade] Config files are not upgraded to new version
Product: GlusterFS
Version: 6
Status: NEW
Component: geo-replication
Keywords: Reopened
Assignee: bugs at gluster.org
Reporter: khiremat at redhat.com
CC: avishwan at redhat.com, bugs at gluster.org,
sacharya at redhat.com
Depends On: 1707731
Blocks: 1708064, 1764003
Target Milestone: ---
Classification: Community
+++ 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
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=1707731
[Bug 1707731] [Upgrade] Config files are not upgraded to new version
https://bugzilla.redhat.com/show_bug.cgi?id=1764003
[Bug 1764003] [Upgrade] Config files are not upgraded to new version
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the Bugs
mailing list