From kmayilsa at redhat.com Fri Nov 29 03:16:13 2013 Content-Type: multipart/mixed; boundary="===============4698746842089433687==" MIME-Version: 1.0 From: Kanagaraj To: devel at ovirt.org Subject: [Engine-devel] Using config values Date: Fri, 29 Nov 2013 13:46:08 +0530 Message-ID: <52984D48.1070009@redhat.com> --===============4698746842089433687== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multi-part message in MIME format. --------------050008020702070900040001 Content-Type: text/plain; charset=3DISO-8859-1; format=3Dflowed Content-Transfer-Encoding: 7bit Hi All, The are some issues arising in configurations whenever we move up on the = versions(3.3 =3D> 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 --------------050008020702070900040001 Content-Type: text/html; charset=3DISO-8859-1 Content-Transfer-Encoding: 7bit Hi All,

The are some issues arising in configurations whenever we move up on the versions(3.3 =3D> 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

--------------050008020702070900040001-- --===============4698746842089433687== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS0wNTAwMDgwMjA3MDIwNzA5MDAwNDAwMDEKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PUlTTy04ODU5LTE7IGZvcm1hdD1mbG93ZWQKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog N2JpdAoKSGkgQWxsLAoKVGhlIGFyZSBzb21lIGlzc3VlcyBhcmlzaW5nIGluIGNvbmZpZ3VyYXRp b25zIHdoZW5ldmVyIHdlIG1vdmUgdXAgb24gdGhlIAp2ZXJzaW9ucygzLjMgPT4gMy40KSwgYmVj YXVzZSBvZiB0aGUgd2F5IHdlIHN0b3JlIGFuZCBpbnRlcnByZXQgdGhlbS4KCldoZW5ldmVyIHRo ZXJlIGlzIGEgbmV3IGNsdXN0ZXIgbGV2ZWwsIHlvdSB3aWxsIG5lZWQgdG8gYWRkIGEgbmV3IGVu dHJ5IApmb3IgYWxsKG1vc3QpIG9mIHRoZSBjb25maWd1cmF0aW9uLiBNb3N0bHkgYSBjb3B5IHBh c3RlIGlmIHlvdSBzZWUgZnJvbSAKMy4yIHRvIDMuMywgZXhjZXB0IHNvbWUgQ1BVL1BNIHR5cGUg cmVsYXRlZCBjb25maWd1cmF0aW9ucy4KQmV0dGVyIG9wdGlvbiB3b3VsZCBiZSB0byBoYXZlIHRo ZSBkZWZhdWwgY29uZmlnIHZhbHVlIGluIApDb25maWdWYWx1ZXMuamF2YSBhbmQgdGhlIG92ZXJy aWRlcyB3aWxsIGdvIHRvIGNvbmZpZy5zcWwuIEluIHRoaXMgCmFwcHJvYWNoIHlvdSBkb24ndCBu ZWVkIGEgbmV3IGVudHJpZXMgdG8gY29uZmlnLnNxbCB3aGVuIHRoZXJlIGlzIGEgbmV3IApjbHVz dGVyIGxldmVsLgoKTGV0cyB0YWtlIGFuIGV4bWFwbGUsICJTdXBwb3J0Rm9yY2VDcmVhdGVWRyIg LSBUaGlzIGlzIHN1cHBvcnRlZCBmcm9tIAozLjEgb253YXJkcywKCklmIHlvdSBsb29rIGF0IGNv bmZpZy5zcWwsIHlvdSB3aWxsIHNlZSBmb2xsb3dpbmcgZW50cmllcwpzZWxlY3QgZm5fZGJfYWRk X2NvbmZpZ192YWx1ZSgnU3VwcG9ydEZvcmNlQ3JlYXRlVkcnLCdmYWxzZScsJzMuMCcpOwpzZWxl Y3QgZm5fZGJfYWRkX2NvbmZpZ192YWx1ZSgnU3VwcG9ydEZvcmNlQ3JlYXRlVkcnLCd0cnVlJywn My4xJyk7CnNlbGVjdCBmbl9kYl9hZGRfY29uZmlnX3ZhbHVlKCdTdXBwb3J0Rm9yY2VDcmVhdGVW RycsJ3RydWUnLCczLjInKTsKc2VsZWN0IGZuX2RiX2FkZF9jb25maWdfdmFsdWUoJ1N1cHBvcnRG b3JjZUNyZWF0ZVZHJywndHJ1ZScsJzMuMycpOwoKQW5kIGluIENvbmZpZ1ZhbHVlcy5qYXZhCgog ICAgIEBUeXBlQ29udmVydGVyQXR0cmlidXRlKEJvb2xlYW4uY2xhc3MpCiAgICAgQERlZmF1bHRW YWx1ZUF0dHJpYnV0ZSgiZmFsc2UiKQogICAgIFN1cHBvcnRGb3JjZUNyZWF0ZVZHLAoKTm93IGlm IHRoZXJlIGlzIDMuNCBhbmQgMy41LCB0aGUgdXNlciBuZWVkcyB0byBhZGQgMiBtb3JlIGVudHJp ZXMsIHdoaWNoIAppIGZlZWwgaXMgcmVkdW5kYW50LgoKSW5zdGVhZCB3ZSBjYW4gbWFrZQoKICAg ICBAVHlwZUNvbnZlcnRlckF0dHJpYnV0ZShCb29sZWFuLmNsYXNzKQogICAgIEBEZWZhdWx0VmFs dWVBdHRyaWJ1dGUoInRydWUiKQogICAgIFN1cHBvcnRGb3JjZUNyZWF0ZVZHLAoKYW5kIGhhdmUg b25seSB0aGUgZm9sbG93aW5nIGluIGNvbmZpZy5zcWwKc2VsZWN0IGZuX2RiX2FkZF9jb25maWdf dmFsdWUoJ1N1cHBvcnRGb3JjZUNyZWF0ZVZHJywnZmFsc2UnLCczLjAnKTsKCmlmIGEgcGFydGlj dWxhciB2YWx1ZShmb3IgYSBzcGVjaWZpYyBjbHVzdGVyIGxldmVsKSBpcyBub3QgZm91bmQgaW4g CkNvbmZpZy5zcWwsIHRoZSBmYWxsYmFjayBpcyB0byB1c2UgdGhlIHZhbHVlIGF2YWlsYWJsZSBp biBDb25maWdWYWx1ZXMuamF2YS4KClBsZWFzZSBzaGFyZSB5b3VyIHRob3VnaHRzIG9uIHRoaXMu CgpUaGFua3MsCkthbmFnYXJhagoKCi0tLS0tLS0tLS0tLS0tMDUwMDA4MDIwNzAyMDcwOTAwMDQw MDAxCkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEKQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogN2JpdAoKPGh0bWw+CiAgPGhlYWQ+CgogICAgPG1ldGEgaHR0cC1l cXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTkt MSI+CiAgPC9oZWFkPgogIDxib2R5IGJnY29sb3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiPgog ICAgSGkgQWxsLDxicj4KICAgIDxicj4KICAgIFRoZSBhcmUgc29tZSBpc3N1ZXMgYXJpc2luZyBp biBjb25maWd1cmF0aW9ucyB3aGVuZXZlciB3ZSBtb3ZlIHVwIG9uCiAgICB0aGUgdmVyc2lvbnMo My4zID0mZ3Q7IDMuNCksIGJlY2F1c2Ugb2YgdGhlIHdheSB3ZSBzdG9yZSBhbmQKICAgIGludGVy cHJldCB0aGVtLjxicj4KICAgIDxicj4KICAgIFdoZW5ldmVyIHRoZXJlIGlzIGEgbmV3IGNsdXN0 ZXIgbGV2ZWwsIHlvdSB3aWxsIG5lZWQgdG8gYWRkIGEgbmV3CiAgICBlbnRyeSBmb3IgYWxsKG1v c3QpIG9mIHRoZSBjb25maWd1cmF0aW9uLiBNb3N0bHkgYSBjb3B5IHBhc3RlIGlmIHlvdQogICAg c2VlIGZyb20gMy4yIHRvIDMuMywgZXhjZXB0IHNvbWUgQ1BVL1BNIHR5cGUgcmVsYXRlZCBjb25m aWd1cmF0aW9ucy48YnI+CiAgICBCZXR0ZXIgb3B0aW9uIHdvdWxkIGJlIHRvIGhhdmUgdGhlIGRl ZmF1bCBjb25maWcgdmFsdWUgaW4KICAgIENvbmZpZ1ZhbHVlcy5qYXZhIGFuZCB0aGUgb3ZlcnJp ZGVzIHdpbGwgZ28gdG8gY29uZmlnLnNxbC4gSW4gdGhpcwogICAgYXBwcm9hY2ggeW91IGRvbid0 IG5lZWQgYSBuZXcgZW50cmllcyB0byBjb25maWcuc3FsIHdoZW4gdGhlcmUgaXMgYQogICAgbmV3 IGNsdXN0ZXIgbGV2ZWwuPGJyPgogICAgPGJyPgogICAgTGV0cyB0YWtlIGFuIGV4bWFwbGUsICJT dXBwb3J0Rm9yY2VDcmVhdGVWRyIgLSBUaGlzIGlzIHN1cHBvcnRlZAogICAgZnJvbSAzLjEgb253 YXJkcyw8YnI+CiAgICA8YnI+CiAgICBJZiB5b3UgbG9vayBhdCBjb25maWcuc3FsLCB5b3Ugd2ls bCBzZWUgZm9sbG93aW5nIGVudHJpZXMgPGJyPgogICAgc2VsZWN0IGZuX2RiX2FkZF9jb25maWdf dmFsdWUoJ1N1cHBvcnRGb3JjZUNyZWF0ZVZHJywnZmFsc2UnLCczLjAnKTsKICAgIDxicj4KICAg IHNlbGVjdCBmbl9kYl9hZGRfY29uZmlnX3ZhbHVlKCdTdXBwb3J0Rm9yY2VDcmVhdGVWRycsJ3Ry dWUnLCczLjEnKTsKICAgIDxicj4KICAgIHNlbGVjdCBmbl9kYl9hZGRfY29uZmlnX3ZhbHVlKCdT dXBwb3J0Rm9yY2VDcmVhdGVWRycsJ3RydWUnLCczLjInKTsKICAgIDxicj4KICAgIHNlbGVjdCBm bl9kYl9hZGRfY29uZmlnX3ZhbHVlKCdTdXBwb3J0Rm9yY2VDcmVhdGVWRycsJ3RydWUnLCczLjMn KTs8YnI+CiAgICA8YnI+CiAgICBBbmQgaW4gQ29uZmlnVmFsdWVzLmphdmE8YnI+CiAgICA8YnI+ CiAgICAmbmJzcDsmbmJzcDsmbmJzcDsgQFR5cGVDb252ZXJ0ZXJBdHRyaWJ1dGUoQm9vbGVhbi5j bGFzcyk8YnI+CiAgICAmbmJzcDsmbmJzcDsmbmJzcDsgQERlZmF1bHRWYWx1ZUF0dHJpYnV0ZSgi ZmFsc2UiKTxicj4KICAgICZuYnNwOyZuYnNwOyZuYnNwOyBTdXBwb3J0Rm9yY2VDcmVhdGVWRyw8 YnI+CiAgICA8YnI+CiAgICBOb3cgaWYgdGhlcmUgaXMgMy40IGFuZCAzLjUsIHRoZSB1c2VyIG5l ZWRzIHRvIGFkZCAyIG1vcmUgZW50cmllcywKICAgIHdoaWNoIGkgZmVlbCBpcyByZWR1bmRhbnQu PGJyPgogICAgPGJyPgogICAgSW5zdGVhZCB3ZSBjYW4gbWFrZSA8YnI+CiAgICA8YnI+CiAgICAm bmJzcDsmbmJzcDsmbmJzcDsgQFR5cGVDb252ZXJ0ZXJBdHRyaWJ1dGUoQm9vbGVhbi5jbGFzcyk8 YnI+CiAgICAmbmJzcDsmbmJzcDsmbmJzcDsgQERlZmF1bHRWYWx1ZUF0dHJpYnV0ZSgidHJ1ZSIp PGJyPgogICAgJm5ic3A7Jm5ic3A7Jm5ic3A7IFN1cHBvcnRGb3JjZUNyZWF0ZVZHLDxicj4KICAg IDxicj4KICAgIGFuZCBoYXZlIG9ubHkgdGhlIGZvbGxvd2luZyBpbiBjb25maWcuc3FsPGJyPgog ICAgc2VsZWN0IGZuX2RiX2FkZF9jb25maWdfdmFsdWUoJ1N1cHBvcnRGb3JjZUNyZWF0ZVZHJywn ZmFsc2UnLCczLjAnKTs8YnI+CiAgICA8YnI+CiAgICBpZiBhIHBhcnRpY3VsYXIgdmFsdWUoZm9y IGEgc3BlY2lmaWMgY2x1c3RlciBsZXZlbCkgaXMgbm90IGZvdW5kIGluCiAgICBDb25maWcuc3Fs LCB0aGUgZmFsbGJhY2sgaXMgdG8gdXNlIHRoZSB2YWx1ZSBhdmFpbGFibGUgaW4KICAgIENvbmZp Z1ZhbHVlcy5qYXZhLjxicj4KICAgIDxicj4KICAgIFBsZWFzZSBzaGFyZSB5b3VyIHRob3VnaHRz IG9uIHRoaXMuPGJyPgogICAgPGJyPgogICAgVGhhbmtzLDxicj4KICAgIEthbmFnYXJhajxicj4K ICAgIDxicj4KICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4 dC9odG1sOwogICAgICBjaGFyc2V0PUlTTy04ODU5LTEiPgogIDwvYm9keT4KPC9odG1sPgoKLS0t LS0tLS0tLS0tLS0wNTAwMDgwMjA3MDIwNzA5MDAwNDAwMDEtLQo= --===============4698746842089433687==--