Thursday, 2014-08-14

*** markmcclain has joined #openstack-oslo00:01
*** markmcclain1 has quit IRC00:02
*** mriedem has joined #openstack-oslo00:05
*** dims has joined #openstack-oslo00:08
*** dims has quit IRC00:11
*** dims has joined #openstack-oslo00:12
*** dims_ has quit IRC00:12
*** alexpilotti has quit IRC00:13
*** dims has quit IRC00:16
*** zzzeek has quit IRC00:20
*** yamahata has joined #openstack-oslo00:23
*** zzzeek has joined #openstack-oslo00:25
*** tsekiyam_ has joined #openstack-oslo00:25
*** zzzeek has quit IRC00:26
*** tsekiyama has quit IRC00:29
*** tsekiyam_ has quit IRC00:30
*** dims has joined #openstack-oslo00:31
openstackgerritDavanum Srinivas (dims) proposed a change to openstack/oslo.messaging: Make tests pass with random python hashseed  https://review.openstack.org/11407900:57
clarkbwow I forgot that check is still a thing00:58
clarkbdims: thank you for fixing00:58
openstackgerritMonty Taylor proposed a change to openstack-dev/pbr: Handle single short sha versions  https://review.openstack.org/11409300:58
dimsmy pleasure00:58
*** dims has quit IRC01:02
*** dims has joined #openstack-oslo01:02
*** dims has quit IRC01:05
*** dims has joined #openstack-oslo01:05
openstackgerritAlex Xu proposed a change to openstack/oslo-incubator: Add support for policy configration directories  https://review.openstack.org/10536201:06
openstackgerritMonty Taylor proposed a change to openstack-dev/pbr: Handle single short sha versions  https://review.openstack.org/11409301:09
*** Krast has quit IRC01:17
*** Krast has joined #openstack-oslo01:17
*** celttechie has quit IRC01:21
*** markmcclain1 has joined #openstack-oslo01:29
*** markmcclain has quit IRC01:30
*** markmcclain1 has quit IRC01:36
*** arnaud__ has quit IRC01:37
*** dims has quit IRC01:40
*** dims has joined #openstack-oslo01:41
*** dims has quit IRC01:45
*** dims has joined #openstack-oslo01:56
*** dims has quit IRC02:16
*** dims has joined #openstack-oslo02:16
*** dims has quit IRC02:20
*** dims_ has joined #openstack-oslo02:20
*** arnaud has joined #openstack-oslo02:22
*** dims_ has quit IRC02:34
*** dims has joined #openstack-oslo02:34
*** stevemar has joined #openstack-oslo02:36
openstackgerritlifeless proposed a change to openstack-dev/pbr: Teach pbr about post versioned dev versions.  https://review.openstack.org/8044902:38
openstackgerritlifeless proposed a change to openstack-dev/pbr: Raise an error if preversion versions are too low  https://review.openstack.org/10826902:38
openstackgerritlifeless proposed a change to openstack-dev/pbr: Look for and process sem-ver pseudo headers in git  https://review.openstack.org/10827002:38
*** celttechie has joined #openstack-oslo02:38
*** dims has quit IRC02:39
*** pcm__ has quit IRC02:39
*** tongli has quit IRC03:06
*** mriedem has left #openstack-oslo03:09
*** nealph_ has joined #openstack-oslo03:49
*** jraim__ has joined #openstack-oslo03:49
*** wendar_ has joined #openstack-oslo03:49
*** arnaud has quit IRC03:51
*** sreshetn1ak has joined #openstack-oslo03:52
*** toabctl_ has joined #openstack-oslo03:52
*** ttx` has joined #openstack-oslo03:52
*** jraim has quit IRC03:52
*** toabctl has quit IRC03:52
*** lbragstad has quit IRC03:52
*** toabctl_ is now known as toabctl03:52
*** mgagne has quit IRC03:52
*** jroll has quit IRC03:52
*** sreshetnyak has quit IRC03:52
*** wendar has quit IRC03:52
*** ttx has quit IRC03:52
*** nealph has quit IRC03:52
*** lbragstad_ has joined #openstack-oslo03:52
*** lbragstad_ is now known as lbragstad03:52
*** jraim__ is now known as jraim03:52
*** mgagne has joined #openstack-oslo03:53
*** mgagne is now known as Guest5467603:53
*** jroll has joined #openstack-oslo03:54
*** arnaud has joined #openstack-oslo04:05
*** ildikov has quit IRC04:16
openstackgerritlifeless proposed a change to openstack-dev/pbr: Teach pbr about post versioned dev versions.  https://review.openstack.org/8044904:18
openstackgerritlifeless proposed a change to openstack-dev/pbr: Raise an error if preversion versions are too low  https://review.openstack.org/10826904:18
openstackgerritlifeless proposed a change to openstack-dev/pbr: Look for and process sem-ver pseudo headers in git  https://review.openstack.org/10827004:18
openstackgerritlifeless proposed a change to openstack-dev/pbr: Handle more local dev version cases  https://review.openstack.org/11409304:18
openstackgerritMonty Taylor proposed a change to openstack-dev/pbr: Handle more local dev version cases  https://review.openstack.org/11409304:46
openstackgerritMonty Taylor proposed a change to openstack-dev/pbr: Handle more local dev version cases  https://review.openstack.org/11409304:57
openstackgerritlifeless proposed a change to openstack-dev/pbr: Teach pbr about post versioned dev versions.  https://review.openstack.org/8044904:58
openstackgerritlifeless proposed a change to openstack-dev/pbr: Raise an error if preversion versions are too low  https://review.openstack.org/10826904:58
openstackgerritlifeless proposed a change to openstack-dev/pbr: Look for and process sem-ver pseudo headers in git  https://review.openstack.org/10827004:58
openstackgerritlifeless proposed a change to openstack-dev/pbr: Handle more local dev version cases  https://review.openstack.org/11409304:58
openstackgerritZhi Kun Liu proposed a change to openstack/oslo.messaging: Add parameter to customize Qpid receiver capacity  https://review.openstack.org/11253605:12
*** praneshp has quit IRC05:19
*** toabctl has quit IRC05:20
*** SridharG has joined #openstack-oslo05:21
*** toabctl has joined #openstack-oslo05:25
*** amotoki has joined #openstack-oslo05:38
*** celttechie has quit IRC05:43
*** praneshp has joined #openstack-oslo05:47
openstackgerritOpenStack Proposal Bot proposed a change to openstack/oslo.vmware: Imported Translations from Transifex  https://review.openstack.org/11378506:08
*** ajo has joined #openstack-oslo06:20
*** AAzza_afk is now known as AAzza06:27
*** k4n0 has joined #openstack-oslo06:30
*** stevemar has quit IRC06:31
*** praneshp has quit IRC06:47
*** noelbk has joined #openstack-oslo06:49
*** AAzza has quit IRC06:51
*** rpodolyaka_afk has quit IRC06:55
*** alexpilotti has joined #openstack-oslo06:56
*** AAzza has joined #openstack-oslo06:59
*** ildikov has joined #openstack-oslo07:11
*** arnaud has quit IRC07:17
*** AAzza is now known as AAzza_afk07:37
*** ttx` is now known as ttx07:39
*** ttx has quit IRC07:40
*** ttx has joined #openstack-oslo07:40
*** mrda is now known as mrda-away07:46
*** rpodolyaka has joined #openstack-oslo07:56
*** ihrachyshka has joined #openstack-oslo08:03
*** alexpilotti has quit IRC08:06
openstackgerritChristian Berendt proposed a change to openstack/oslo.version: Add hacking as test requirment  https://review.openstack.org/10799808:15
*** yamahata has quit IRC08:26
openstackgerritJoshua Harlow proposed a change to openstack/taskflow: Use explicit WBE request state transitions  https://review.openstack.org/11416208:27
*** markmc has joined #openstack-oslo08:53
*** jaosorior has joined #openstack-oslo08:54
openstackgerritA change was merged to openstack/oslo-incubator: Set python hash seed to 0 in tox.ini  https://review.openstack.org/11405209:00
*** alexpilotti has joined #openstack-oslo09:12
*** yamahata has joined #openstack-oslo09:16
*** noelbk has quit IRC09:50
*** ihrachyshka has quit IRC09:50
*** alexpilotti_ has joined #openstack-oslo09:54
*** alexpilotti has quit IRC09:55
*** alexpilotti_ is now known as alexpilotti09:55
*** alexpilotti has quit IRC09:57
*** linkid has joined #openstack-oslo10:17
sheeprineHi, I've got a quick question about oslo-messaging and the notifiers, I can't get it to do asynchronous messaging. I use notification_lister with the eventlet executor, threads are running but it's not calling my endpoints untill I use wait()10:19
YorikSarbnemec: Around?10:21
*** YorikSar_ has joined #openstack-oslo10:28
*** YorikSar has quit IRC10:32
*** pblaho has joined #openstack-oslo10:41
Alexei_987markmc: Hi so you think that https://review.openstack.org/#/c/109143/ is not good enough without the test?10:42
*** ihrachyshka has joined #openstack-oslo10:44
openstackgerritA change was merged to openstack-dev/pbr: Handle more local dev version cases  https://review.openstack.org/11409310:47
*** ildikov has quit IRC11:05
*** yamahata has quit IRC11:09
*** dims has joined #openstack-oslo11:11
*** dims has quit IRC11:11
*** dims has joined #openstack-oslo11:11
*** dims has quit IRC11:16
*** dims has joined #openstack-oslo11:16
openstackgerritDavanum Srinivas (dims) proposed a change to openstack/oslo-incubator: Fix MemcachedKeyCharacterError when keys have spaces  https://review.openstack.org/11353711:22
*** AAzza_afk is now known as AAzza11:27
*** sreshetn1ak has quit IRC11:31
*** sreshetnyak has joined #openstack-oslo11:31
*** Krast has quit IRC11:31
*** pcm_ has joined #openstack-oslo11:32
*** tongli has joined #openstack-oslo11:36
*** alexpilotti has joined #openstack-oslo11:44
*** amotoki has quit IRC11:48
openstackgerritA change was merged to openstack/taskflow: Allow a jobs posted book to be none by default  https://review.openstack.org/10691511:54
*** dims has quit IRC11:55
*** dims has joined #openstack-oslo11:56
*** dims has quit IRC12:00
*** pcm_ has quit IRC12:08
*** dims has joined #openstack-oslo12:16
*** ildikov_ has joined #openstack-oslo12:20
*** Alexei_9871 has joined #openstack-oslo12:24
*** pcm_ has joined #openstack-oslo12:24
openstackgerritOpenStack Proposal Bot proposed a change to openstack/oslo-incubator: Updated from global requirements  https://review.openstack.org/11406312:39
*** pblaho_ has joined #openstack-oslo12:41
*** pblaho has quit IRC12:44
*** gordc has joined #openstack-oslo12:53
*** pblaho_ has quit IRC12:57
*** pblaho_ has joined #openstack-oslo12:57
*** pblaho_ is now known as pblaho|afk13:17
openstackgerritDmitry Tantsur proposed a change to openstack/oslo-incubator: Add field_labels parameter to cliutils.print_list  https://review.openstack.org/11397813:18
*** mriedem has joined #openstack-oslo13:20
*** pblaho|afk is now known as pblaho_13:24
*** pblaho__ has joined #openstack-oslo13:28
*** pblaho_ has quit IRC13:29
*** pblaho__ is now known as pblaho13:29
*** pblaho is now known as pblaho|meeting13:32
*** bknudson has joined #openstack-oslo13:34
*** jecarey has joined #openstack-oslo13:41
openstackgerritDmitry Tantsur proposed a change to openstack/oslo-incubator: Add field_labels parameter to cliutils.print_list  https://review.openstack.org/11397813:42
*** jecarey has quit IRC13:49
*** jecarey has joined #openstack-oslo13:49
*** AAzza is now known as AAzza_afk13:51
*** arnaud__ has joined #openstack-oslo13:53
*** AAzza_afk is now known as AAzza13:53
*** jecarey has quit IRC14:04
*** jgrimm has joined #openstack-oslo14:12
*** mriedem has quit IRC14:23
*** markmcclain has joined #openstack-oslo14:25
*** markmcclain has quit IRC14:25
*** zzzeek has joined #openstack-oslo14:26
*** markmcclain has joined #openstack-oslo14:27
*** mriedem has joined #openstack-oslo14:38
*** stevemar has joined #openstack-oslo14:41
*** k4n0 has quit IRC14:45
*** nealph_ is now known as nealph14:48
*** ihrachyshka has quit IRC14:50
*** tsekiyama has joined #openstack-oslo14:57
*** HenryG_ has joined #openstack-oslo15:01
*** jecarey has joined #openstack-oslo15:02
*** HenryG has quit IRC15:03
*** HenryG_ has quit IRC15:06
*** HenryG has joined #openstack-oslo15:07
*** pblaho|meeting is now known as pblaho15:08
*** pblaho has quit IRC15:08
*** pblaho has joined #openstack-oslo15:08
mriedemdhellmann: do you have any idea how to fix this? http://logs.openstack.org/46/97946/12/check/gate-nova-docs/936832e/console.html#_2014-08-13_22_09_57_33115:10
mriedemit's complaining about this docstring https://review.openstack.org/#/c/97946/12/nova/db/migration.py15:10
mriedemi've tried a few things by adding blank lines toward the end but that's not helping15:10
*** linkid has left #openstack-oslo15:14
*** pblaho_ has joined #openstack-oslo15:16
dhellmannmriedem: looking15:17
mriedemmight have found it, i think it wants a blank line between @param and @return15:17
dhellmannmriedem: change "@param" to ":param" and see if making that a field list fixes it15:17
dhellmannmriedem: also @return -> :return15:17
mriedemyeah was going to try that next15:17
mriedemthanks15:17
dhellmannI'm not sure about that @ syntax, if that's a thing15:17
*** pblaho has quit IRC15:20
dimsmriedem: back now, yeah the sphinx errors are not that great15:23
mriedemwell the : got me past the one issue, now a new one, so looking again15:24
Alexei_9871zzzeek: Hi do you have a minute?15:26
mriedemdims: 251_instance_uuid_non_nullable.process_null_records:5: ERROR: Unexpected indentation15:26
mriedembetween the first and 2nd paragraphs in the docstring15:27
mriedemno idea why that's a problem15:27
*** yamahata has joined #openstack-oslo15:27
dimsmriedem: you need a title then 2 paragraphs i think15:29
*** pblaho_ has quit IRC15:30
*** tong_ has joined #openstack-oslo15:31
mriedema title for a method description?15:32
mriedemboo15:32
*** jecarey_ has joined #openstack-oslo15:32
mriedemoh i see first line has to be single sentence, not paragraph15:33
mriedemgd, docstring nazis15:33
*** HenryG has quit IRC15:37
*** markmc_ has joined #openstack-oslo15:37
*** SridharG has quit IRC15:37
*** jecarey has quit IRC15:40
*** tongli has quit IRC15:40
*** markmc has quit IRC15:40
*** HenryG has joined #openstack-oslo15:43
*** HenryG has quit IRC15:57
*** markmcclain has quit IRC16:05
*** markmc_ has quit IRC16:06
*** Guest54676 is now known as mgagne16:30
*** mgagne has joined #openstack-oslo16:30
*** ildikov_ has quit IRC16:31
openstackgerritRossella Sblendido proposed a change to openstack/oslo.db: Retry query if db deadlock error is received  https://review.openstack.org/10954916:31
zzzeekAlexei_9871: sure16:32
Alexei_9871zzzeek: I'm thinking about adding a method in oslo.db that would allow EngineFacade to be constructed from url with parameters16:33
Alexei_9871zzzeek: e.g. sqlite:///?max_retries=10&...16:33
Alexei_9871zzzeek: what do you think about such an option? It may be usefull to create an engine without passing CONF object16:34
zzzeeki havent dug into enginefacade too much just yet under what context is it used16:34
Alexei_9871zzzeek: in most places it's from_config method is used16:34
Alexei_9871zzzeek: but for ceilometer for example it's much more convinient to pass params as part of the url16:35
zzzeekAlexei_9871: is it used: in tests, at server startup, when running migrations, all of the above ?16:35
Alexei_9871zzzeek: all16:35
zzzeekits likely that when i do dig into enginefacade im probably goign to want to change the whole approach anyway16:36
zzzeekive seen a little bit of it and it looks contorted16:36
zzzeekoverall, im not too keen on adding many ways to do the same thing.  an app should start up with a databse connecvtion, and those configs should come from exactly one place16:37
Alexei_9871zzzeek: I agree but it's idea is that it allowed to port existing code to oslo.db with minimal changes16:37
zzzeekAlexei_9871: what rules do you have in mind for params + CONF at the same time16:38
Alexei_9871zzzeek:  it's not constructed with both16:38
Alexei_9871zzzeek: we have method Facade.from_config16:38
zzzeekAlexei_9871: OK, so you hjust want to add a “url’ arguemnt and that’s it16:38
Alexei_9871zzzeek: I plan to add method Facade.from_extended_url16:38
zzzeekAlexei_9871: ok what’s an extended URL16:38
Alexei_9871sqlite:///?max_retries=10&...16:38
zzzeekthats just a URL16:39
zzzeek?x=y is included16:39
zzzeek:)16:39
Alexei_9871it's extended in terms that we use this parameters to configure engine16:39
zzzeekAlexei_9871: however, in oslo.db session.create_engine() takes a bunch of other arguments16:39
Alexei_9871yeah and this would be in url16:39
zzzeekAlexei_9871: ah.   OK that is more controversial16:40
zzzeekAlexei_9871: ceilometer is already doing this?   making their own URL format and pulling out parameters that don’t get passed to sqlalchemy create_engine() ?16:40
Alexei_9871so we get 'mysql://root:root@localhost/ceilometer?max_retries=10' and we convert it to call to create_engine('mysql://root:root@localhost/ceilometer', max_retries=10)16:40
zzzeekAlexei_9871: OK and what is the use case for the single string URL like that16:41
Alexei_9871zzzeek: https://review.openstack.org/#/c/111990/16:41
Alexei_9871zzzeek: ceilometer supports multiple backends16:41
Alexei_9871zzzeek: and sqla is only one of them16:41
Alexei_9871zzzeek: rest of the backends are configured from url (mongodb, hbase, etc.)16:41
Alexei_9871zzzeek: would be good to do the same for sqla cause right now we have to pass CONF object which is not good16:42
*** jaosorior has quit IRC16:42
*** arnaud__ has quit IRC16:42
zzzeekand in the case of those backends are arguments being extracted from the URL and being passed to different levels of abstraction?  keep in mind the great danger here is that you cannot guarnatee a future release of SQLAlchemy will add a new URL argument that matches the name of one of your own16:42
zzzeekAlexei_9871: the issue of not using CONF vs. the issue of passing a url or a url plus extra k/v pairs separately are two different issues16:43
Alexei_9871zzzeek: that will be part of my patch.. we'll extract args defined in oslo.db.options16:43
Alexei_9871and let others fall through16:43
zzzeekAlexei_9871: what if SQLAclhemty adds an argument “max_retries"16:43
*** yamahata has quit IRC16:43
Alexei_9871zzzeek: IMHO if we'll have 2 options with same name it will be same option16:44
Alexei_9871zzzeek: it's passed to sqla in create_engine call16:44
zzzeekAlexei_9871: how can you possibly guarantee that ?16:44
zzzeeksqlalchemy’s max_retries could be an entirely different function !16:44
Alexei_9871zzzeek: in that case we'll have to fix oslo.db16:44
Alexei_9871zzzeek: and rename it's option to something else16:45
zzzeekAlexei_9871: at the very least you need to prefix these arguemnts:   driver:///db?oslo_db.max_retries=516:45
Alexei_9871zzzeek: yeah it could be an option16:45
zzzeekAlexei_9871: im pretty hard core on not mixing togehter potentially incompatible namespaces16:46
Alexei_9871zzzeek: well I'm ok with prefixes. the only problem is that URL could be quite long16:46
Alexei_9871zzzeek: not a big issue IMHO16:46
zzzeekURLs can go up to what, 4K ?16:46
zzzeekAlexei_9871: nope16:46
Alexei_9871zzzeek: Ok I'll upload patch with prefixes :)16:47
zzzeekAlexei_9871: if it were me I’d keep them out of the URL entirely but you seem to be pretty focused on having a single argument16:47
zzzeekAlexei_9871: e.g. whatever configurational system sets up this URL in the 1st place would support additional args.   doesnt matter that it is used for other backends that’s irrelvant16:47
Alexei_9871zzzeek: the real problem is stevedore16:47
zzzeekAlexei_9871: ah16:47
zzzeekAlexei_9871: OK16:47
zzzeekAlexei_9871: havent dealt with that16:48
Alexei_9871zzzeek: we cannot provide different args for different implementations16:48
zzzeekAlexei_9871: OK16:48
Alexei_9871zzzeek: cause of this we have to pack them in 1 arg16:48
zzzeekAlexei_9871: how does stevedore related to oslo.config16:48
zzzeekAlexei_9871: OK that’s a better reason.16:48
Alexei_9871zzzeek: it's not related. It's related to how most projects load their plugins16:48
zzzeekAlexei_9871: that’s what i was looking for up top.  where are these URLs coming from.  i havent dug into these systems as of yet16:49
Alexei_9871url is coming from CONF. then we use driver part to determine needed pluging. we load it's class and pass url to it16:49
Alexei_9871zzzeek: if we would have better DI system we would not need this at all16:50
zzzeekAlexei_9871: ive looked into the stuff with get_backend() and I disklike it16:51
zzzeekAlexei_9871: very hacky16:51
Alexei_9871zzzeek: do you see a better way?16:51
zzzeekAlexei_9871: sure, i could riff on all kinds of ways :)16:51
Alexei_9871zzzeek: easy way*16:51
zzzeekAlexei_9871: it looked like its only purpose was to be able to load a module full of functions and apply a decorator to all of them16:52
Alexei_9871zzzeek: yeah it's quite wierd16:52
zzzeekAlexei_9871: it just looked what I call seat-of-the-pants16:52
zzzeeksomeone got something quick and dirty to just work, then nobody ever thought to change it16:52
Alexei_9871zzzeek: that's the way we have it in openstack :)16:53
zzzeekAlexei_9871: that’s a big problem16:53
zzzeekAlexei_9871: so i am happy that I am able to work on it and identify tehse things16:53
Alexei_9871zzzeek: you should check oslo.config when you'll have time16:53
zzzeekAlexei_9871: but i work from the inside out.  so far im only doing engine connectivity16:53
zzzeekAlexei_9871: i have.   i think there is hope for it, it needs some better inspection capabilities16:53
Alexei_9871zzzeek: IMHO it should be changed a lot :)16:54
Alexei_9871zzzeek: at least to provide normal nesting16:54
zzzeekAlexei_9871: its just a little backwards.   but changing that will be a lot of work as everyone uses it16:54
zzzeekAlexei_9871: anyway when ive proposed touching things that arent dataabase, people are biting my hand off, so going to leave that for now16:54
Alexei_9871zzzeek: ok so what do we decide about params in url?16:55
zzzeekprefix them with oslo_db.<name>16:55
Alexei_9871zzzeek: ok will do16:55
Alexei_9871zzzeek: thanks for your time16:56
zzzeekyjpu16:56
*** harlowja has joined #openstack-oslo16:56
Alexei_9871zzzeek: could you decode that?16:58
zzzeekdecode what16:58
zzzeekoh16:58
zzzeek“yup”16:58
zzzeekjust act like you are an iphone spelling checker16:58
Alexei_9871zzzeek: :-D16:58
zzzeekprogrammers....16:58
dhellmannzzzeek, Alexei_9871 : the challenge with the URL scheme is it makes it hard(er) to document what all of the valid options are for different drivers17:00
zzzeekdhellmann: I’d prefer the URL remain a clean SQLAlchemy URL and not have other parameters added.   do you have an alternative?  im not familiar with the stevedore package17:01
zzzeekdhellmann: because yes id prefer oslo.db argument remain as kw args to methods/functions and are passed through to session.create_engine()17:02
dhellmannAlexei_9871: you could give stevedore a URL and a config object, and the driver could pull out the options it needs17:02
*** markmcclain has joined #openstack-oslo17:02
Alexei_9871dhellmann: yeah but in ceilometer other backends doesn't need a CONF object17:02
Alexei_9871dhellmann: cause they use URL17:02
Alexei_9871dhellmann: so we'd have to write different init code depending on backend17:03
Alexei_9871dhellmann: it's possible but it means that we don't use stevedore17:03
dhellmannzzzeek: we need to hide the configuration options defined by oslo.db and its drivers from the applications. Using a URL to embed all of those values was one option. The other way we've done it in oslo.messaging is to let the driver pull its options out of the config object itself.17:03
*** ildikov has joined #openstack-oslo17:04
dhellmannAlexei_9871: the fact that other drivers don't need the conf object for their connection isn't really important, they can just ignore the argument17:04
Alexei_9871dhellmann: I personally don't like writing code that ignores arguments17:04
* dhellmann shrugs17:04
Alexei_9871dhellmann: it's either needed or not17:04
zzzeekdhellmann: in this area I havent formed strong opinions yet because i havent dug into how apps are configuring.   up above you can see im not thrilled with EngineFacade overall but I havent focused on it yet17:04
dhellmannit's part of the driver API, how do you know what options future drivers might want?17:05
Alexei_9871dhellmann: cause of 2nd option we have to pass CONF object all around the app17:05
zzzeekAlexei_9871: code that allows arguments to pass through is a very common and necessary technique.  that’s why python has *args **kwargs17:05
dhellmannzzzeek: yeah, as Alexei_9871 said the facade was a requirement to avoid having to rewrite a bunch of apps that were using the old db API17:05
dhellmannAlexei_9871: how many different places are really loading drivers, though?17:06
Alexei_9871zzzeek: and it's very evil technique cause python dzen says that explicit is better than implicit17:06
zzzeekAlexei_9871: that rule, and many others, are widely misinterpreted and overused17:06
dhellmannzzzeek: yeah, in this case passing a single conf arg is much better, because it means the option definitions don't have to be part of the public API for oslo.db17:06
Alexei_9871dhellmann: in case of ceilometer it's 1 place17:06
dhellmannAlexei_9871: so why are you passing conf "all around the app"?17:07
Alexei_9871dhellmann: that's 1 central place where driver is created.. however it's called from many other places (app.init, tests, etc)17:08
Alexei_9871dhellmann: and all this places have to construct a correct CONF object to  pass it17:08
Alexei_9871dhellmann: and it's only needed by sqla backend17:09
dhellmannAlexei_9871: I don't see the problem. You're passing the configuration data to the drivers in case they need it.17:09
dhellmannAlexei_9871: as a driver API, that makes perfect sense to me17:09
Alexei_9871https://github.com/openstack/ceilometer/blob/master/ceilometer/storage/__init__.py#L8517:10
Alexei_9871dhellmann: problem is that X drivers don't need it and 1 driver does17:11
dhellmannAlexei_9871: as the designer of the API, you shouldn't be worried with the implementation details of the specific drivers. You should be concentrating on what drivers *might* need so you can be sure they have it at the right point in time.17:11
Alexei_9871dhellmann: not sure I understand the 2nd part17:12
Alexei_9871dhellmann: how do we know what driver *might* need if it's a plugin?17:12
Alexei_9871dhellmann: we don't have control about what drivers will be used by end users17:12
harlowjajd__ thanks for fixing up tooz (now in requirements!) woot17:13
jd__harlowja: you're welcome17:13
harlowjajd__ ok to wait on https://review.openstack.org/#/c/113753/ (would like to see where that other review goes)17:13
harlowjahopefully thats fine with u :-p17:13
jd__harlowja: yep, I think it's ok but I can wait17:14
jd__no rush needed17:14
harlowjakk17:14
harlowjait should be all fine to go (the python26 error i think isn't related to anything real)17:14
jd__harlowja: did you wonder if it was possible to implement the rest of the driver with the SysV IPC module btw?17:14
harlowjai started to think about that, ha17:14
jd__is it timeout-ing again?17:14
jd__hehe17:14
harlowja'Build timed out (after 70 minutes). Marking the build as failed.'17:14
harlowjaso i guess yes, timeout17:15
jd__weird17:15
harlowjajd__ i think with a combination of semaphores and files, the rest of the driver probably can be created17:15
jd__cool17:15
dhellmannAlexei_9871: pretend you don't know how any of the drivers work right now, or that none of them exist. Think about it more abstractly. What do drivers do when they start up? They need to get their connection paramters and other settings, and connect to the database. The driver might define options for controlling how that works that you don't want the application to know about, because you don't want every driver to have to support them. So17:15
dhellmann you need a generic way to pass those options. **kwds is no good, because you don't know what values to get out of the conf object. Using the global config object is no good because it makes unit tests harder. That's why you pass a config object to the driver.17:15
harlowjajd__ don't use the sysv message queues though, heard those things are really messed up, haha17:15
harlowja*heard/read17:15
* jd__ takes note17:16
harlowjaapparently u can only put like 2048 bytes in one queue (total bytes)17:16
harlowjaweird stuff, lol17:16
harlowjai wonder if something like sqllite for message queues should/could be created17:16
harlowjamqlite17:16
Alexei_9871dhellmann: yeah but in such case we make an assumption that driver knows about what oslo.config is17:16
dhellmannAlexei_9871: yes, we do, because that is the API we are giving the driver for loading configuration settings17:17
dhellmannAlexei_9871: we don't want the driver choosing its own way to do that, because we want the application to get all of its options in the same way17:17
Alexei_9871dhellmann: It would be ok for me if CONF would be a real dict.. I don't like it now cause we expose *ALL* options to any CONF user17:18
Alexei_9871dhellmann: and your driver could potentially use passsword, etc. that don't belong to him17:18
Alexei_9871dhellmann: in case of dict like CONF it would only receive some part of config that is related to this driver and not all data17:18
openstackgerritDavanum Srinivas (dims) proposed a change to openstack/oslo.serialization: Use oslo libraries - i18n and utils  https://review.openstack.org/11334717:19
openstackgerritDavanum Srinivas (dims) proposed a change to openstack/oslo.serialization: Fix docs build to run properly  https://review.openstack.org/11335117:19
Alexei_9871dhellmann: for me that's a security vulnerability and that's why I don't like passing CONF around17:19
dhellmannAlexei_9871: we have to have some trust in the driver code17:19
Alexei_9871dhellmann: why do we have to do it?17:20
dhellmannAlexei_9871: if you don't trust the driver, you'd better not load it at all, because it can get to that global config object just as easily as any other code17:20
harlowjajd__ i assume u are ok with the hash collission problem17:20
harlowjaknowing that the same situation affects https://review.openstack.org/#/c/11375317:20
jd__harlowja: yeah sounds like good enough to me17:20
Alexei_9871dhellmann: that's why I don't like global CONF object :)17:20
jd__and I guess we can also give it a better try later if we have a better idea17:21
harlowjajd__ agreed17:21
Alexei_9871dhellmann: so what do you think we should do in our case?17:21
Alexei_9871dhellmann: just pass CONF object to all drivers?17:22
dhellmannAlexei_9871: yep, which is why you don't have to use it, but when you don't you have to pass the config object around :-)17:22
dhellmannAlexei_9871: yes, the code that loads drivers should pass the conf object to the driver as it is instantiated17:22
dhellmannoff the top of my head, I don't know if that's on load, or on the first call, or what17:22
Alexei_9871dhellmann: Ok. However I still don't like CONF object :)17:23
Alexei_9871dhellmann: it's making it much more complicated to debug everything cause of this implicit passing of global state17:25
zzzeekAlexei_9871: “trust” of passwords within a Python application is pointless.   The Python environemnt is 100% open17:26
dhellmannAlexei_9871: it's not implicit if it's an argument to the function, though17:26
Alexei_9871dhellmann: I mean you don't have real control of what options are used and when they are used17:26
zzzeekAlexei_9871: a malicious application could just walk up stack frames and get whatever it wants17:26
Alexei_9871dhellmann: cause some long forgotten part of the code can use some option from config17:27
zzzeekAlexei_9871: CONF is a little awkward but I’ve found it straightforward to use.  it can be improved to be nicer.17:28
Alexei_9871dhellmann: I find java dependency injection much more convinient when I look on what we have17:28
dhellmannAlexei_9871: the config library includes a mechanism for "hiding" options using a filter http://docs.openstack.org/developer/oslo.config/cfgfilter.html17:29
Alexei_9871zzzeek: problem with CONF usage is that we start to depend on import order and object creation order and many other tricky things that break our apps17:29
*** HenryG has joined #openstack-oslo17:29
zzzeekAlexei_9871: i dont know about any of that.17:30
Alexei_9871zzzeek: rpodolyaka can tell you about hack that we have to put in nova to make it start correctly17:30
zzzeekAlexei_9871: ive found that if i have a URL and i want to use it, i say CONF.set_default(“connection”, url, “database”)17:30
zzzeekAlexei_9871: that sounds like a separate issue17:31
zzzeekAlexei_9871: CONF as a global, yes I can see that might be an issue17:31
dhellmannAlexei_9871: if options are registered at runtime instead of import time, those ordering problems go away17:32
Alexei_9871zzzeek: it's really hard to get rid of global CONF since we need to change a ton of code to make sure that CONF is passed everywhere and is properly initialized17:32
dhellmannAlexei_9871: IOW, if you have an import order dependency, you're using the library wrong17:32
zzzeekAlexei_9871: yes global CONF cant be fixed quickly17:32
Alexei_9871dhellmann: I agree that we are using it wrong17:33
zzzeekso why not fix that first17:33
Alexei_9871zzzeek: cause it will take several years to land this patches17:33
zzzeekintroducing features to work around technical debt == bad17:33
Alexei_9871zzzeek: and we would have to stop all other work for this17:33
YorikSar_bnemec, harlowja: Hi. I'd like to move our discussion on lockutils from bug+CR to ML. I'm preparing etherpad with list of options and will send a message to ML when I'm done.17:33
Alexei_9871as I already said I would prefer to use some reliable DI system to construct objects with needed parameters and in well defined moments at runtime17:34
harlowjaYorikSar_ thats fair17:34
YorikSar_bnemec, harlowja: I think we can find some of the options good enough so that we can have either file or SysV locks that would suit us.17:35
*** YorikSar_ is now known as YorikSar17:35
zzzeekAlexei_9871: I dont know enough to comment on the issue but from a generalist perspective, “we have to stop all other work to fix this” is the chorus of the technical debt song :)17:35
zzzeekif you never stop to improve on debt you just keep making more of it17:36
zzzeekwhich makes everyhitn down the road take three times longer and then you have *less* time!17:36
Alexei_9871zzzeek: 120% agree but it's not acceptable from busyness perspective17:36
Alexei_9871 business *17:36
zzzeekAlexei_9871: if i accomplish anything working on opentsack it would be to fix that issue17:37
Alexei_9871zzzeek: spice mush flow17:37
harlowjaYorikSar it'd be nice if tooz (or other) would allow u to pick which one you want knowing your applications requirements17:37
Alexei_9871must*17:37
zzzeekAlexei_9871: either by banning host companies who only add to technical debt and never take time to clean it up….or..i dunno17:37
Alexei_9871zzzeek: we need a good dictator for openstack :)17:37
harlowjazzzeek +1 to technical debt song17:37
harlowjai volunteer myself!17:37
harlowjalol17:37
harlowjaoverlord josh17:38
Alexei_9871I propose to hire linus for couple of years17:38
zzzeekdhellmann: from an openstack org perpsective, its a recipe for failure if openstack is developed by host companies that only rush to throw new features in at top speed but don’t offer any resources to clean up on technical debt that they introduce17:38
YorikSarharlowja: I really don't think tooz should be used for host-local locks... We should have clear separation: tooz for distributed locks, lockutils for local ones.17:38
harlowjaYorikSar u might want to comment on https://review.openstack.org/#/c/113753/ ;)17:38
*** praneshp has joined #openstack-oslo17:39
harlowjaYorikSar the problem is lockutils isn't made in a generic manner :-/17:39
bnemecYorikSar: That's fine with me.17:39
* bnemec now wants to shoot semaphores in the head17:39
harlowjalol17:39
bnemecWhoever designed those apis had no clue what they were doing.17:39
harlowjabnemec it amazes me a little that such a crappy locking system (posix_ipc, sysv_ipc) ever made it in17:39
harlowjacrazy17:39
YorikSarharlowja: Well... It covers host-local locking well.17:39
bnemecI mean, POSIX semaphores are completely broken for interprocess locking.17:39
dhellmannzzzeek: you're preaching to the choir in this chat room :-)17:39
clarkbwho can I bug about oslo.messaging test failures with random python hashseeds? (looks like the entire oslo-core group is in the messaging core)17:40
bnemecThe sysv api is a total mess.17:40
harlowjabnemec ya its totally weird17:40
dhellmannclarkb: markmc, flaper87|afk, and sileht are the primary devs on messaging17:40
zzzeekdhellmann: I’m intentionally working quite a bit on technical debt issues.   glad my sponsor is OK with that17:40
clarkbhttps://review.openstack.org/#/c/114079/ is the change I am interested in merging to prevent oslo.messaging from breaking next week17:40
clarkbdhellmann: thanks17:40
*** pcm_ has quit IRC17:40
harlowjaYorikSar sure, it has code that covers host-local locking well, it just sucks in a bunch of dependencies that don't make sense to be used by libraries17:40
clarkbas an alternative we can hard set a hashseed of 0 but it was only this one test that seemed to fail so I figured we could fix the test instead17:41
dhellmannclarkb: i'll put that on my review list, too, but it may be a few hours before I can get to it17:41
dhellmannoh, easy change, hang on17:41
*** pcm_ has joined #openstack-oslo17:41
harlowjazzzeek i think most of this room is onboard with the tech debt stuff ;)17:41
harlowjahere to serve!17:41
harlowjaha17:41
clarkbdhellmann: do read the commit message, I am not sure if this has uncovered an actual bug17:41
YorikSarbnemec: POSIX semaphores a really strange indeed (although they work fine unless process die). SysV semaphores are actoally semaphore arrays, so if we use them as such, we can overcome issues with them.17:41
harlowja*reducing tech debt stuff, haha17:41
dhellmannclarkb: +217:41
clarkbdhellmann: it isn't clear to me if the order there is important17:41
harlowjaYorikSar how would that work, a set of program would get its own array?17:42
* YorikSar smells another place that will burn with lockutils discussion, runs to etherpad to save the channel17:42
harlowjawith the 32000 limit (this one is weird to even exist, why 32000)17:42
YorikSarharlowja: Let me finish the etherpad. I think it might get clear how we can use arrays from it :)17:43
bnemecI don't know, but that's what it is on my system.17:43
harlowjakk17:43
harlowjabnemec its on a couple of systems i've sen also17:43
harlowja*seen17:43
bnemecConcurrency is hard enough to get right without sucky apis underlying it.17:44
harlowjayup17:44
harlowjaso how about that zookeeper (u could just tell people to run it locally, haha)17:44
harlowja;)17:44
*** Alexei_9871 has quit IRC17:44
harlowjait doesn't work, cough cough17:45
dhellmannclarkb: I suspect the issue there is the stevedore manager using a dictionary internally17:45
dhellmannclarkb: I'm also not sure if order is important. I'll take a closer look.17:46
clarkbdhellmann: thank you, we can always go the other route if we need more time too17:47
dhellmannclarkb: which python version are you using for the test there?17:50
clarkbdhellmann: python2.7 with tox1.7.217:50
dhellmannok17:50
dhellmannclarkb: the method _get_drivers_for_message() returns a list created from a set, so order can't be important there17:52
clarkbdhellmann: awesome that makes my change a reasonable fix17:53
dhellmannclarkb: it's not clear why when we mock that to return a list it doesn't come out in the same order, yet17:53
clarkbdhellmann: well the mock takes a list of lists17:54
clarkbdhellmann: and I thought the conversion from list of lists to lists may haev caused it17:54
dhellmannclarkb: ah, the thing that calls that mock also uses a set()17:54
dhellmannclarkb: so your change seems safe17:54
dhellmannclarkb: I think using side_effect like that on the mock causes separate return values for multiple calls, but I'd have to verify that in the docs17:55
dhellmannclarkb: no, I think I'm making that up17:57
dhellmannclarkb: ooh, no, I was right! http://paste.openstack.org/show/95136/17:59
clarkboh I see, and those end up in a set?17:59
dhellmannclarkb: yeah, notify() buids a set of driver names18:01
*** pcm_ has quit IRC18:09
*** pcm_ has joined #openstack-oslo18:10
*** pblaho_ has joined #openstack-oslo18:33
amrithYorikSar, do you have a second?18:33
*** nealph_ has joined #openstack-oslo18:33
YorikSaramrith: Will be with you in couple minutes - writing message to ML...18:33
amriththx18:34
*** linkid has joined #openstack-oslo18:34
*** nealph has quit IRC18:36
YorikSarbnemec, harlowja: http://lists.openstack.org/pipermail/openstack-dev/2014-August/043090.html18:40
harlowjaYorikSar great18:40
YorikSaramrith: I'm back.18:41
harlowjaYorikSar very nice etherpad +218:41
harlowja:)18:41
harlowjaYorikSar ok if i add some stuff to etherpad?18:41
YorikSarharlowja: +2 to etherpad or to all its contents? ;)18:41
harlowjaYorikSar +2 to it looks nice ;)18:41
YorikSarharlowja: Sure. That's what etherpad is for.18:41
amrithyoriksar, I was trying to implement what you suggested in your review; I had hit a pothole. In https://review.openstack.org/#/c/110933/7/tests/unit/test_processutils.py,unified you had suggested that rather than creating a mock object explicitly I should instead use kwargs side_effect to MonkeyPatch.18:41
amrithI get that.18:41
amrithI don't follow how you are suggesting I verify the call_count.18:41
*** AAzza is now known as AAzza_afk18:42
YorikSarmock = self.useFixture(MonkeyPatch(....)).mock; <do stuff>; assertEquals(42 mock.call_count)18:42
YorikSaramrith: ^18:42
amrithI've tried that18:43
amrithi get an error18:43
YorikSarWhat error?18:43
amrithlet me re-run18:43
YorikSarNote that you need to use fixture.mock, not fixture itself (that gets returned from useFixture)18:44
amrithAttributeError: 'MonkeyPatch' object has no attribute 'call_count'18:44
YorikSaramrith: ^18:44
YorikSarYou forgot .mock, I guess.18:44
amrith.mock ...18:44
amrithone second18:44
YorikSaruseFixture gets fixture, runs its setUp and then returns it. We don't need fixture itself, but in its setUp it sets self.mock to a mock that will be used. So we get that mock and use it later to verify call_count.18:45
amrithYorikSar, this is what I'm doing https://gist.github.com/amrith/3b8fa07c8c5249e3563b18:46
amrithok, I see the differences. let me retry18:46
YorikSarYou should do: mock = self.useFixture(fixtures.MonkeyPatch('subprocess.Popen.communicate', side_effect=OSError(errno.EAGAIN, 'fake-test'))).mock18:47
YorikSarNo need to explicitely create Mock object there. And you should add .mock after useFixture(..)18:47
YorikSarBtw, there's also no need to store mock in self. It's just a local mock for your test.18:48
* amrith tries again18:48
amrithso, fixtures.MonkeyPatch says side_effect is an unexpected argument18:49
amriththat's the reason I had put it in a mock.Mock()18:49
YorikSarThat's strange... Let me check.18:49
amrithi put a comment on the gist18:50
amrithwith that error18:50
YorikSaramrith: Oh, you should use Patch fixture from openstack.common.fixtures.mockpatch18:50
amrithok, one second18:51
YorikSarfixtures.MonkeyPatch work w/o mock afaik18:51
amrithopenstack.common.fixture.mockpatch, trying that. will let you know how that goes18:52
amrithinteresting ... I don't see anyone in openstack using it (I was looking for a simple sample)18:52
amrithnever mind18:53
amrithtypo18:53
amrithfixture not fixtures18:53
amrithYorikSar, much more better. works like a champ. thanks!18:57
YorikSaramrith: Great :)18:57
YorikSarharlowja: Ah... I've almost caught that sentence! :)19:01
harlowja;)19:01
harlowjaetherpad battle ftw, ha19:01
YorikSarharlowja: it's 11pm, time to go home. I'll come back tomorrow or maybe later today. Can you move Zookeeper option to the main list (option D, I guess) and add pros/cons?19:02
harlowjadon't forget to look at C4 YorikSar19:02
harlowjaah, sure19:02
openstackgerritamrith proposed a change to openstack/oslo-incubator: Handle a failure on communicate()  https://review.openstack.org/11093319:06
amrithYorikSar, new bits for you when you are able ... https://review.openstack.org/#/c/110933/. thanks for your help!19:08
harlowjaYorikSar ok, added some pros/cons to zookeeper option19:15
openstackgerritArnaud Legendre proposed a change to openstack/oslo.vmware: Add methods to the Datastore objects  https://review.openstack.org/10916019:32
*** stevemar has quit IRC19:35
*** stevemar has joined #openstack-oslo19:36
*** markmc has joined #openstack-oslo19:41
*** alexpilotti has quit IRC20:09
Alexei_987dhellmann: Hi are you still here?20:16
dhellmannAlexei_987: here20:19
Alexei_987dhellmann: coming back to discussion of URL vs CONF20:19
Alexei_987dhellmann: right now ceilometer can open 2 different DB connections20:19
Alexei_987dhellmann: cause they separated alarm and storage backends20:20
dhellmannok20:20
Alexei_987dhellmann: in CONF case it becomes quite hard to support such schema since you need 2 different config sets20:20
Alexei_987dhellmann: what would you advise in such case?20:20
openstackgerritA change was merged to openstack/oslo.vmware: Imported Translations from Transifex  https://review.openstack.org/11378520:21
openstackgerritA change was merged to openstack/oslo.messaging: Make tests pass with random python hashseed  https://review.openstack.org/11407920:21
Alexei_987dhellmann: it seems to me that this is fundamental limitation of oslo.config20:22
Alexei_987dhellmann: since it assumes that you only have 1 instance of configured object20:22
Alexei_987dhellmann: + options group hack20:22
Alexei_987dhellmann: so for oslo.db for example there is no way to create 2 engines with different config20:25
Alexei_987zzzeek: Hi if you are still here you advice is also very welcome ^^20:29
zzzeekAlexei_987: I know nothing about the config system.   in oslo.db, i can call session.create_engine() as many times and get that number of engines :)20:30
dhellmannAlexei_987: sorry, local interruption, reading the scrollback20:30
zzzeekAlexei_987: if CONF is global and has one “connection”, then yeah, unless you cahnge it at runtime (which is what a lot of test suites do)20:30
dhellmannAlexei_987: each db handle would use a different group with the same option definitons, so the driver needs to be given some group name to use to load the options separately (you can do this, and some other projects do)20:30
zzzeekAlexei_987: however, for testing, there’s a whole different way to get at engines that should be used.   its not fully merged yet :)20:30
Alexei_987dhellmann: so you are saying that oslo.db should accept 'group' as a parameter and read options from it?20:31
Alexei_987zzzeek: I know and I would like to get to it. Some time ago I've made a lot of hacking in ceilometer to make tests work with db connections well20:32
Alexei_987dhellmann: https://github.com/openstack/oslo.db/blob/master/oslo/db/sqlalchemy/session.py#L753 ?20:34
openstackgerritA change was merged to openstack/oslo-incubator: Specify namedtuple_as_object=False when using simplejson  https://review.openstack.org/11376020:35
zzzeekAlexei_987: the test gets set up with self.engine, and i think self.session20:35
Alexei_987zzzeek: executing a test inside of a transaction would be a great step forward :)20:37
zzzeekAlexei_987: its all ready to be merged20:37
zzzeekAlexei_987: if you can get your test to use self.engine, you’re in20:38
Alexei_987zzzeek: for tests it's rather simple (just do a proper mock)20:38
dhellmannAlexei_987: yes, probably, with "group" being some name that is meaningful to the application (like "alarm" and "samples" maybe)20:39
*** pcm_ has quit IRC20:39
Alexei_987dhellmann: yeah I guess we'll have to go this way20:39
dhellmannAlexei_987: so you would have an "alarms_db" group with a "url" option and then whatever other options oslo.db uses, and similarly "samples"20:40
dhellmannor samples_db, I guess20:40
Alexei_987dhellmann: and if CONF would be a normal dict you could just create an engine with Facade.from_config(conf['storage'])20:40
Alexei_987dhellmann: so no changes in oslo.db would be required :)20:40
dhellmannAlexei_987: you can also pass an option group in, but I don't know if the config filter works with that20:41
dhellmannAlexei_987: how would the application know what to put in that dictionary?20:41
dhellmannAlexei_987: keep in mind a mongo driver might have different options than an SQL driver20:41
Alexei_987dhellmann: application should not care... user will configure it. application should now what to get from there and fail if something is missing20:41
dhellmannAlexei_987: but some piece of code needs to build the dictionary if you're going to pass it to the driver. Where is that logic?20:42
Alexei_987dhellmann: not sure I understand. If you configure engine from external config it's user responsibility to fill it.20:43
Alexei_987dhellmann: and if you create an object internally you should now what object you are creating and what options should be there20:43
dhellmannAlexei_987: something reads the config file, and then creates a dict() with some things in it, and then passes that to the driver. How does it know what parts to take out of the config and put into the dict?20:43
Alexei_987dhellmann: ah.. for ceilometer for example it should be storage.get_connection method20:44
Alexei_987dhellmann: it would get proper dict from config and pass it to underlying driver20:44
Alexei_987dhellmann: so something like a factory method20:44
dhellmannAlexei_987: so get_connection() now has to know which options each driver needs?20:45
dhellmannAlexei_987: because until the options are registered, the values are not visible in the config object (even though they are present)20:45
Alexei_987dhellmann: It doesn't know the options itself. just the group where they are stored20:45
Alexei_987dhellmann: in case of plain dict it's not a problem20:46
dhellmannAlexei_987: but then there's no validation of the config20:46
Alexei_987dhellmann: validation should be in driver object20:46
Alexei_987dhellmann: driver gets a CONF slice with options20:47
dhellmannAlexei_987: right, that's why the drivers register their options and then access them :-)20:47
Alexei_987dhellmann: and registers it's own20:47
Alexei_987yeah but now driver has to register them in certain namespace20:47
dhellmannAlexei_987: so maybe we need an API to register options in a group20:47
Alexei_987dhellmann: and if it would only receive a slice of CONF it would register them assuming that options are on root level20:47
dhellmannAlexei_987: that's reasonable, but it still won't be a dict()20:48
Alexei_987(like validating a dict against some filters)20:48
Alexei_987dhellmann: it may not be a dict from impl point of view20:48
Alexei_987dhellmann: but it could look like a dict20:48
openstackgerritA change was merged to openstack/oslo-incubator: Make graduate.sh commit filtering more correct  https://review.openstack.org/10977920:48
Alexei_987dhellmann: so driver would do something like conf.validate_opts(driver_opts)20:49
Alexei_987dhellmann: and later assume that conf is a dict20:49
Alexei_987dhellmann: I even imaging a "ConfigurableMixin" that would do this20:50
Alexei_987dhellmann: and end user object would simply access normal kwargs20:50
*** dims has quit IRC20:51
*** dims_ has joined #openstack-oslo20:51
Alexei_987s/imaging/imagine20:51
dhellmannAlexei_987: we don't need to change the API of the conf object to accomplish any of that, though, except to add the ability to register options directly on a group if that isn't already possible (it might be, I'm not sure)20:52
Alexei_987dhellmann: yeah it's true20:53
Alexei_987dhellmann: that's what I said in Atlanta20:53
Alexei_987dhellmann: however everyone was too busy to discuss it20:53
dhellmannok, I don't remember that but I believe you20:53
dhellmannthat rings true, we had a lot to figure out about graduation then20:53
dhellmannwant to write a spec for kilo?20:53
Alexei_987dhellmann: so maybe we could file a spec in oslo.config?20:53
Alexei_987dhellmann: yeah should be reasonable20:54
Alexei_987dhellmann: My vision is that Configurable class may look like sqlalhemy.Model definition and with little help of metaclasses magic validate incoming options20:54
*** mrda-away is now known as mrda20:55
dhellmannAlexei_987: I would like to see more detail, and figure out if there's a way to make this work a little better. Look at the existing API to make sure it doesn't support what you want (even if the API itself isn't what you like) before proposing a new implementation, but do write a spec for kilo.20:56
Alexei_987dhellmann: sure.. I will do a spec and prepare a small POC20:57
dhellmannAlexei_987: awesome :-)20:57
Alexei_987dhellmann: just need to fix urgent bugs :(20:57
dhellmannAlexei_987: yeah, sure, focus on bugs -- this would be for kilo anyway20:57
openstackgerritDolph Mathews proposed a change to openstack/pycadf: jsonschema based model validation  https://review.openstack.org/11435621:00
*** stevemar has quit IRC21:10
*** zzzeek has quit IRC21:23
*** tongli has joined #openstack-oslo21:23
*** tsekiyam_ has joined #openstack-oslo21:24
*** tong_ has quit IRC21:26
*** tsekiyama has quit IRC21:26
openstackgerritDolph Mathews proposed a change to openstack/pycadf: jsonschema based model validation  https://review.openstack.org/11435621:34
jogodhellmann:stevedore lolz: http://logs.openstack.org/30/114030/1/check/check-tempest-dsvm-full/d1f636f/logs/21:34
jogon-api 8.6MB21:34
jogowow http://logs.openstack.org/30/114030/1/check/check-tempest-dsvm-full/d1f636f/logs/?C=S;O=D21:35
openstackgerritDolph Mathews proposed a change to openstack/pycadf: jsonschema based model validation  https://review.openstack.org/11435621:35
*** zzzeek has joined #openstack-oslo21:36
*** dims has joined #openstack-oslo21:42
dhellmannjogo: ?21:43
jogodhellmann: loos like stevedore is a big chunk of those logs21:44
dhellmannjogo: ah, logging too much? yeah, file a bug for me?21:44
dhellmannjogo: I'm about done for the day and headed to a meetup, but I can look at it tomorrow morning21:44
*** dims has quit IRC21:45
jogodhellmann: I was going to add it to the list of libs to set to INFO log level21:45
*** dims_ has quit IRC21:45
dhellmannjogo: I'm not sure we want to turn off all debugging, though, so maybe we just want to set the default output level for stevedore to info? yeah21:45
*** dims has joined #openstack-oslo21:45
dhellmannjogo: if you submit a patch I can +2 it and we'll be half way there :-)21:45
jogodhellmann: cool if your happy with setting it to INFO in nova I'll push up the patch21:45
dhellmannjogo: yep, makes a lot of sense, and we can look at stevedore to see if maybe some of the messages should be at a different level21:46
jogocool, oslo patch comming soon21:46
*** openstackgerrit has quit IRC21:46
dhellmannjogo: thanks!21:47
dhellmannjogo: is there a bug I should track, too, or just the patch?21:47
*** openstackgerrit has joined #openstack-oslo21:47
jogodhellmann: just a patch that I am working on right now21:47
jogowant a bug too?21:47
dhellmannjogo: nah, if there's not already a bug the patch is enough21:47
dhellmannjogo: post the link there so it's not lost in my inbox?21:48
openstackgerritJoe Gordon proposed a change to openstack/oslo-incubator: Set stevedore log level to WARN by default  https://review.openstack.org/11436821:49
jogodhellmann: ^21:50
jogodims: ^21:50
dimslgtm21:51
jogodims: thanks21:52
*** mriedem has quit IRC21:53
dhellmannjogo: warn not info? that's probably ok, it's consistent with the others21:53
dhellmannjogo: +2a21:54
*** linkid has left #openstack-oslo21:54
* dhellmann signs off for the python meetup21:54
openstackgerritJoshua Harlow proposed a change to openstack/taskflow: Use explicit WBE request state transitions  https://review.openstack.org/11416221:55
*** markmcclain has quit IRC21:57
jogon-api is 33 MBs uncompressed21:57
*** jecarey_ has quit IRC21:58
openstackgerritA change was merged to openstack/oslo-incubator: Set stevedore log level to WARN by default  https://review.openstack.org/11436822:06
*** dims has quit IRC22:14
*** dims has joined #openstack-oslo22:15
*** dims has quit IRC22:19
openstackgerritDolph Mathews proposed a change to openstack/pycadf: jsonschema based model validation  https://review.openstack.org/11435622:23
*** markmc has quit IRC22:25
*** tpatil__ has joined #openstack-oslo22:32
*** jgrimm has quit IRC22:37
*** tpatil__ has quit IRC22:37
openstackgerritDolph Mathews proposed a change to openstack/pycadf: jsonschema based model validation  https://review.openstack.org/11435622:41
*** tpatil_ has joined #openstack-oslo22:45
*** gordc has quit IRC22:54
*** tpatil_ has quit IRC23:01
*** bknudson has quit IRC23:05
*** dims has joined #openstack-oslo23:16
openstackgerritDolph Mathews proposed a change to openstack/pycadf: jsonschema based model validation  https://review.openstack.org/11435623:26

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!