*** amitgandhinz has joined #openstack-zaqar | 00:53 | |
*** amitgandhinz has quit IRC | 00:56 | |
*** amitgandhinz has joined #openstack-zaqar | 01:18 | |
*** amitgandhinz has quit IRC | 02:30 | |
*** exploreshaifali has joined #openstack-zaqar | 02:59 | |
*** exploreshaifali has quit IRC | 03:12 | |
*** amitgandhinz has joined #openstack-zaqar | 03:41 | |
*** amitgandhinz has quit IRC | 03:45 | |
*** jeffrey4l has joined #openstack-zaqar | 04:02 | |
*** exploreshaifali has joined #openstack-zaqar | 04:05 | |
*** bradjones has quit IRC | 04:05 | |
*** bradjones has joined #openstack-zaqar | 04:07 | |
*** vkmc has quit IRC | 04:21 | |
*** exploreshaifali has quit IRC | 04:53 | |
*** exploreshaifali has joined #openstack-zaqar | 05:37 | |
*** sgotliv_ has joined #openstack-zaqar | 05:43 | |
*** reed has quit IRC | 05:47 | |
*** prashanthr_ has joined #openstack-zaqar | 05:48 | |
*** flaper87|afk is now known as flaper87 | 06:39 | |
exploreshaifali | flaper87, goooood morning :) | 06:40 |
---|---|---|
flaper87 | exploreshaifali: gooooooood morning | 06:42 |
flaper87 | exploreshaifali: I'm reading your last comments on that document | 06:42 |
exploreshaifali | flaper87, I am not clear how will we split planes without having two modules | 06:43 |
exploreshaifali | as you said only to have management and keeping messages as it is | 06:43 |
flaper87 | exploreshaifali: so, first of all, I think you've a small confusion between modules and packages | 06:44 |
flaper87 | all `.py` files are modules, folders with `.py` files in it are packages | 06:44 |
exploreshaifali | ok | 06:45 |
flaper87 | That said, we do need a management.py module | 06:45 |
flaper87 | not sure if that's the best name but anyway | 06:45 |
flaper87 | I don't think, however, that we need to rename the message.py module at all | 06:45 |
flaper87 | With regards to the config options, we just need to split them in 2 separate variables in options.py and then have them registered in their respective config groups | 06:46 |
flaper87 | see https://git.openstack.org/cgit/openstack/zaqar/tree/zaqar/queues/storage/mongodb/options.py#n93 | 06:46 |
exploreshaifali | okay messages.py "module" is fine | 06:46 |
flaper87 | Does that help | 06:46 |
flaper87 | ? | 06:46 |
exploreshaifali | flaper87, we will be having two packages? | 06:47 |
exploreshaifali | adding two packages inside mongodb? | 06:47 |
wpf | flaper87: would you please help to check https://review.openstack.org/#/c/128815/ again when you are free. thanks | 06:51 |
flaper87 | exploreshaifali: I don't think so, why do you think we need 2 packages? | 06:53 |
flaper87 | wpf: sure thing | 06:53 |
exploreshaifali | flaper87, to split both planes it will be better to keep them separate in diff packages | 06:58 |
exploreshaifali | total modularity | 06:58 |
exploreshaifali | else how will we divide the code for both places separately | 06:59 |
exploreshaifali | flaper87, ^ | 07:20 |
*** AAzza_afk is now known as AAzza | 07:20 | |
exploreshaifali | *planes | 07:21 |
flaper87 | exploreshaifali: wait, again, we are talking about modules here, not packages | 07:34 |
flaper87 | we just need 1 more module for the management code | 07:35 |
flaper87 | we don't need an extra package | 07:35 |
exploreshaifali | flaper87, then how will we divide drivers.py | 07:35 |
exploreshaifali | the same file contain drivers info for control and data planes | 07:36 |
exploreshaifali | I though we need to split it also | 07:36 |
exploreshaifali | do we? | 07:36 |
flaper87 | yes, that's what the new management module in each storage backend is for, right? | 07:37 |
flaper87 | exploreshaifali: ^ | 07:37 |
exploreshaifali | flaper87, if we look at https://github.com/openstack/zaqar/blob/master/zaqar/queues/storage/mongodb/driver.py | 07:39 |
exploreshaifali | there is one _connection function | 07:39 |
exploreshaifali | and two classes | 07:39 |
exploreshaifali | DataDriver and ControlDriver | 07:40 |
exploreshaifali | I thought we will be needed to split drivers.py such that DataDriver class will be in message package | 07:40 |
exploreshaifali | ControlDriver will be in management package and _connection will be in the same package where it is | 07:41 |
flaper87 | exploreshaifali: package != module | 07:41 |
exploreshaifali | yes | 07:41 |
exploreshaifali | I thought for packages | 07:41 |
flaper87 | We don't need another package, we just need another module | 07:42 |
exploreshaifali | inside those package we will be having driver.py | 07:42 |
exploreshaifali | okay | 07:42 |
exploreshaifali | so just needed to create module and put whole management stuff indise it? | 07:42 |
exploreshaifali | and all messages inside the exisiting messages? | 07:43 |
flaper87 | yup | 07:44 |
exploreshaifali | flaper87, so there will be not much change in directory structure | 07:45 |
exploreshaifali | it will be just adding one more module | 07:45 |
exploreshaifali | flaper87, also need to discuss regarding database spliting | 07:46 |
exploreshaifali | *splitting | 07:46 |
*** flwang1 has joined #openstack-zaqar | 07:46 | |
flwang1 | flaper87: ping | 07:47 |
flaper87 | flwang1: pong | 07:51 |
flwang1 | flaper87: are you in a travel? | 07:51 |
flaper87 | exploreshaifali: what's up with the database splitting? | 07:51 |
flaper87 | flwang1: just got back | 07:51 |
flaper87 | flwang1: I mean, my head is definitely somewhere else | 07:51 |
flaper87 | but I'm used to that | 07:51 |
flwang1 | flaper87: let me grab your brain back | 07:52 |
*** jeffrey4l has quit IRC | 07:52 | |
flwang1 | flaper87: I noticed the queue metadata was rever | 07:52 |
flwang1 | revert | 07:52 |
flwang1 | and I saw the commit message said we got some feedback said it's bad idea to remove queue | 07:53 |
flwang1 | flaper87: so i'd like to know what's the direction as for this? | 07:53 |
flaper87 | flwang1: I'm still not 100% convinced but we can keep it for v1.1 and then discuss that better | 07:54 |
flwang1 | I mean based on current feedback of zaqar, obviously we can't avoid being compared with SQS/SNS(and I believe that's the original goal of this project) | 07:54 |
flaper87 | That said, the current direction is: Queue's are lazily created and the metadata is part of the queue | 07:54 |
flaper87 | so, there's no separate endpoint for the metadata | 07:54 |
flwang1 | so should it be kept the queue in the long run to avoid confusion? | 07:55 |
flaper87 | Those are the 2 things I'm not convinced: 1. the existence of a queue, 2. the need of metadata | 07:55 |
flaper87 | I'd like to propose removing the queue entirely (as I've already done) and allow people to create metadata's for specific topic as part of the management API | 07:56 |
flaper87 | That is, you'd create per-topic configs | 07:56 |
flwang1 | but if we want to provide the queuing service, I think queue is a key resource from the user perspective | 07:56 |
flaper87 | instead of queues with metadata | 07:56 |
flaper87 | flwang1: Have you read this? http://blog.flaper87.com/post/people-dont-like-to-queue-up/ | 07:57 |
flaper87 | flwang1: I sumed up my thoughts about 'queue' as a resource there | 07:57 |
flwang1 | flaper87: i think i have read it, but I may need revisit | 07:57 |
flaper87 | At the very end 'queue' is just a way to group messages together with a specific order and properties | 07:58 |
flwang1 | IMHO, queue is a like a container which is persistent, between two components | 07:58 |
flwang1 | so seems the term 'topic' we prefer is trying to do the similar thing like 'queue' in zaqar world, right? | 07:59 |
*** prashanthr_ has quit IRC | 08:00 | |
flaper87 | flwang1: exactly, a queue is just a bucket. My ultimate wish would be to completely get rid of that and use topic as a tag for grouping messages together | 08:00 |
flaper87 | or you can call it queue name, if you wish | 08:00 |
flaper87 | Same properties, the only difference is we won't have a queue as a first citizen resource | 08:01 |
flaper87 | nor the need to have records for it in the storage | 08:01 |
flaper87 | (well, depending on the storage) | 08:01 |
flaper87 | flwang1: btw, as promissed, I published this last week: https://review.openstack.org/#/c/129192/ | 08:01 |
flwang1 | flaper87: cool, I'm investigating SNS recently | 08:02 |
flwang1 | flaper87: btw, I'm going to create a spec about supporting policy for zaqar | 08:02 |
flaper87 | flwang1: great, I don't think that spec is "complete", any feedback is welcome. Also, feel free to take over if you want | 08:03 |
flaper87 | flwang1: oh, please do! | 08:03 |
flaper87 | I'd like to see that happening too | 08:03 |
flaper87 | brb | 08:03 |
flwang1 | flaper87: I don't understand why we miss that since it's a common requirement for a queue service, the worker can only write message, but the consumer can only read the message, make sense? | 08:04 |
*** jeffrey4l has joined #openstack-zaqar | 08:05 | |
flaper87 | flwang1: we didn't miss it, we just didn't (don't?) have enough people in the team to do everything | 08:15 |
flwang1 | flaper87: good reason :) | 08:15 |
flaper87 | flwang1: https://blueprints.launchpad.net/zaqar/+spec/marconi-rbac-support | 08:16 |
flaper87 | That was created september last year | 08:16 |
flwang1 | flaper87: cool, then I think my blueprint is dup | 08:17 |
*** prashanthr_ has joined #openstack-zaqar | 08:23 | |
exploreshaifali | flaper87, just to be clear, we will add DataDriver class from drivers.py into messages.py to have all messags code at one place, right? | 08:24 |
*** AAzza is now known as AAzza_afk | 08:26 | |
exploreshaifali | But if we will do so don't you think we will be again a mess | 08:27 |
exploreshaifali | putting different purpose code inside same file | 08:28 |
*** AAzza_afk is now known as AAzza | 08:28 | |
*** openstackgerrit has quit IRC | 08:34 | |
flaper87 | exploreshaifali: no, DataDriver stays in drivers | 08:34 |
flaper87 | why do you think we need to move it? | 08:34 |
flaper87 | :D | 08:34 |
*** openstackgerrit has joined #openstack-zaqar | 08:34 | |
exploreshaifali | flaper87, and ControlDriver? | 08:35 |
*** jeffrey4l has quit IRC | 08:35 | |
exploreshaifali | it will aslo be there in drivers.py | 08:35 |
exploreshaifali | right | 08:35 |
flaper87 | yes, likely | 08:36 |
*** jeffrey4l has joined #openstack-zaqar | 08:36 | |
jeffrey4l | flaper87, flwang1 pls review the bp/bli patches https://review.openstack.org/#/q/status:open+project:openstack/python-zaqarclient+branch:master+topic:bp/cli,n,z when you are free. It has been there for a long time. | 08:36 |
flaper87 | I mena, base drivers could stay in drivers but we could also split them | 08:36 |
flaper87 | jeffrey4l: sure, will do this week | 08:37 |
jeffrey4l | thx a lot. | 08:37 |
exploreshaifali | flaper87, ok then what will we put in management.py? | 08:38 |
flaper87 | exploreshaifali: the implementations of those base classes that are part of the storage packages | 08:38 |
flaper87 | mongodb/management.py | 08:39 |
flaper87 | redis/management.py | 08:39 |
flaper87 | sqlalchemy/management.py | 08:39 |
flaper87 | etc | 08:39 |
exploreshaifali | flaper87, by implementation you mean creating instances of these base classes to get work? | 08:40 |
exploreshaifali | flaper87, ^ | 08:44 |
flaper87 | exploreshaifali: yes | 08:49 |
exploreshaifali | flaper87, hmmm..... fine now :) | 08:49 |
exploreshaifali | flaper87, and now lets discuss for databases splitting | 08:50 |
exploreshaifali | queues collection inside zaqar_queues is I think should be kept intact | 08:50 |
exploreshaifali | it just contain deatils of queue | 08:50 |
flaper87 | I don't think we need to change anything with regards to the database connection. What we need to do is make sure the right configs are loaded, the rest should just work | 08:52 |
*** bradjones has quit IRC | 08:53 | |
exploreshaifali | flaper87, exactly I was also unable to think any change for databases | 08:53 |
*** bradjones has joined #openstack-zaqar | 08:53 | |
flaper87 | exploreshaifali: ok | 08:53 |
exploreshaifali | flaper87, now about backward compatibility | 08:53 |
*** prashanthr_ has quit IRC | 09:37 | |
*** jeffrey4l has quit IRC | 09:49 | |
*** AAzza is now known as AAzza_afk | 10:00 | |
*** jeffrey4l has joined #openstack-zaqar | 10:08 | |
exploreshaifali | flaper87, have write down the steps in doc, please have a glance and tell me if any modification is needed | 10:13 |
exploreshaifali | timeline need to be changed once you approve the steps to follow | 10:13 |
*** prashanthr_ has joined #openstack-zaqar | 10:33 | |
*** exploreshaifali has quit IRC | 10:34 | |
*** bradjones has quit IRC | 10:45 | |
*** bradjones has joined #openstack-zaqar | 10:46 | |
*** prashanthr_ has quit IRC | 10:49 | |
*** prashanthr_ has joined #openstack-zaqar | 10:49 | |
*** prashanthr_ has quit IRC | 10:55 | |
*** exploreshaifali has joined #openstack-zaqar | 11:02 | |
*** malini|afk is now known as malini_znc | 11:08 | |
*** prashanthr_ has joined #openstack-zaqar | 11:09 | |
*** prashanthr_1 has joined #openstack-zaqar | 11:17 | |
*** prashanthr_ has quit IRC | 11:21 | |
*** prashanthr_1 has left #openstack-zaqar | 11:22 | |
*** malini_znc has left #openstack-zaqar | 11:24 | |
*** malini has joined #openstack-zaqar | 11:24 | |
*** malini_znc has joined #openstack-zaqar | 11:24 | |
*** flwang1 has quit IRC | 11:37 | |
*** flwang1 has joined #openstack-zaqar | 11:37 | |
*** flaper87 has quit IRC | 11:40 | |
*** flaper87 has joined #openstack-zaqar | 11:40 | |
*** AAzza_afk is now known as AAzza | 11:53 | |
*** flwang1 has quit IRC | 12:03 | |
*** flwang1 has joined #openstack-zaqar | 12:08 | |
*** vkmc has joined #openstack-zaqar | 12:35 | |
vkmc | morniiiiiiiiiiiiiiiiiiiiing | 12:42 |
*** exploreshaifali has quit IRC | 12:45 | |
flaper87 | vkmc: gooooooooooooooooooooooooooooooood morning, girl! | 12:51 |
vkmc | flaper87, good morning dud! | 12:52 |
*** jchai has joined #openstack-zaqar | 12:52 | |
*** malini has quit IRC | 12:59 | |
*** malini_znc is now known as malini|afk | 13:00 | |
riveter | flaper87, do you have a minute to talk about opw? | 13:11 |
*** sriram has joined #openstack-zaqar | 13:14 | |
*** mpanetta has joined #openstack-zaqar | 13:15 | |
vkmc | riveter, hey there! are you interested in applying for the next round? | 13:18 |
riveter | yup | 13:19 |
vkmc | riveter, have you already did your initial contribution? | 13:19 |
riveter | it's under review | 13:19 |
vkmc | oh ok | 13:19 |
vkmc | and now you are writting your application? | 13:19 |
riveter | yeah, and I'm a little stumped on the schedule question | 13:20 |
riveter | I haven't talked much with flaper about what needs to be done | 13:20 |
riveter | the task is to separate the data and control planes | 13:20 |
vkmc | thats ok | 13:20 |
riveter | where is this a problem? | 13:20 |
riveter | (I've seen exploreshaifali's conversations about the config options and the storage drivers) | 13:21 |
riveter | but apart from splitting messages.py I'm not clear on what needs to be done | 13:21 |
vkmc | well, there is no summary of the changes needed to be done | 13:23 |
riveter | yup :) | 13:23 |
riveter | if there were I wouldn't be bugging flaper about it :D | 13:23 |
vkmc | that task will require a lot of work and digging into Zaqar's code | 13:23 |
vkmc | haha | 13:23 |
vkmc | sure thing | 13:23 |
riveter | hm, so you figure it's ok to just say tbd on the application form? | 13:23 |
vkmc | well, you can abstract a bit about the task right now | 13:25 |
vkmc | for your internship you will need to learn about Zaqar's architecture | 13:25 |
vkmc | (that's an item, probably you will need one week) | 13:25 |
riveter | heh, good point | 13:25 |
riveter | I have done a tutorial and poked through the codebase some | 13:26 |
vkmc | more related to your task... you will need to dig into the transport, check which controls are done there and if they belong to the plane they should belong | 13:26 |
vkmc | then do the same for the storage | 13:26 |
riveter | yeah | 13:27 |
riveter | I guess I was wondering if there was a list of problem points, but it sounds like determining that is part of the job | 13:27 |
vkmc | yeah, the application doesn't need to be very precise about the changes you have to do | 13:29 |
riveter | ok | 13:29 |
riveter | thanks, that's helpful | 13:29 |
riveter | is flaper generally around? I've been working on openstack since monday and have had very little contact with him | 13:29 |
vkmc | np, probably he will give you more pointers when he is back | 13:30 |
riveter | I'm a little concerned about how a mentorship would work under those circumstances | 13:30 |
vkmc | well, he was on a conference last week | 13:30 |
vkmc | generally he is around :) | 13:30 |
riveter | ah ok, that makes sense | 13:30 |
vkmc | even though, this kind of internships expect you to be able to work by yourself and interact with the community (as we are doing now!) | 13:31 |
riveter | yeah, totally :) | 13:32 |
vkmc | your mentor is important too of course | 13:32 |
vkmc | but is ok if he is not always around | 13:32 |
riveter | speaking of, if anyone's got time to look at my patch that'd be awesome | 13:32 |
vkmc | can you provide a link for it? | 13:32 |
riveter | yeah, hold on a sec | 13:32 |
riveter | https://review.openstack.org/#/c/129109/ | 13:33 |
riveter | it does have a couple suggestions already that I'm going to do this afternoon | 13:33 |
riveter | but they are not complete reviews, so I don't know whether it'll be mergeable after I do them | 13:34 |
vkmc | cool thanks | 13:34 |
vkmc | oh yes, I remember reviewing it last week | 13:35 |
vkmc | I didn't add my comments though | 13:35 |
vkmc | don't worry if it doesn't get merged by tomorrow though | 13:35 |
riveter | isn't that a requirement? | 13:35 |
vkmc | nope | 13:35 |
riveter | I've been kicking myself for leaving it so late | 13:35 |
vkmc | you already did your contribution | 13:35 |
riveter | oh man | 13:36 |
riveter | wow | 13:36 |
vkmc | reviewing generally takes some time | 13:36 |
vkmc | so we consider that | 13:36 |
riveter | that's a load off my mind | 13:36 |
vkmc | haha | 13:36 |
vkmc | yeah I though so! that's why I'm telling you this :) | 13:36 |
vkmc | now focus on your application | 13:36 |
riveter | well, I'd still like to get it in as soon as possible | 13:36 |
vkmc | sure, it makes sense | 13:36 |
riveter | I wanted to do a couple bugfixes before the internship starts | 13:36 |
vkmc | cool! | 13:36 |
vkmc | that would be great | 13:37 |
riveter | ok, thanks so much for your help, I feel much better now | 13:37 |
vkmc | no problem riveter | 13:37 |
vkmc | btw, I'm a former OPW intern | 13:38 |
vkmc | and current Zaqar dev | 13:38 |
riveter | oh no kidding? | 13:38 |
riveter | this summer? | 13:38 |
vkmc | so :) if something comes up about anything of those, don't hesitate on pinging me | 13:38 |
vkmc | heh no, winter 2013 | 13:38 |
vkmc | this summer I participated in GSoC | 13:39 |
riveter | for zaqar again? | 13:39 |
vkmc | first time for Horizon, second time for Zaqar | 13:39 |
riveter | nice | 13:39 |
riveter | openstack has a lot of interesting projects, I wasted some time dithering over which one to do | 13:40 |
vkmc | it does yeah! | 13:40 |
vkmc | haha well, the important thing is that you made up your mind for Zaqar ;p | 13:40 |
vkmc | haha | 13:40 |
riveter | ok, I gotta go | 13:41 |
vkmc | sure, ttfn! | 13:41 |
riveter | yeah see you around :D | 13:41 |
flaper87 | o/ | 13:42 |
*** ametts has joined #openstack-zaqar | 13:42 | |
*** malini has joined #openstack-zaqar | 13:45 | |
*** exploreshaifali has joined #openstack-zaqar | 13:58 | |
*** cpallares has joined #openstack-zaqar | 14:02 | |
*** amitgandhinz has joined #openstack-zaqar | 14:15 | |
*** bradjones has quit IRC | 14:16 | |
*** reed has joined #openstack-zaqar | 14:26 | |
*** bradjones has joined #openstack-zaqar | 14:28 | |
*** bradjones has joined #openstack-zaqar | 14:28 | |
*** bradjones has quit IRC | 14:37 | |
*** kgriffs|afk is now known as kgriffs | 14:42 | |
*** mpanetta has quit IRC | 14:42 | |
*** mpanetta has joined #openstack-zaqar | 14:42 | |
*** reed has quit IRC | 14:43 | |
*** reed has joined #openstack-zaqar | 14:43 | |
vkmc | flaper87, any reason you encapsulate messages in a list here? https://github.com/openstack/python-zaqarclient/blob/master/zaqarclient/queues/v1/queues.py#L108-L109 | 15:06 |
vkmc | if you remember | 15:06 |
flaper87 | LOL, remember, yeah right! | 15:07 |
vkmc | maybe a gummy bear will help you to remember | 15:08 |
flaper87 | vkmc: damn, I do remember | 15:08 |
* vkmc slightly slides a red gummy bear | 15:08 | |
vkmc | it worked | 15:08 |
vkmc | lol | 15:08 |
flaper87 | That's because `messages` is overloaded there. You could either post 1 message or many | 15:08 |
vkmc | ok | 15:08 |
flaper87 | self.post(dict()) | 15:08 |
flaper87 | or self.post([dict]) | 15:08 |
vkmc | a change in the API broke that | 15:09 |
flaper87 | so, if it's not a list, we assume there's just 1 message | 15:09 |
flaper87 | o.O | 15:09 |
flaper87 | what change? | 15:09 |
vkmc | FYI :p | 15:09 |
vkmc | hahaha | 15:09 |
flaper87 | damn, I need to fix this goddamn client gate | 15:09 |
vkmc | this one https://review.openstack.org/#/c/108795/ | 15:10 |
vkmc | now you have to add the 'messages' in the json object | 15:10 |
flaper87 | I knew it was kgriffs fault, I knew it | 15:10 |
flaper87 | :P | 15:10 |
vkmc | always kgriffs! | 15:10 |
vkmc | haha | 15:10 |
vkmc | ok, I'm fixing that | 15:10 |
flaper87 | wait, that's just for the response | 15:10 |
kgriffs | lol | 15:10 |
flaper87 | ? | 15:10 |
vkmc | what do you mean with that? | 15:11 |
vkmc | that is for the post request | 15:11 |
* kgriffs returns to reviewing Rose's patch | 15:11 | |
flaper87 | vkmc: nvm, I should've read the commit message | 15:12 |
flaper87 | :P | 15:12 |
vkmc | haha ok | 15:12 |
vkmc | ok so now we will have | 15:12 |
flaper87 | vkmc: make sure you keep compatibility with v1.0, please | 15:12 |
vkmc | {'messages': {1..*}} | 15:12 |
vkmc | flaper87, cannot guarantee that, I want my Rally benchmark to work only | 15:13 |
flaper87 | vkmc: yup | 15:13 |
vkmc | kidding | 15:13 |
flaper87 | vkmc: >o | 15:13 |
vkmc | is that some kind of face? | 15:13 |
flaper87 | TBH, I've no idea | 15:13 |
flaper87 | :P | 15:13 |
flaper87 | a duck ? | 15:13 |
flaper87 | a duck looking to the left | 15:14 |
flaper87 | >O | 15:14 |
vkmc | yup, I can see that now | 15:14 |
vkmc | duck! | 15:14 |
vkmc | hahaha | 15:14 |
flaper87 | but I just made it up | 15:14 |
flaper87 | :D | 15:14 |
vkmc | good good, Zaqar is a creative place | 15:14 |
vkmc | we write code and draw ascii ducks | 15:15 |
flaper87 | damn, I think I'll be a bit late to our meeting today. I'm pretty sure you all hate me | 15:20 |
vkmc | I'll be too now that you mention | 15:20 |
vkmc | but I was waiting for someone else to say that so the hate is not targeted :p | 15:21 |
flaper87 | vkmc: A-HA! I knew it! | 15:24 |
flaper87 | you just want me to take blames | 15:24 |
flaper87 | >.> | 15:24 |
vkmc | >O | 15:24 |
flaper87 | worst case scenario, we'll do it tomorrow. We just need like 15/20 mins to agree on the topics | 15:24 |
flaper87 | stop ducking | 15:24 |
flaper87 | or I'll throw you a penguin | 15:25 |
vkmc | :o | 15:25 |
vkmc | I want a penguin | 15:25 |
vkmc | IIRC you are the only one affected by the timezone | 15:26 |
flaper87 | you don't want the one I'll throw on you if you keep ducking | 15:26 |
vkmc | haha | 15:26 |
*** exploreshaifali has quit IRC | 15:32 | |
*** AAzza is now known as AAzza_afk | 15:43 | |
*** jchai is now known as jchai_afk | 15:59 | |
*** AAzza_afk is now known as AAzza | 16:01 | |
*** jchai_afk is now known as jchai | 16:02 | |
*** flwang1 has quit IRC | 16:15 | |
*** exploreshaifali has joined #openstack-zaqar | 16:20 | |
*** sgotliv_ has quit IRC | 16:46 | |
*** AAzza is now known as AAzza_afk | 16:51 | |
*** AAzza_afk is now known as AAzza | 16:52 | |
*** sgotliv_ has joined #openstack-zaqar | 17:00 | |
*** ametts has quit IRC | 17:01 | |
*** sgotliv_ has quit IRC | 17:13 | |
openstackgerrit | Victoria MartÃnez de la Cruz proposed a change to openstack/python-zaqarclient: Adds encapsulation control to the client https://review.openstack.org/129988 | 17:31 |
*** cpallares has quit IRC | 17:31 | |
vkmc | flaper87, ^^ | 17:32 |
vkmc | pleeeeeeeeease | 17:33 |
*** exploreshaifali has quit IRC | 17:41 | |
riveter | kgriffs, should error really be documented in the class docstring? It's not meant to be used externally | 17:45 |
riveter | (and thanks for the review :D ) | 17:46 |
*** AAzza is now known as AAzza_afk | 17:51 | |
*** cpallares has joined #openstack-zaqar | 18:01 | |
*** AAzza_afk is now known as AAzza | 18:02 | |
*** sgotliv_ has joined #openstack-zaqar | 18:16 | |
*** exploreshaifali has joined #openstack-zaqar | 18:18 | |
kgriffs | riveter: oh, good point | 18:35 |
kgriffs | (about the docstring) | 18:35 |
kgriffs | hmmm | 18:35 |
kgriffs | so, couple things | 18:36 |
kgriffs | we could just put it in a regular comment | 18:36 |
kgriffs | on the other hand, what does "external" mean? | 18:36 |
riveter | its only use is to save me from typing the whole lambda expression 3 times in the dict immediately below it | 18:36 |
kgriffs | the audience for RoutingController is actually zaqar contributors/devs so in a way it makes sense to document that in the docstring | 18:37 |
riveter | oh, that does kinda make sense | 18:37 |
riveter | are _private methods usually included in the docstring? | 18:37 |
kgriffs | the class docstring usually doesn't mention methods - docstrings for those are attached directly to each method. By default, when generating docs via sphinx, methods starting with an underscore are not included in the RST | 18:39 |
riveter | hm | 18:39 |
riveter | well, my inclination would be to just use a comment | 18:40 |
riveter | but I can do a docstring if you think it's better | 18:40 |
kgriffs | generally speaking, the class docstring is used to document variables and the __init__ | 18:40 |
riveter | ok, fair enough | 18:40 |
riveter | it is kind of weird code :) | 18:40 |
riveter | ah, the other thing was lambdas for returning lists | 18:41 |
kgriffs | I think it would be good to put the class variables in the docstring; that way you don't have to keep typing lots of #'s. And otherwise, I don't think it will cause harm. | 18:41 |
riveter | ok, will do | 18:42 |
riveter | do you have time to talk about the lambdas or should I respond on the review page? | 18:42 |
kgriffs | we can chat now | 18:43 |
riveter | ok | 18:43 |
riveter | so initially I had it as you suggested | 18:43 |
riveter | but I ran into errors with the iter() | 18:43 |
kgriffs | what kind of errors | 18:43 |
riveter | and eventually realized that {"foo": iter()} creates a single iterator which is given to the first client who calls the method | 18:43 |
kgriffs | ? | 18:43 |
riveter | so subsequent calls were throwing an exception | 18:44 |
kgriffs | ooooooooh | 18:44 |
riveter | you see what I mean? | 18:44 |
* kgriffs facepalm | 18:44 | |
riveter | yeah | 18:44 |
riveter | the lists didn't actually trigger any test errors but I figured they could have the same problem | 18:44 |
riveter | if the client calls append or something | 18:44 |
kgriffs | yeah, that's a good point | 18:45 |
riveter | instead of the lambdas I could copy the value in the dict & return that each time | 18:45 |
riveter | it would make the code a little prettier but I'd be calling copy on all the return values, including the ones like None that don't need it | 18:45 |
riveter | wasn't sure if that would be acceptable or not | 18:45 |
riveter | I was already checking if the return value was callable so I just used moar lambdas | 18:47 |
riveter | because most of life's problems can be solved with moar lambdas :D | 18:47 |
kgriffs | calling the lambda is actually a little faster than copy.copy | 18:48 |
riveter | yeah, I know | 18:48 |
riveter | just ugly | 18:48 |
kgriffs | you know? | 18:48 |
riveter | I figured maybe speed was the priority here | 18:48 |
* kgriffs thinks riveter is pretty awesome | 18:48 | |
riveter | *I figured | 18:48 |
riveter | would not have bet my life savings on it | 18:48 |
kgriffs | heh | 18:48 |
riveter | you can keep thinking I'm awesome though, that's fine | 18:49 |
* kgriffs does that | 18:49 | |
riveter | :D | 18:49 |
kgriffs | ok | 18:49 |
kgriffs | let me check something | 18:49 |
kgriffs | brb | 18:49 |
riveter | sure | 18:49 |
*** mpanetta has quit IRC | 18:49 | |
kgriffs | oh, interesting | 18:50 |
kgriffs | lambdas have gotten faster in recent versions of 2.7.x | 18:51 |
kgriffs | hmmm | 18:51 |
kgriffs | OK, lambdas it is! | 18:52 |
riveter | moar lambdas! | 18:52 |
kgriffs | however | 18:52 |
kgriffs | MOAR!!!! | 18:52 |
riveter | hehe | 18:52 |
riveter | what's the however? | 18:52 |
kgriffs | oh, I was just going to suggest that you add a little note next to one of the times you use that pattern, explaining why it is necessary | 18:53 |
kgriffs | (for posterity) | 18:53 |
riveter | yeah fair enough | 18:53 |
riveter | I did put a little note up in __attr__ but I will add notes in each of the subclasses, because the code is wtf enough to deserve a note | 18:54 |
kgriffs | :D | 18:54 |
riveter | I'll also maybe just wrap everything in a few more layers of lambdas | 18:54 |
riveter | they're fast, so that should improve performance significantly | 18:54 |
kgriffs | yeah, someone else might be curious about it later and would appreciate the note | 18:55 |
kgriffs | riveter: yeah, I think the more times you wrap, the faster it gets. | 18:55 |
kgriffs | pretty sure. | 18:55 |
riveter | ok, I should have v2 up by tonight | 18:55 |
riveter | possibly with a lambda that takes a lambda and wraps it in an infinite list of lambdas | 18:56 |
kgriffs | cool, sounds good. thanks for working on this! your solution is pretty impressive. | 18:56 |
* kgriffs continues thinking riveter is teh awesome | 18:56 | |
kgriffs | riveter: lambda-ception | 18:56 |
riveter | :D thanks, I think it's pretty hacky, but I *do* like having my awesomeness acknowledged | 18:57 |
* kgriffs finds it interesting that one movie was able to better explain to the world what recursion is than could legions of CS professors over the years | 18:57 | |
* riveter is looking forward to nolan's take on monads | 18:58 | |
kgriffs | riveter: well, sometimes you have to do something a little hacky. I'm not sure there is a better way to do it in this case. | 18:58 |
riveter | I feel like maybe there's a way to just use inheritance | 18:59 |
riveter | but that would involve rearrangements that are above my current paygrade | 19:00 |
riveter | I'm just going to put some comments on this one and call it a day for now :) | 19:00 |
riveter | er, this evening, not right now | 19:00 |
riveter | I gotta go, thanks for your help! | 19:01 |
*** exploreshaifali has quit IRC | 19:04 | |
kgriffs | ttyl! | 19:06 |
*** kgriffs is now known as kgriffs|afk | 19:18 | |
*** malini has quit IRC | 19:46 | |
*** boris-42 has quit IRC | 19:59 | |
*** sriram has quit IRC | 20:07 | |
*** flwang1 has joined #openstack-zaqar | 20:11 | |
*** kgriffs|afk is now known as kgriffs | 20:15 | |
*** mpanetta has joined #openstack-zaqar | 20:23 | |
*** mpanetta has quit IRC | 20:23 | |
*** mpanetta has joined #openstack-zaqar | 20:24 | |
*** sriram has joined #openstack-zaqar | 20:30 | |
*** boris-42 has joined #openstack-zaqar | 20:32 | |
kgriffs | meeting? | 21:00 |
flwang | meeting? | 21:01 |
flwang | #openstack-meeting-3, right? | 21:01 |
flwang | flaper87: ? | 21:02 |
*** sgotliv_ has quit IRC | 21:04 | |
kgriffs | it would seem our fearless leader is indisposed at the moment. :( | 21:05 |
flwang | kgriffs: LOL | 21:06 |
flwang | kgriffs: let's wait him 5 mins | 21:06 |
*** sriram has quit IRC | 21:13 | |
*** mpanetta has quit IRC | 21:18 | |
*** sgotliv_ has joined #openstack-zaqar | 21:21 | |
ekarlso | flaper87: is hiding :D | 21:49 |
*** jchai has quit IRC | 21:53 | |
*** AAzza is now known as AAzza_afk | 21:56 | |
*** sgotliv_ has quit IRC | 22:25 | |
*** kgriffs is now known as kgriffs|afk | 22:27 | |
*** amitgandhinz has quit IRC | 22:31 | |
*** X019 has quit IRC | 22:36 | |
*** X019 has joined #openstack-zaqar | 22:48 | |
*** kgriffs|afk is now known as kgriffs | 23:14 | |
*** kgriffs is now known as kgriffs|afk | 23:24 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!