Friday, 2014-08-08

*** tsekiyam_ has joined #openstack-oslo00:02
*** tsekiyama has quit IRC00:06
*** tsekiyam_ has quit IRC00:07
*** pblaho has quit IRC00:12
openstackgerritA change was merged to openstack/pycadf: Debug env for tox  https://review.openstack.org/10990300:37
*** zzzeek has quit IRC00:45
*** celttechie has joined #openstack-oslo00:53
*** Ish__ has joined #openstack-oslo01:01
*** mriedem has joined #openstack-oslo01:11
*** Ish__ has quit IRC01:34
*** mriedem has quit IRC01:44
*** jgrimm has joined #openstack-oslo01:45
*** mriedem has joined #openstack-oslo01:51
*** mriedem has left #openstack-oslo01:55
*** mriedem has quit IRC01:55
*** SridharG has joined #openstack-oslo01:56
*** SridharG has quit IRC01:58
openstackgerritA change was merged to openstack/oslo-incubator: Fix E126 pep8 errors  https://review.openstack.org/11089202:46
*** arnaud has quit IRC03:01
*** jecarey has joined #openstack-oslo03:34
*** oomichi has quit IRC03:48
*** arnaud has joined #openstack-oslo04:16
*** Ish__ has joined #openstack-oslo04:19
*** Ish__ has left #openstack-oslo04:20
openstackgerritA change was merged to openstack/oslo.messaging: Enable check for E226  https://review.openstack.org/10827804:29
*** jaosorior has joined #openstack-oslo04:48
*** bknudson has quit IRC05:35
*** mrda-away is now known as mrda06:00
*** k4n0 has joined #openstack-oslo06:02
*** celttechie has quit IRC06:05
openstackgerritChristian Berendt proposed a change to openstack/oslo.messaging: Enable PEP8 check E241  https://review.openstack.org/10907706:06
openstackgerritChristian Berendt proposed a change to openstack/oslo.messaging: Enable PEP8 check E265  https://review.openstack.org/10907906:07
openstackgerritChristian Berendt proposed a change to openstack/oslo.messaging: Enable PEP8 check E714  https://review.openstack.org/10908006:07
openstackgerritOpenStack Proposal Bot proposed a change to openstack/oslo.utils: Imported Translations from Transifex  https://review.openstack.org/11276606:10
*** morrocan has joined #openstack-oslo06:33
*** morrocan has quit IRC06:45
*** i159 has joined #openstack-oslo06:50
*** ildikov has joined #openstack-oslo06:51
*** ihrachyshka has joined #openstack-oslo07:05
*** ihrachyshka has quit IRC07:09
*** morganfainberg is now known as morganfainberg_Z07:17
*** AAzza_afk is now known as AAzza07:27
*** flaper87|afk is now known as flaper8707:29
*** morganfainberg_Z is now known as morganfainberg07:34
*** ihrachyshka has joined #openstack-oslo07:38
*** arnaud has quit IRC07:42
*** stevemar has quit IRC08:03
*** Alexei_987 has joined #openstack-oslo08:29
*** flaper87 is now known as flaper87|afk08:47
*** pblaho has joined #openstack-oslo08:51
*** ihrachyshka has quit IRC08:53
*** ihrachyshka has joined #openstack-oslo09:13
*** AAzza_ has joined #openstack-oslo10:02
*** AAzza_afk has joined #openstack-oslo10:04
*** ihrachyshka has quit IRC10:05
*** AAzza has quit IRC10:05
*** AAzza_afk is now known as AAzza10:05
*** AAzza_ has quit IRC10:08
*** alexpilotti has joined #openstack-oslo10:22
*** tsufiev has quit IRC10:23
*** ujjain has quit IRC10:23
*** tsufiev has joined #openstack-oslo10:25
*** ujjain has joined #openstack-oslo10:26
*** pcm_ has joined #openstack-oslo10:33
*** pcm__ has joined #openstack-oslo10:34
*** pcm_ has quit IRC10:38
*** abhishekk has joined #openstack-oslo10:47
*** AAzza is now known as AAzza_afk11:08
*** AAzza_afk is now known as AAzza11:22
*** pcm__ has quit IRC11:31
*** pcm_ has joined #openstack-oslo11:56
*** pcm_ has quit IRC11:56
*** pcm_ has joined #openstack-oslo11:56
*** ihrachyshka has joined #openstack-oslo12:05
*** ihrachyshka has quit IRC12:10
*** pcm_ has quit IRC12:12
openstackgerritIlya Pekelny proposed a change to openstack/oslo-specs: Alembic environment runner specification  https://review.openstack.org/11284212:22
*** bknudson has joined #openstack-oslo12:32
*** rpodolyaka has quit IRC12:34
*** bogdando has quit IRC12:34
*** bogdando has joined #openstack-oslo12:35
*** rpodolyaka has joined #openstack-oslo12:36
*** bknudson has quit IRC12:37
*** AAzza is now known as AAzza_afk12:38
openstackgerritRoman Vasilets proposed a change to openstack/oslo.db: Extract logging setup into a separate function  https://review.openstack.org/10699212:45
*** pcm_ has joined #openstack-oslo12:46
*** dhellmann_ is now known as dhellmann12:47
*** bknudson has joined #openstack-oslo12:54
*** AAzza_afk is now known as AAzza12:54
*** gordc has joined #openstack-oslo12:56
*** linkid has joined #openstack-oslo13:00
linkidhi13:00
linkidI have a question about oslo incubator13:01
linkidabout apiclient/exceptions.py13:02
dhellmannhi, linkid, ask away13:04
linkidis it this channel or is there another channel for oslo-incubator ?13:04
linkidok13:04
linkidthe from_response function is weird to me13:04
linkidespecially that : https://github.com/openstack/oslo-incubator/blob/master/openstack/common/apiclient/exceptions.py#L45113:05
linkidbecause there is a get applied to a list13:06
linkidand when you look at wsme, it is not the same body type as expected here13:08
linkidso I look at ceilometer, to know how they do, but the from_response function were overrided, I think13:09
linkidhttps://github.com/openstack/python-ceilometerclient/blob/master/ceilometerclient/exc.py#L12013:10
*** zzzeek has joined #openstack-oslo13:10
dhellmannthe line in apiclient/exceptions.py is turning body.values() into a list (because in python 3 it is an iterable view) and then the [0] at the end pulls out the first element13:11
dhellmannthat value is saved as error, and the get() calls are against that, so I guess the list is assumed to have a list of dictionaries13:11
dhellmannit's possible the ceilometer client code is based on an older (or newer) version of the apiclient stuff -- there have been a few different people working on bringing the most current code into the incubator to be shared, but I don't know how much progress they've made13:12
linkidyes, but when wsme raise an error, there is no list of dictionnaries in the first element of body.values(), for example13:12
dhellmannwhat's there instead?13:13
linkidit is something like that : {"debuginfo": <string>, "faultcode": <string>, "faultstring": <string>}13:14
dhellmannso a single dictionary, rather than a list?13:14
linkidso, the line 451 will return a string13:15
linkidyes13:15
dhellmannmaybe that's why ceilometer's from_response() is different, then13:15
linkidyes, I think so too13:15
linkidso my question is : is it a bug in oslo-incubator or do I have to override the from_response function like in ceilometer ?13:16
linkidbecause maybe, it is used by another lib…13:17
dhellmannlinkid: well, the different services apparently return errors in different ways, so if we want to use the incubator code for all of them it will have to know how to figure out what the error response looks like13:18
linkidok, I see13:19
linkidbut maybe I could add a test in the from_response function, non ?13:19
dhellmannlinkid: yes, that might do it. Are you trying to make the ceilometer client code use the incubated version of apiclient?13:20
linkiddhellmann: nope, I'm currently working on another client13:21
dhellmannlinkid: for a service that also uses wseme? (I'm trying to understand the source of your questions. :-)13:21
linkidbut I will submit a ticket for this test13:21
linkiddhellmann: yes13:21
dhellmannok13:22
zzzeekrpodolyaka: transparent reader/writer solving problems that dont exist, eh ? :)13:22
rpodolyakazzzeek: heh :)13:23
linkiddhellmann: it is for the cloudkitty client which I'm currently working on13:23
*** mriedem has joined #openstack-oslo13:24
linkiddhellmann: for oslo-incubator, it is the same launchpad for oslo ?13:24
dhellmannlinkid: yes, please use the oslo launchpad project for bugs and blueprints for the incubator13:26
dhellmannlinkid: I think cloudkitty is the 3rd billing-related project I've learned about this week. I sense a meme. :-)13:27
openstackgerritIlya Pekelny proposed a change to openstack/oslo-specs: Alembic environment runner specification  https://review.openstack.org/11284213:31
openstackgerritIlya Pekelny proposed a change to openstack/oslo.db: Implementation of Alembic as migration engine  https://review.openstack.org/9996513:31
openstackgerritIlya Pekelny proposed a change to openstack/oslo.db: Common alembic environment runner.  https://review.openstack.org/11285913:31
zzzeek“H703  Multiple positional placeholders" wtf is that ?13:35
rpodolyakazzzeek: "%s something %s" % (a, b)13:36
zzzeekwhats wrong with that ?!?!!?13:36
rpodolyaka"%(a)s something %(b)s" % {'a': 1, 'b': 2} is preferred :)13:36
zzzeekhow are we making flake8 do all these extra things and where is that coming from ?13:37
zzzeekis this “hacking”?  how does that work?13:37
rpodolyakayep, it's hacking, afaik13:37
zzzeekthis is new right?   H703 ?13:37
rpodolyakait's something like an additional set of rules we check13:37
rpodolyakayep, I think we've merged a new hacking version recently13:38
rpodolyakaand removed a few warning from the list of warning being ignored13:38
*** abhishekk has quit IRC13:47
*** AAzza is now known as AAzza_afk13:49
*** jecarey has quit IRC13:49
*** russellb is now known as rustlebee13:50
zzzeekthis completely blows because we can no longer defer argument stringification for python logging13:51
rpodolyakahmm, can't you pass a mapping as an argument?13:52
zzzeekah, single dictioanry, OK13:52
zzzeekthx13:52
rpodolyakanp13:53
openstackgerritMichael Bayer proposed a change to openstack/oslo.db: Reorganize DbTestCase to use provisioning completely  https://review.openstack.org/11017013:55
openstackgerritMichael Bayer proposed a change to openstack/oslo.db: Use testr instance provisioning to lazily create databases  https://review.openstack.org/11048613:55
*** AAzza_afk is now known as AAzza14:00
zzzeekrpodolyaka: i have a completely different organization in provision.py now, shoudl be easier to follow14:01
rpodolyakazzzeek: ok, cool!14:04
zzzeekhuh wonder how this: logging_name="%s@%s" % (self.drivername, ident) is making it through.    bet it fails14:08
*** tsekiyama has joined #openstack-oslo14:10
openstackgerritVlad Okhrimenko proposed a change to openstack/oslo.db: Create class TestInnoDB  https://review.openstack.org/10899414:18
linkiddhellmann: do I have to use a tag to specify that my bug concerns oslo-incubator ?14:18
dhellmannlinkid: no, we assume the incubator by default14:18
linkidok, thanks14:19
*** mriedem is now known as SteelyDan14:24
*** SteelyDan is now known as mriedem14:25
bnemeczzzeek: The logging_name line is fine because it isn't translated.14:25
zzzeekoh hacking is only looking inside of _LI() ?  OK14:26
bnemecThe multiple positional arguments is disallowed because it can break translations if the arguments are swapped during translation.14:26
*** celttechie has joined #openstack-oslo14:26
bnemeczzzeek: Yep14:26
*** stevemar has joined #openstack-oslo14:28
*** k4n0 has quit IRC14:39
*** i159 has quit IRC14:41
zzzeekbnemec: that’s a great reason14:41
*** celttechie has quit IRC14:51
*** ildikov has quit IRC14:56
zzzeekwoop big green checkmark!14:57
*** jecarey has joined #openstack-oslo14:57
*** markmcclain has joined #openstack-oslo14:58
dhellmannteam meeting starting in a couple of minutes in #openstack-meeting-alt14:59
rpodolyakaisn't it starting in one hour? or I've missed something? :)15:00
dhellmannis my clock messed up?15:01
dhellmannthanks, rpodolyaka, you're right -- back in ~1 hr15:03
rpodolyakaheh :)15:03
dhellmannapparently I need more human interaction :-)15:03
rpodolyaka:)15:03
openstackgerritVlad Okhrimenko proposed a change to openstack/oslo.db: Create get_non_innodb_tables in utils.  https://review.openstack.org/10899415:04
*** Alexei_987 has quit IRC15:05
openstackgerritDoug Hellmann proposed a change to openstack/oslo-specs: clean up toctree now that we are publishing  https://review.openstack.org/11231715:06
*** celttechie has joined #openstack-oslo15:11
openstackgerritRoman Podoliaka proposed a change to openstack/oslo.db: Add get_non_innodb_tables() to utils  https://review.openstack.org/10899415:13
rpodolyakaoh, gerrit doesn't automatically wrap lines if you edit the commit message via the web interface...15:14
openstackgerritRoman Podoliaka proposed a change to openstack/oslo.db: Add get_non_innodb_tables() to utils  https://review.openstack.org/10899415:17
openstackgerritMichael Bayer proposed a change to openstack/oslo.db: Use testr instance provisioning to lazily create databases  https://review.openstack.org/11048615:22
rpodolyakacan I get another core review for two very simple patches - https://review.openstack.org/#/c/112730/1 and  https://review.openstack.org/#/c/106992/ ? :)15:22
*** linkid has left #openstack-oslo15:23
morganfainbergdhellmann, does this sound to you like something wonky going on in oslo.config: https://bugs.launchpad.net/keystonemiddleware/+bug/1354269 ? it seems like they are getting a non-int back for an IntType option (I haven't confirmed this is really the case yet)15:25
morganfainbergdhellmann, but it *looks* like it.15:26
openstackgerritMichael Bayer proposed a change to openstack/oslo.db: Use testr instance provisioning to lazily create databases  https://review.openstack.org/11048615:26
boris-42dhellmann hi15:28
boris-42dhellmann As far we merged in glacne osprofiler seems like bumping version of osprofiler is essential https://review.openstack.org/#/c/104691/15:28
boris-42dhellmann somebody already faced issue https://review.openstack.org/#/c/112925/15:28
bknudsonmorganfainberg: that may not be going through oslo.config15:30
bknudsonif it's reading from the api-paste.ini15:30
morganfainbergbknudson, the options should be loaded from the conf object15:31
dhellmannthe middleware options don't come from the paste config object?15:31
morganfainbergdhellmann, but the *options* are defined in oslo manner?15:31
morganfainbergis that just... for show?15:32
dhellmannmorganfainberg: I don't know how paste and oslo.config interact here15:32
dhellmannmaybe that was just for generating docs?15:32
bknudsonhere's _conf_get: http://git.openstack.org/cgit/openstack/keystonemiddleware/tree/keystonemiddleware/auth_token.py#n54015:32
morganfainbergmaybe15:32
bknudsonself._conf is from the conf that's passed in15:32
bknudsonwhich I assume is a dict of strings15:33
morganfainbergso.. the options defined at the top are *only* for doc generation really (and/or defaults)?15:33
dhellmannyeah, and that would be the dict that paste sends15:33
bknudsonit's not something I've looked into15:33
bknudsonI've always wondered if there was something fishy there.15:33
morganfainbergthat sounds like something we should push through the config options we define15:33
dhellmannmorganfainberg: based on that source ^^ if the options are set in the keystone.conf file they will be converted properly15:33
morganfainbergdhellmann, right.15:34
morganfainbergdhellmann, well nova.conf in this case15:34
dhellmannok, yeah15:34
morganfainbergdhellmann, we don't use auth_token middleware in keystone15:34
dhellmannright15:34
morganfainbergbknudson, i think this is all around fishy and needs to be solved (if possible) by getting the config info into the real config object not just whatever paste sends in15:35
bknudsonmorganfainberg: it would be cool if we could do that.15:35
morganfainbergbknudson, dhellmann, thanks for the eyes, i'll update the bug to reflect this information15:35
dhellmannI wonder if you could use setdefaults with the values that come from paste to inject them into the config, or if they need to have the right type15:35
bknudsonI think there's already a fix proposed... not sure what approach was taken.15:36
morganfainbergbknudson, calling int() around conf.geT()15:36
bknudsonclassy.15:36
morganfainbergbknudson, it was also proposed to keystoneclient (so it got a -2 until it lands in keystonemiddleware, we may need to evalutate if we want that one in keystoneclient's version)15:37
morganfainbergbknudson, or whatever the fix ends up being15:37
bknudsonit's not a security fix15:37
morganfainbergbknudson, ++ thats my view.15:37
bknudsonand there's a simple workaround15:37
morganfainbergbknudson, but i am keeping an open mind :P someone may *REALY* need it.15:37
morganfainbergok updated the bug with the info.  thanks for the eyes on it :)15:40
openstackgerritMichael Bayer proposed a change to openstack/oslo.db: Use testr instance provisioning to lazily create databases  https://review.openstack.org/11048615:40
*** bknudson has left #openstack-oslo15:44
zzzeek/j #openstack_meeting_alt15:45
zzzeekwhups15:45
*** Ish__ has joined #openstack-oslo15:45
* dhellmann has the sense that the meeting today is going to be a bit fraught, between TZ and IRC user errors :-)15:50
*** AAzza is now known as AAzza_afk15:52
*** bknudson has joined #openstack-oslo15:54
YorikSarzzzeek: s/_/-/ in channel name ;)15:57
*** i159 has joined #openstack-oslo15:57
*** bnemec is now known as beekneemech16:02
zzzeekarg16:05
*** jogo is now known as flashgordon16:26
*** SridharG has joined #openstack-oslo16:29
openstackgerritA change was merged to openstack/oslo.db: Restore correct source file encodings  https://review.openstack.org/11273016:33
*** pcm_ has left #openstack-oslo16:56
*** pcm_ has joined #openstack-oslo16:56
pcm_Can anyone tell me if it is possible to override cfg.CONF.config_file in UTs, and if so how to do that?16:58
*** i159 has quit IRC17:00
YorikSardhellmann: https://review.openstack.org/81798 - CR to oslo.rootwrap that adds daemon mode and drags in some eventlet handling.17:02
*** pblaho has quit IRC17:02
YorikSardhellmann: Although I've added eventlet import to too common code that ends up imported from rootwrap daemon itself (and runs as root) and that should be fixed.17:03
*** bknudson has quit IRC17:03
dhellmannpcm_: in UTs?17:04
pcm_dhellmann: yes17:04
dhellmannpcm_: what is "UTs"?17:04
pcm_dhellmann:  Unit Tests17:04
dhellmannpcm_: ah, yes, you can definitely do that: http://docs.openstack.org/developer/oslo.config/fixture.html17:05
pcm_dhellmann: I have a vendor config file that is read at agent init time (Neutron) using cfg.CONF.config_file17:05
pcm_dhellmann: I'd like to set a temp config_file and then use that in the UTs.17:07
dhellmannwhy is the test reading a file to get the configuration?17:07
*** zzzeek has quit IRC17:09
*** zzzeek has joined #openstack-oslo17:09
pcm_The production code has the config in a vendor config file (this is an interim solution). File is read at agent startup to provide info for 1+ routers (username, password, port, IP, ...)17:10
pcm_For UT, I want to create a dummy config file and then test the code that loads the configuration file.17:10
openstackgerritA change was merged to openstack/oslo-specs: clean up toctree now that we are publishing  https://review.openstack.org/11231717:12
pcm_For existing tests, I create temp file, and pass the path to the function that reads the config file. Production code passes in cfg.CONF.config_file17:13
pcm_However, I'm creating a new method that will do several things and as part of that, call the function to read the config files for these settings.17:13
YorikSarbeekneemech: It looks like Nova relies on file locking for image cache only17:14
beekneemechYorikSar: Right17:14
YorikSarbeekneemech: And it happens just to allow image cache to be mounted from remote host17:14
pcm_I could pass the filename to this new method, but I was wondering if I could override the cfg.CONF.config_file17:14
pcm_dhellmann: Did I make sense?17:14
YorikSarbeekneemech: So in the long run that can be replaced with tooz I suppose.17:14
beekneemechYorikSar: Yes, it would be good to get them away from that.  I don't know that file locks are even guaranteed to work on all distributed filesystems.17:15
YorikSarbeekneemech: They should work over very good old fiel sharing protocols.17:16
dhellmannpcm_: I'm not quite sure. It seems like you should have the config file passed to the application and let it read the files one time, and not have the vendor code reading new files at all.17:16
YorikSarbeekneemech: But with morden new ones - not so much.17:16
pcm_dhellmann: From the link... would I use the Config class's config() method to set config_file then?17:16
dhellmannpcm_: well, the point is I don't think you want to be changing that at all17:17
dhellmannpcm_: is the vendor code creating a new ConfigOpts instance?17:17
pcm_dhellmann: It is passed, the app (the VPN agent), will load (dynamically) a device driver. The device driver uses the config_file config to find the config file and load the configuraiton.17:18
YorikSardhellmann, beekneemech: Which brings me to another question. Can we change lockutils API during graduation? I'd like to make a very clear separation of file locks and semaphores.17:18
pcm_dhellmann: no17:18
pcm_dhellmann: https://github.com/openstack/neutron/blob/master/neutron/services/vpn/device_drivers/cisco_ipsec.py#L20917:18
YorikSarE.g. add a flag "file_lock=True" that will force usage of file locks, and stuff like lock_path will be ignored otherwise.17:19
pcm_dhellmann: This is existing code for the device driver. It was a proof of concept implementation to do VPN.17:19
dhellmannYorikSar: changing the API is going to need a spec so we can hash out the details.17:19
dhellmannpcm_: reading...17:19
YorikSardhellmann: And we just agreed to no more specs for now, right. Ok, I'll shelve that thought.17:20
dhellmannYorikSar: well, "for now", so you could still write it up while the ideas are fresh in your mind17:20
beekneemechYorikSar: I really, really, really don't want to make changes to lockutils if we can possibly help it.17:21
YorikSardhellmann: Yes, I will. Not today though...17:21
beekneemechEvery time we do it causes havoc.17:21
dhellmannpcm_: cfg.CONF.config_file is going to be the main configuration file for the application, right? why not just use cfg.CONF directly?17:21
pcm_dhellmann: Here are the UTs: https://github.com/openstack/neutron/blob/master/neutron/tests/unit/services/vpn/device_drivers/test_cisco_ipsec.py#L153917:21
dhellmannpcm_: oh, it *does* create a new config parser instance17:22
*** jaosorior has quit IRC17:22
YorikSarbeekneemech: I don't want to change any implementation, just the API. And since it's going to graduate, we can easily switch to this modified API during adoption.17:23
dhellmannpcm_: https://github.com/openstack/neutron/blob/master/neutron/services/vpn/device_drivers/cisco_ipsec.py#L8217:23
beekneemechYorikSar: I really, really, really don't want to change _anything_ :-)17:23
dhellmannYorikSar: that library is particularly brittle :-/17:23
pcm_dhellmann: Ah. Yes.17:23
beekneemechThis is a deeply embedded piece of OpenStack and even little changes cause major issues.17:23
pcm_dhellmann: So this is upstream. End goal is to instead of doing this. Read the router information dynamically via Neutron calls from the service driver (and pass down to device driver).17:24
beekneemechThe problem is lockutils has had issues forever.  Every attempt to fix them breaks something else.17:24
dhellmannpcm_: I don't understand this code at all. It takes the list of parsed config files out of one config parser, re-parses them, then scans them to find the settings it wants?17:25
YorikSarWhile fighting with tests I just stumbled upon the fact that even for POSIX locks we add /tmp/somerandomstring/anotherrandomstring/ prefix although it's not required.17:25
dhellmannpcm_: what I can't figure out is why it's not just looking at cfg.CONF directly17:25
beekneemechIf we can fix this posix locks bug we will be as bug-free as lockutils has ever been.17:25
dhellmannpcm_: maybe it has something to do with the MultiConfigParser acting differently17:25
pcm_dhellmann: Partly, if we wanted to update that config file and then get the new info (by restarting the agent).17:26
beekneemechYorikSar: Also, just a note in general, we don't want to alter API's during graduation.17:26
beekneemechYorikSar: API changes should happen in incubator.  That's what it's there for.17:26
dhellmannpcm_: but the exact same config file would have been parsed to give you the list of config files in cfg.CONF.config_file17:27
YorikSarbeekneemech: Well... Maybe I'll be able to add some functional tests there that would ensure its stability :)17:27
beekneemechYorikSar: Only for the cases you know to test for.  There will be others, trust me. :-)17:27
pcm_dhellmann: right. I mean change the config file contents.17:27
dhellmannYorikSar: if the only issue is that we're making ugly names for locks, then let's just leave it alone17:27
beekneemechdhellmann: Posix locks may be going away anyway.17:28
dhellmannpcm_: when is find_available_csrs_from_config() called?17:28
beekneemechdhellmann: They're completely broken right now if a service gets killed in a way that doesn't allow cleanup.17:28
dhellmannpcm_: it looks like it is only called when the driver is initialized17:28
pcm_in the existing code, when the device driver is loaded at startup.17:28
dhellmannbeekneemech: ok, all the more reason, then17:28
YorikSarbeekneemech: Yeah, that's fair. I guess I can suggest to not see adding lock_path to POSIX/SysV locks' names as a part of API :) (j/k)17:29
dhellmannpcm_: right, so at startup, after parsing the configuration files, the driver is loaded and then it asks the *object that has the parsed configuration data* to reparse the configuration files17:29
YorikSarbeekneemech: The same stands for SysV locks - name generation part is the same.17:29
pcm_dhellmann: So what you're saying is that when we restart the agent, it would reread and we could use the cfg.CONF17:29
beekneemechYorikSar: That's not part of the lock api, it's part of the lockutils API.17:29
dhellmannpcm_: I think so, yes. Unless there is something special about the fact that the MultiConfigParser is being used -- that class doesn't have a docstring, and I don't know what it does that is special17:30
beekneemechYorikSar: (or it shouldn't be anyway)17:30
*** markmcclain has quit IRC17:30
pcm_dhellmann: So...what we're working towards is no config file at all, and obtain the info from Neutron calls, most importantly, in a dynamic basis (the existing is static)17:31
dhellmannpcm_: ok, that's fine17:31
YorikSarbeekneemech: Hm... Not sure I understand last 2 messages. The fact that CONF.lock_path is added to POSIX lock names _is_ part of the lockutils API, right?17:31
pcm_dhellmann: However, that has a dependency on another BP that is currently struggling. So, I'm thinking how to mitigate the risk and what work-arounds I could do.17:32
beekneemechYorikSar: Right, lockutils.  Not the lock.  consumers use lockutils, lockutils uses locks.17:32
dhellmannpcm_: for your tests, you should be able to replace the value of config_file with a new list using the fixture's config() method -- let me know if that doesn't work17:33
pcm_dhellmann: One thought (kick me if it doesn't make sense), would be to try to read the config file dynamically, when a new device is needed.17:33
pcm_dhellmann: To do that, I need to be able to re-read the config file. Which comes around to the question on how to do that in the UTs.17:34
dhellmannpcm_: I don't think you want to treat the configuration file like a database.17:34
YorikSarbeekneemech: Yeah. I wonder if anyone actually relies on having that prefix...17:34
pcm_dhellmann: Yeah I don't, really. Just looking for ways to remove the dependency.17:34
dhellmannpcm_: well, if you design an API that takes a ConfigParser as an argument, then your tests can pass in a new one with the values you need pre-configured17:35
pcm_dhellmann: Thought was could read the file, then, when the other blueprint is upstreamed, pull that code and use the Neutron calls (idea is to use the same call)17:35
dhellmannpcm_: that's better than looking at the global one or reading files17:35
dhellmannpcm_: yeah, using the neutron calls when they are available makes sense, too17:36
beekneemechYorikSar: Oh, that's just because we're using the file lock path as the name for posix locks.17:36
pcm_dhellmann: So I'm thinking make a method with same API as the neutron call, but have it read a config file instead (until the real method is avail)17:37
pcm_s/API/signature/17:37
dhellmannpcm_: sure, that makes sense17:37
beekneemechYorikSar: Basically that's required because InterProcessLock on Windows is still a file lock: https://github.com/openstack/oslo-incubator/blob/master/openstack/common/lockutils.py#L19117:37
pcm_dhellmann: Interested in your comment on the ConfigParser argument. Any examples I could look at to better understand (if you think that could be used here)?17:38
YorikSarbeekneemech: Yes, but... Unless you need to lock on the specific file (like with imagecache), you don't need that prefix, and so that config variable looses its value...17:38
YorikSarbeekneemech: Oh, right, Windows... I wonder if there's a lib that wraps Windows semaphores...17:39
alexpilottiYorikSar: posix_ipc to some extent does17:39
YorikSaralexpilotti: POSIX ones aren't good.17:41
YorikSaralexpilotti: I'd expect their behavior on Windows to be the same as on Linux.17:41
alexpilottiYorikSar: posix_ipc wrapos on teh WIn32 ones17:41
alexpilottiYorikSar: for the rest we usually use ctypes on WIn3217:42
dhellmannpcm_: oslo.messaging has the caller pass the config in, instead of looking at the global: http://git.openstack.org/cgit/openstack/oslo.messaging/tree/oslo/messaging/transport.py#n13717:43
dhellmannYorikSar: I would rather have the lock stuff be a little ugly than broken17:44
YorikSaralexpilotti: I grep for CreateSemaphore and find nothing.17:44
alexpilottiYorikSar: I have unfortunately to run now, but if you could send me an email with your requirements I’d happily work on a patch17:44
pcm_dhellmann: thanks.17:44
alexpilottiYorikSar: a pointer to teh corresponding Linux code would be enough17:45
YorikSardhellmann: Yeah, sure. I'm not proposing to change API anymore :)17:45
alexpilottiYorikSar: we had quite some portability issues in the past due to this in the Hyper-V CI, so if can help in fixing it it’d be great :-)17:45
YorikSaralexpilotti: The main issue with POSIX semaphores that has been uncovered recently - they're not being released if the process is brutally killed (say kill -9).17:46
alexpilottiYorikSar: you mean on WIndows or in general?17:46
dhellmannYorikSar: ok :-)17:46
YorikSaralexpilotti: In general. So if Windows implements POSIX API, it should be the same on Windows.17:47
YorikSaralexpilotti: I don't know if that's the case for CreateSemaphore API. If it's not, we might be able to replace (most of) file locks on Windows with semaphores as well.17:48
pcm_dhellmann: Thanks for the pointers!17:49
dhellmannpcm_: sure thing!17:50
alexpilottiYorikSar: no, WIndows dows not implement POSIX API (athough there an old layer, but that’s a different story)17:52
alexpilottiYorikSar: posix_ipc is wrapping WIn32 APIs in Posix ones, so that they have the same signature and (similar) semantyc17:53
YorikSaralexpilotti: Somehow I can't find references to Win32 API then...17:53
alexpilottiYorikSar: if you could just point me to the Linux equivalent I could probably help on this17:54
alexpilottiYorikSar: I have to run now, sorry!17:55
YorikSaralexpilotti: See you around17:55
YorikSaralexpilotti: It's sem_get and others.17:55
*** alexpilotti has quit IRC17:55
amrithYorikSar, at ur convenience, would you please re-review https://review.openstack.org/#/c/110933/17:57
amrithalso YorikSar, I got to the bottom of the trove issue with communicate17:57
amrithbetween this change, and another that I proposed for trove, I think we have 2/3 of the problem worked out.17:57
amrithYorikSar ^^17:57
YorikSaramrith: Great! I'll take another look at the change today, but later.17:58
amriththanks! have a good weekend YorikSar17:59
YorikSaramrith: You too :)17:59
openstackgerritBen Nemec proposed a change to openstack/oslo.serialization: Migrate to oslo.i18n  https://review.openstack.org/11299018:15
openstackgerritBen Nemec proposed a change to openstack/oslo.serialization: Migrate to oslo.utils  https://review.openstack.org/11299118:15
*** jaosorior has joined #openstack-oslo18:26
openstackgerritMichael Bayer proposed a change to openstack/oslo.db: Use dialect dispatch for engine initiailization.  https://review.openstack.org/11044618:29
*** SridharG has quit IRC18:33
openstackgerritMichael Bayer proposed a change to openstack/oslo.db: Use dialect dispatch for engine initiailization.  https://review.openstack.org/11044618:33
*** stevemar has quit IRC18:43
*** stevemar has joined #openstack-oslo18:44
openstackgerritMichael Bayer proposed a change to openstack/oslo.db: Use testr instance provisioning to lazily create databases  https://review.openstack.org/11048618:51
*** ildikov has joined #openstack-oslo19:28
*** Ish__ has quit IRC19:33
openstackgerritA change was merged to openstack/oslo-incubator: Use oslosphinx to generate documentation  https://review.openstack.org/11191019:38
*** ildikov has quit IRC19:41
*** morganfainberg has quit IRC19:43
*** morganfainberg has joined #openstack-oslo19:43
*** Ish__ has joined #openstack-oslo19:43
*** openstackgerrit has quit IRC20:20
*** markmcclain has joined #openstack-oslo20:25
*** stevemar has quit IRC20:55
*** tsekiyam_ has joined #openstack-oslo21:03
*** gordc has quit IRC21:07
*** tsekiyama has quit IRC21:07
*** tsekiyam_ has quit IRC21:08
YorikSarzzzeek: Ping21:16
zzzeekhi21:16
YorikSarzzzeek: Just watched your talk at PyCon Canada. I finally understand how sessions work and why they issue statements (mostly) only at commit()/flush() time!21:17
zzzeekgreat21:17
YorikSarzzzeek: You're awesome presenter :)21:17
zzzeekthanks!21:17
YorikSarzzzeek: Oh, crap... I wanted to ask smth, but forgot what exactly... Let me scroll through the video...21:18
YorikSarzzzeek: Here it is. Does SQLAlchemy use tricky constructs like UPDATE IF EXISTS or INSERT ON DUPLICATE UPDATE?21:21
zzzeekno21:21
YorikSarI wonder if you can lower amount of locking from the client side using those...21:21
YorikSar(locking on the server side)21:22
zzzeekthose constructs are not available on most databases and have very complex behavioral patterns21:23
YorikSarzzzeek: Right. So for Session to use them, it needs to know too much about backend...21:23
zzzeekit would also generate tons of surprises for users as they would behave differently21:24
YorikSarzzzeek: Yeah... Ok, my dream wizard-like Session vanishes :)21:25
zzzeekYorikSar: if every DB had a somewhat similar MERGE type of command then maybe it woudl be easier to look into but for now it woudl be all MySQL only21:25
zzzeekYorikSar: and very complicated21:25
zzzeekYorikSar: there’s features coming down which will allow more granular INSERT patterns and maybe that would eventually be how these constructs might work at the ORM level21:26
YorikSarzzzeek: Don't Posgres have smth like that?21:26
zzzeekit does not21:26
zzzeekit doesn’t have MERGE or any equivalent21:27
zzzeekhere’s the latest: https://wiki.postgresql.org/wiki/SQL_MERGE21:27
zzzeekhttp://www.depesz.com/2012/06/10/why-is-upsert-so-complicated/21:28
YorikSarzzzeek: Oh, I see another talk I should take a look at - "Why upsert is weird"21:28
YorikSarzzzeek: And another question while I didn't forget. Does Session provide consistency across different DB transactions in one Session transaction?21:29
zzzeekit can work with multiple DB transactions simultaneously, but “consistency” is ambiguous in that context21:30
zzzeekit can provide atomicity with them by using two phase commit21:30
YorikSarzzzeek: Yeah, that what I meant.21:30
zzzeekthat is built in, to the degree that drivers support 2pc21:30
zzzeekwhich, is very spotty :)21:30
YorikSarzzzeek: Consistency can be provided by client only in that case.21:30
zzzeekposgresql and mysql only, really21:31
zzzeekvery limited support on oracle, sql server we haven’t been able to get it to work with most drivers21:31
zzzeekI’d not really use it.  2pc is scary21:31
YorikSarAnd it will work even for 2 different drivers at once?21:31
zzzeeknot with 2pc, no21:31
zzzeekwell21:31
zzzeekok yes it will, sorry21:31
zzzeekthese are not patterns anyone really does in real life though21:32
YorikSarWhy is it scary? Isn't it just... like double commit?21:32
zzzeekthe transaction and its locks live beyond the scope of the connection21:33
zzzeekyour app can die totally and the transaction stays, the locks, your whole DB is deadlocked21:33
YorikSarOh... Yeah...21:33
zzzeekuntil someone goes in, selects all the open 2pc’s from the correct system view, and rolls them back21:33
zzzeekso very bad deadlocks become a possibility when 2pc is used21:33
zzzeekif the application fails badly, that is21:34
YorikSarOk, I guess as any distributed lock (which it basically is) it's really hard to get guarantees...21:35
YorikSar*as _with_ any21:35
YorikSarWell, thanks a lot for enlightenment! I'll go read some more on MERGE and upserts.21:37
*** jecarey has quit IRC21:38
zzzeekgood luck21:38
*** celttechie has quit IRC22:15
*** stevemar has joined #openstack-oslo22:25
*** openstackgerrit has joined #openstack-oslo22:38
openstackgerritA change was merged to openstack/oslo-specs: pylockfile adoption  https://review.openstack.org/10220223:02
openstackgerritDoug Hellmann proposed a change to openstack/oslo-specs: fix the name of the pylockfile spec  https://review.openstack.org/11304323:03
openstackgerritA change was merged to openstack/oslo-specs: fix the name of the pylockfile spec  https://review.openstack.org/11304323:05
*** f13o_ has joined #openstack-oslo23:08
*** jokke_ has quit IRC23:13
*** stevemar has quit IRC23:40
*** jaosorior has quit IRC23:42
*** f13o_ has quit IRC23:44
*** markmcclain has quit IRC23:46

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