[Engine-devel] Using config values

Kanagaraj kmayilsa at redhat.com
Fri Nov 29 08:16:08 UTC 2013


Hi All,

The are some issues arising in configurations whenever we move up on the 
versions(3.3 => 3.4), because of the way we store and interpret them.

Whenever there is a new cluster level, you will need to add a new entry 
for all(most) of the configuration. Mostly a copy paste if you see from 
3.2 to 3.3, except some CPU/PM type related configurations.
Better option would be to have the defaul config value in 
ConfigValues.java and the overrides will go to config.sql. In this 
approach you don't need a new entries to config.sql when there is a new 
cluster level.

Lets take an exmaple, "SupportForceCreateVG" - This is supported from 
3.1 onwards,

If you look at config.sql, you will see following entries
select fn_db_add_config_value('SupportForceCreateVG','false','3.0');
select fn_db_add_config_value('SupportForceCreateVG','true','3.1');
select fn_db_add_config_value('SupportForceCreateVG','true','3.2');
select fn_db_add_config_value('SupportForceCreateVG','true','3.3');

And in ConfigValues.java

     @TypeConverterAttribute(Boolean.class)
     @DefaultValueAttribute("false")
     SupportForceCreateVG,

Now if there is 3.4 and 3.5, the user needs to add 2 more entries, which 
i feel is redundant.

Instead we can make

     @TypeConverterAttribute(Boolean.class)
     @DefaultValueAttribute("true")
     SupportForceCreateVG,

and have only the following in config.sql
select fn_db_add_config_value('SupportForceCreateVG','false','3.0');

if a particular value(for a specific cluster level) is not found in 
Config.sql, the fallback is to use the value available in ConfigValues.java.

Please share your thoughts on this.

Thanks,
Kanagaraj

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/devel/attachments/20131129/c974c05d/attachment-0001.html>


More information about the Devel mailing list