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

_______________________________________________
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel

Reply via email to