On 29/03/12 12:13, Itamar Heim wrote: > On 03/29/2012 11:59 AM, Doron Fediuck wrote: >> On 29/03/12 10:54, Itamar Heim wrote: >>> On 03/29/2012 10:05 AM, Muli Salem wrote: >>>> Thanks for the comments, I updated the wiki page accordingly: >>>> http://www.ovirt.org/wiki/Features/ReloadableConfiguration >>>> >>>> 1. Instead of the new DB column is_reloadable --> Annotation to >>>> ConfigValues. >>>> 2. Found a way to update the Quartz jobs, at least basic issues such as >>>> interval size. >>>> 3. The values will be reloaded upon admin's decision to do so - with a new >>>> command in the engine-config CLI, since that is where admins make the >>>> changes. >>> >>> just wondering - how will the CLI do this at the technical level (via REST >>> API? signal to service, etc.)? >> >> Basically we need a script using the REST sdk to trigger re-configuration >> This script will need the engine's IP so it'll know where to find it. >> The thing is, REST also needs the admin's user and password to run... >> >> We can get it in 2 options: >> >> 1. Store Admin's user+pass in the engine's conf file. >> 2. Use engine-config to fetch the credentials. >> >> Once we have credentials, we can use it with a new script to trigger >> configuration reload. >> We can also incorporate this script into engine-config so admin won't need >> to know another >> script, and simply use a 'reload' verb. >> >> I'm not keen on storing the credentials in a conf' file, but (unfortunately) >> it wouldn't >> be a first time. Any better alternative is welcome (just as patches ;-). > > true. > >> >> A simple alternative to the whole credentials and IP need, >> is a simple periodic reload, as suggested initially. > > Any thoughts on this?
> >> >> /d > > isn't there some way to send a process signal or something like that (not > allowing remote access, but i think it uses the db crednetials from a local > file anyway, and i don't think running config remotely is a must) > Simply signaling a process such as "kill TRAP PID" is problematic since: - The engine core is a web-app on top of JBoss, how do we know which pid to trigger? - What happens if JBoss isn't running / using nohup / ... ? > other options: > 1. require user to provide user/password (kind of funny for running > manage-domains utility, but possible This will make service xxx reload pointless, unless we decide to drop it and reduce to a simple script (embedded or not in the config utility). > 2. use a way on the host to send a signal (change a file, process signal, > etc.) Great. This means we need to poll a folder or similar (DB)... sounds familiar? See above the periodic reload. We can do it better if we look for a key in the DB (enableReconfigure=true), to avoid reloading in the middle of an update process of several keys. We still need to be careful from concurrency, but I have solutions for this as well (do not allow updates to vdc_options until the key becomes false again, also set it to false on initial boot). > 3. Write a simple public reload servlet (maybe limit to local host only?), which we can call using simple curl http://xxx/reload? As I see it now, I'd go for one of the following (in this order)- 2: periodically poll DB, reload only when allowed. 3: local servlet. Thoughts? Better solutions? _______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel