Tuesday, 2013-09-10

*** oz_akan_ has quit IRC00:00
openstackgerritZhihao Yuan proposed a change to stackforge/marconi: feat(mongo): use UNIX timestamp instead of datetime  https://review.openstack.org/4576000:08
*** oz_akan_ has joined #openstack-marconi00:12
*** oz_akan_ has quit IRC00:16
*** nosnos has joined #openstack-marconi00:40
*** oz_akan_ has joined #openstack-marconi01:15
*** malini_afk is now known as malini02:02
*** malini is now known as malini_afk02:16
*** malini_afk is now known as malini02:17
*** oz_akan_ has quit IRC02:54
*** malini is now known as malini_afk02:54
*** oz_akan_ has joined #openstack-marconi02:54
*** oz_akan_ has quit IRC02:59
*** ayoung has quit IRC03:57
*** oz_akan_ has joined #openstack-marconi04:05
*** oz_akan_ has quit IRC04:10
*** nosnos has quit IRC05:35
*** nosnos has joined #openstack-marconi05:36
*** notmyname has quit IRC06:05
*** notmyname has joined #openstack-marconi06:08
*** russellb has quit IRC06:12
*** russellb has joined #openstack-marconi06:21
*** flaper87|afk is now known as flaper8707:14
*** ykaplan has joined #openstack-marconi07:23
*** nosnos has quit IRC07:52
flaper87knock knock08:11
*** russell_h has quit IRC09:11
*** torgomatic has quit IRC09:11
*** gleicon__ has quit IRC09:11
*** key4 has quit IRC09:11
*** whenry has quit IRC09:11
*** briancline has quit IRC09:11
*** ykaplan has quit IRC09:14
*** whenry has joined #openstack-marconi09:17
*** briancline has joined #openstack-marconi09:17
*** russell_h has joined #openstack-marconi09:20
*** torgomatic has joined #openstack-marconi09:20
*** gleicon__ has joined #openstack-marconi09:20
*** key4 has joined #openstack-marconi09:20
*** ykaplan has joined #openstack-marconi09:27
openstackgerritFlavio Percoco proposed a change to stackforge/marconi: Move functional tests into wsgi/v1  https://review.openstack.org/4542309:48
openstackgerritFlavio Percoco proposed a change to stackforge/marconi: Implement small http client for tests  https://review.openstack.org/4526709:48
openstackgerritFlavio Percoco proposed a change to stackforge/marconi: Implement embedded marconi-server execution  https://review.openstack.org/4474909:48
openstackgerritFlavio Percoco proposed a change to stackforge/marconi: Run functional tests under tox  https://review.openstack.org/4472309:48
*** oz_akan_ has joined #openstack-marconi11:17
* flaper87 shakes #openstack-marconi and wakes up Atlanta guys11:19
flaper87http://openstackreactions.enovance.com/2013/09/when-your-project-enters-incubation/11:36
*** tedross has joined #openstack-marconi11:40
EmilienMflaper87: excellent one ^11:46
flaper87:D11:47
flaper87I recently passed through that11:48
*** oz_akan_ has quit IRC11:53
flaper87toc toc toc13:09
al-maisanhello!? anybody home?13:09
al-maisan:)13:09
flaper87ding dong13:10
*** zyuan_ has joined #openstack-marconi13:13
*** amitgandhi has joined #openstack-marconi13:13
amitgandhimorning13:15
flaper87goooood morning13:17
*** malini_afk is now known as malini13:19
amitgandhiflaper87:  do you recall why we decided to use "X-Project-ID" instead of tenantid semantics?  iirc it was the new openstack way but all i can find is stuff about dropping it from the URL, and nothing about projectid vs tenantid other than projectid was the old term and they are interchangeable13:20
amitgandhieg: http://docs.openstack.org/trunk/openstack-compute/admin/content/users-and-projects.html13:21
flaper87amitgandhi: yeah, it's because keystone is now using project and it will be removed from the url13:25
flaper87tenantid is the old name13:26
flaper87Keystone now knows about projects13:26
*** ayoung has joined #openstack-marconi13:30
amitgandhiis that in v3 of keystone13:32
amitgandhiugh why is that github private?13:32
flaper87amitgandhi: GH private?13:32
flaper87amitgandhi: I think is v2 and 313:33
flaper87ayoung: ping13:33
amitgandhifound it: https://github.com/openstack/identity-api/blob/master/openstack-identity-api/v3/src/markdown/identity-api-v3.md13:34
flaper87amitgandhi: ah, then it's version 313:35
flaper87:D13:35
amitgandhiyeh v2 is still tenant based13:36
openstackgerritFlavio Percoco proposed a change to stackforge/marconi: Use format instead of % for string formatting  https://review.openstack.org/4587713:37
flaper87I remember we decided to support Project right away13:37
flaper87and to not have it in the URL as other projects13:37
flaper87plus, IIRC, other projects will move away from there13:37
flaper87malini: good morning13:38
flaper87:)13:38
flaper87malini: how are you doing?13:38
amitgandhiflaper87: yeh i found lots of docs about dropping it from the url.  Was just confused about why it was now referred to as project instead of tenant and was being asked about it.  i think that v3 spec documents it for me.  thanks13:39
flaper87amitgandhi: no worries13:40
flaper87:)13:40
flaper87malini: as promissed https://review.openstack.org/#/c/45877/13:41
flaper87will cppcabrera be around today?13:41
ayoungflaper87, yeah whats up?13:42
flaper87malini: I also addressed your comment in the other patch: http://s.f87.me/154ODdT13:42
flaper87ayoung: good morning, amitgandhi and I had a keystone doubt but I guess it's clear now13:43
maliniflaper87: thanks!! will lookat it now13:43
flaper87ayoung: we were wondering wether project was a v2 thing or v313:43
malinicppcabrera is in, shud be online soon13:43
ayoungthe term was origianlly projects back in Nova.  Someone got ambitious and decided to try for multitenancy without really implementing it, and renamed them to tenants in Keystone.  We made the decision to switch back to using projects instead of misleading our users.  Painful transition.13:44
*** oz_akan_ has joined #openstack-marconi13:44
ayoungI think all of the APIs in V2 take tenant and V3 take project.  I'd like to say that you can replace tenant with project everywhere, but that I am not so certain of13:45
flaper87ayoung: lol at "try multitenancy w/o implementing it"13:45
maliniflaper87: do we need to update the hacking.rst for https://review.openstack.org/#/c/45877/ ?13:45
flaper87ayoung: we're using project everywhere13:45
ayoungflaper87, yeah, multitenancy is hard, and requires a degree of information hiding that we didn't realy get until we had domains13:45
flaper87malini: not until we replace all % in Marconi, I guess13:46
amitgandhiayoung: cool thanks.  Thats what i needed to know =)13:46
flaper87malini: ah no, well, it makes sense13:46
flaper87I'l update it13:46
*** cppcabrera has joined #openstack-marconi13:46
flaper87cppcabrera: THERE YOU AREEEEEEEEEEEEEEEEEE13:46
flaper87cppcabrera: GOOOD MORNING!13:46
*** oz_akan_ has quit IRC13:47
*** oz_akan_ has joined #openstack-marconi13:48
flaper87malini: done13:49
malinithanks flaper87!!13:50
openstackgerritFlavio Percoco proposed a change to stackforge/marconi: Use format instead of % for string formatting  https://review.openstack.org/4587713:50
flaper87I mean, done ^13:50
flaper87:)13:50
* flaper87 loves openstackgerrit13:50
flaper87cppcabrera: http://s.f87.me/154ODdT :)13:51
cppcabreraMorning, guys! :D13:53
cppcabreraThere's a lot of reviews to get to. That'll ve one of the first things I'll tackle today. :)13:54
cppcabrera*be13:54
cppcabreramorning, flaper87!13:55
cppcabreraThankfully, I was able to make it through my email backlog yesterday (~200) :P13:55
flaper87cppcabrera: ahh, good news then :D13:56
* flaper87 sits and waits for openstackgerrit to announce merged patches13:56
cppcabreraWhat prompted the move from %-style formating to '.format()', out of curiosity? I've been on the fence about this one for some time.13:59
cppcabrera(flaper87 ^^)13:59
flaper87cppcabrera: actually, you! :D14:00
flaper87I refactored some tests and malini pointed out that you mentioned about using format instead of %14:00
flaper87or something like that14:01
maliniuh oh..I thought cppcabrera LOVED .format14:01
cppcabreraHaha, I do, malini. :P14:01
flaper87it makes sense after all since it's the new syntax and forward compatible.14:01
flaper87so, why not starting now?14:02
flaper87:D14:02
malinicppcabrera: thanks for falling over the fence!14:02
cppcabrera+1 flaper8714:02
cppcabreramalini, lol14:02
flaper87that's the first patch, there will be others changing Marconi's code base14:02
cppcabrera% syntax is a bit faster than .format, but that shouldn't be a big deal since we're not .format-ting in the critical path.14:02
flaper87cppcabrera: yeah14:03
cppcabrera% syntax also doesn'tt seem like it's going anywhere, so I'm not sure compatibility is a reason to prefer one over the other.14:03
cppcabrera.format can be much more readable, and it has certain maintainability benefits (reorder args, etc.)14:03
cppcabreraI'm still happy about it, I was just curious if there was another reason beyond my thoughts, hehe. :)14:04
flaper87cppcabrera: mmh, isn't it going anywhere ? mmh, I thought that was the plan14:05
flaper87well, I'm sure it's recomended to use .format instead of %14:05
cppcabreraI thought so, too, that .format was meant to replace %.14:06
cppcabreraI wasn't able to find any references to indicate that, though.14:06
cppcabreraAll I've found is PEP 3101 that introduces .format14:07
cppcabrera"intended as a replacement for the existing '%' string formatting operator..." - PEP 310114:07
flaper87cppcabrera: lol, it's right there in the abstract14:09
flaper87:D14:09
cppcabreraHehe, .format is the way of the future indeed.14:09
cppcabreraSeeing the tox patch for the tests, that reminds me that...14:11
cppcabreraRequests 2.0 is being actively developed: http://todd328.wordpress.com/2013/09/09/the-changelog-requests-2-0-coming-soon-with-proxy-support-and-bug-fixes/14:11
flaper87cppcabrera: +114:13
cppcabreraflaper87 - thanks for all your work on refactoring the test suite!14:14
cppcabreraBeing able to tox my way through functional tests makes me very happy.14:14
flaper87cppcabrera: :D14:14
cppcabreraOooh, +1 for http client.14:15
zyuan".format can be more maintainable than %-style, though it is slightly slower. "14:17
zyuanall replacements in python are slower than the old ones14:17
cppcabreraHey, hey, zyuan. :)14:19
flaper87cppcabrera: you know we just cheated here, don't you? https://review.openstack.org/#/c/37140/14:22
flaper87:D14:22
flaper87but hey, sssh, don't say anything to key414:23
flaper87kgriffs_afk:14:23
flaper87cppcabrera: btw, that one is blocked by this one https://review.openstack.org/#/c/45439/14:23
cppcabreraHaha, we did cheat on that one. :P14:24
flaper87cppcabrera: we need to talk a bit about the client14:27
flaper87next steps, the API etc14:27
cppcabreraAhh, alright.14:28
cppcabreraYeah!14:28
cppcabreraSo we can get that moving.14:28
* cppcabrera is having a good time reviewing all the pending patches14:29
* flaper87 won't bother cppcabrera until he finishes reviewing14:29
cppcabreraI think I'll take another 15 minutes. How much longer will you be around today, flaper87? :)14:29
flaper87I still got time, at least 2 more hours before dinner14:30
cppcabreracool, cool. I don't want to miss out on client discussions since I can always review a little later.14:30
cppcabreraOooohh, the author of six merged a patch to add py2/3-compatible metaclass handling: http://pythonhosted.org/six/#six.add_metaclass14:31
cppcabreraThat came to mind while looking at the marconi-testing hosted server patch.14:32
cppcabrera@add_metaclass(abc.ABCMeta)14:32
maliniflaper87: does oslo config create the environment variable MARCONI_TESTS_CONFIGS_DIR ?14:33
maliniI am trying to run the new tests & seeing some weird stuff14:33
maliniI have two MARCONI_TESTS_CONFIGS_DIR14:34
flaper87malini: that variable is created in tests/__init__.py14:34
flaper87malini: how are you running tests?14:34
malininosetests -s -v14:34
flaper87why not using tox?14:35
flaper87well, it won't change anythiong14:35
flaper87anything :P14:35
flaper87tox uses nosetest14:35
flaper87:D14:35
flaper87what patch are you using?14:35
malini'"Use oslo.config for functional tests"'14:36
malinicommit 5a12dbf5fcd94343c63ba3afb50b94b1c4a4eaf014:36
maliniThe tests point to 'MARCONI_TESTS_CONFIGS_DIR': '/Users/malini.kamalambal/marconi/tests/etc'14:37
maliniWhich is not the 'MARCONI_TESTS_CONFIGS_DIR', I created14:37
maliniThis is how my env variable look like,when running the test14:38
malinihttp://paste.openstack.org/show/46472/14:38
*** ykaplan has quit IRC14:38
*** ykaplan has joined #openstack-marconi14:39
flaper87cppcabrera: replied :)14:41
maliniflaper87: got it now :)14:42
flaper87malini: what was it?14:42
flaper87(sorry, I was looking at it now)14:43
maliniwe shud just set the env variable , if we dont find it, rt?14:43
malinihttps://github.com/stackforge/marconi/blob/master/tests/__init__.py14:43
flaper87malini: we do set it14:43
malinimatbe this 'os.environ.setdefault("MARCONI_TESTS_DIR", tests_dir)' needs to go inside the if loop ?14:43
flaper87malini: this sets the variable https://github.com/stackforge/marconi/blob/master/tests/__init__.py#L2214:43
maliniproblem with tht is it always looks inside the tests/etc directory & never uses my specified path14:44
flaper87malini: mmh, how are you setting your path ?14:44
maliniI want to keep my default config in ~/.marconi or wherever, & not have it overwritten with each git checkout14:44
flaper87MARCONI_TESTS_CONFIGS_DIR=/path/to/test nosetest -s -v14:44
flaper87or export MARCONI_TESTS_CONFIGS_DIR=~/.marconi && nosetests -s -v14:45
maliniyes, but I end up getting two MARCONI_TESTS_CONFIGS_DIR as in http://paste.openstack.org/raw/46472/14:45
malinisince it is being set in tests/__init__.py as well14:45
flaper87MARCONI_TESTS_CONFIG_DIR < CONFIGS not CONFIG14:45
flaper87MARCONI_TESTS_CONFIGS_DIR <- this is the right one14:46
flaper87https://github.com/stackforge/marconi/blob/master/tests/__init__.py#L2114:46
malinigrrrr..my bad14:46
malinimaybe I shud stop trying to get stuff working, after the lights are out14:47
maliniI tried it y'day night & was pulling my hair out14:47
flaper87malini: hehehe14:47
cppcabreraflaper87: +2'd (http patch)14:47
flaper87cppcabrera: cooooool14:49
cppcabreraWith that, I've reviewed all test patches.14:50
cppcabreraWant to talk client-side, flaper87? :)14:50
flaper87cppcabrera: suuure14:51
flaper87so, I know you had some thoughts about it14:52
flaper87whether to use verbs, etc14:52
cppcabreraYup14:52
flaper87I started working on the auth part (keystone with support for other auths)14:52
cppcabrera+114:52
cppcabreraThat auth part is the main blocker to getting a reliable connection class going.14:53
flaper87it's not complete yet but it will be soon (I've got to write tests, yet again :P)14:53
flaper87cppcabrera: want to take a look at the work so far?14:53
cppcabreraTests - haha. marconi-proxy will get those todat. :P14:53
flaper87I can submit it as WIP14:53
cppcabrera*today14:53
cppcabreraYeah, that'd be cool.14:53
* flaper87 does that14:53
cppcabreraI'll review what you have and see if I catch anything that stands out.14:53
cppcabreraNow, re: verbs14:54
cppcabreraIt goes against the openstack client designs I've seen up to this point.14:54
cppcabreraErr, hmm...14:54
cppcabreraWait, verbs is the Openstack way - nouns are the way that's more intuitive to me. >.>14:55
cppcabreraconnection.queues(...) (nouns) vs. connection.list(...)14:55
flaper87cppcabrera: added you here: https://review.openstack.org/#/c/45887/14:55
cppcabreraqueue.messages() vs. queue.list()14:55
cppcabrerawoot14:55
flaper87it's a Draft, I didn't want to trigger jenkins for this patch14:55
cppcabreraqueue.claim() vs queue.post_claim() (verb(14:55
cppcabrera))14:55
cppcabreranp - draft is cool. :)14:56
cppcabrerawoot - six.add_metaclass made it's way in there. _114:56
cppcabrera+114:56
flaper87I prefer nouns, TBH. First question is: Would that make it difficult to support API changes?14:57
flaper87cppcabrera: :)14:57
flaper87I want to keep the client Py3K compliant14:57
flaper87so, no breaking patches will get in14:57
flaper87re API changes: Changes from v1 to v2 or v1 to v1.114:58
cppcabreraNouns should be okay, as long as the meaning of the nouns and the interactions between them don't change (too much).14:59
cppcabreraFor example, v2.0 has routing/exchanges planned, IIRC14:59
cppcabreraThat would allow posting a message to multiple queues.14:59
maliniBut verbs are more explicit14:59
flaper87another question: What would queues creation, for example, look like?15:00
flaper87connection.queues() (lists them, I presume)15:00
cppcabreraconnection.create_queue -> queue15:01
maliniconnection.list_queues() makes more sense to me than connection.queues()15:01
* flaper87 prefers .queues15:01
flaper87:P15:01
maliniI went thru https://github.com/boto/boto/blob/develop/docs/BotoCheatSheet.pdf & loved the simplcity15:01
flaper87malini: that's a good reference15:02
*** ykaplan has quit IRC15:02
malinieverything was obvious as to what it does15:02
flaper87thanks for bringing it up15:02
oz_akan_I like boto as well15:02
*** pycabrera has joined #openstack-marconi15:02
pycabreradisconnected. :(15:02
maliniwhen we were initially brainstorming the client, thts what I used as a reference to define our methods15:02
* pycabrera goes to find eavesdrop15:03
malinithat = boto15:03
pycabreraThere, I'm caught up. :)15:03
flaper87yeah, it looks simple, well, TBH, .queues() and .queue() are simple as well15:04
flaper87get_all_queues is way too verbose15:04
flaper87IMHO15:04
flaper87and queue.write() <- erm, no :P15:04
malinisimple as in obvious on what it does15:04
flaper87malini: yup, that's what I mean15:04
malinisorry for the wrong use of words15:04
pycabreraagreed - I love short method names as long as it's obvious what they do, or that the intuition can be quickly gained.15:04
maliniget_all_queues is verbose. −1 for that15:04
malinibut get_queues ?15:05
zyuaniirc, pycabrera want to make an generator interface for listing queues?15:05
malinior list_queues() ?15:05
zyuanif so, i think15:05
zyuanfor q in proj.queues():15:05
pycabreraI'm fond of .queues()15:05
zyuan  blah blah15:05
zyuanlooks good to me15:06
*** cppcabrera has quit IRC15:06
zyuanor conn15:06
pycabrerazyuan: Yeah, I think a generator interface would be the most convenient. One could just filter through queues transparently while the client handled pagination.15:06
maliniif we go with .queues() to list, how wud we have a delete queue ?15:06
pycabreraqueue.delete()15:07
*** pycabrera is now known as cppcabrera15:07
* cppcabrera got his name back15:07
flaper87connection.queue().delete()15:07
zyuandelete(q)15:07
zyuanok, ignore me15:07
flaper87:P15:07
cppcabrerahaha, so many options. :P15:07
maliniWe want to keep it consistent across all APIs15:07
malinimake it intuitive15:07
flaper87that's also kinda how pymongo's con->db->col thing works15:08
flaper87malini: yeah, that was my first question15:08
cppcabrerawhenry mentioned he'd be happy to answer some client-dev questions for us several meeting-weeks ago. :D15:08
flaper87whenry: yo yo, time for you to chime in15:08
cppcabreraI think we could use a little more perspective on the client API question, especially if we're going to branch from the current convention.15:09
whenrycppcabrera, flaper87 wassup? am I on the wrong call?15:09
cppcabreraIIRC, you said you might be able to help us with marconi-client API design questions. :)15:10
cppcabrerawhenry ^15:10
cppcabreraooh, found it: "whenry  cppcabrera, pls feel free to reachout to tedross or me re client apis"15:11
cppcabreraSo... whenever you have some time, that'd be awesome. :D15:12
whenrycppcabrera, ok so I don't know if you mean I need to chime in here, or on a call that is currently happening or on some future call15:13
flaper87looking at how other clients are organized: https://github.com/openstack/python-ceilometerclient/tree/master/ceilometerclient15:13
malinifor queues we cud have  q.create(), q.list() , q.delete(), q.stats() etc. ?15:13
malinifor a consistent user experience15:13
flaper87whenry: here15:13
*** ykaplan has joined #openstack-marconi15:13
zyuanq.list()?15:13
cppcabrerayeah, all IRC, sorry about not being clear. :P15:13
zyuanwe don't have list on single queue15:13
cppcabreraYeah, that's not clear, zyuan. :/15:14
zyuanwe don't have create on single queue either15:14
cppcabreraIt maps to q.messages()15:14
flaper87malini: that'd be kind of moving controller's API to the client15:14
zyuanthen call it messages...15:14
cppcabreraPlus, that doc is a bit dated... :(15:14
cppcabreraI need to update that to match the current API.15:14
malinicppcabrera: which doc ?15:14
cppcabreraThe API c lient doc: https://wiki.openstack.org/wiki/Marconi/PythonClient15:15
cppcabrera*client15:15
cppcabreramalini ^15:15
zyuanagain, i hoe we can have marconiclient.Connection15:16
zyuanhope*15:16
flaper87zyuan: me too, that's my preference15:16
zyuanwait. Client or Connection15:16
zyuan?15:16
oz_akan_malini: I get this Illegal division by zero at /usr/lib/tsung/bin/tsung_stats.pl line 48015:17
flaper87Connection15:17
oz_akan_when I run tsung_stats.pl15:17
oz_akan_do you have an idea how we can fix it?15:17
flaper87which would also make more sense on other transports as well, IMHO15:18
cppcabrera+1 for connection15:18
malinioz_akan_ : which xml ?15:18
oz_akan_tsung-simple1.xml15:18
malinilet me stop by15:18
oz_akan_ok15:18
flaper87another question15:19
flaper87or at least, something we should keep in mind15:19
whenrysorry guys. /me catches up15:20
flaper87Ideally, libraries implementation will try to be similar (Java, Python, C, whatever), so, we should keep that in mind as well15:20
flaper87I'm not saying those libraries will be identical15:21
flaper87but, it'd be good if some consistency could be maintained throughout them15:21
* whenry is on a AMQP call and is trying to catch up15:21
cppcabrera+1 flaper87 - at least as consistent as the zmq bindings across languages are. They work very similarly - create a context, set up some sockets, pump data through the nets.15:22
cppcabrerano worries, whenry. :)15:22
cppcabreraSo the key goal of the client should be to facilitate operations on queues, messages, and claims after establishing a connection to a marconi endpoint.15:23
flaper87in my head, connection is the starting point of every operation15:23
flaper87you start from a connection, get a queue, post a message15:24
flaper87start connection, get a queue, claim some messages15:24
flaper87and so on15:24
flaper87Kombu uses a similar approach15:24
cppcabreraIt's the same on my end.15:24
flaper87connection, publisher, etc15:24
whenrycppcabrera, so to be clear. we are talking about queues first (not notifications/topics)15:25
zyuando we offer claim as an iterface15:26
zyuanor just offer pub-sub15:26
zyuanpattern15:26
zyuan(i'd like pub-sub pattern)15:27
cppcabrera+1 whenry15:27
zyuanok... queue first15:28
cppcabrerathe client establishes a connection to marconi, grabs a queue, and can then perform operations on that queue.15:28
cppcabreratopics/exchanges are still a ways off.15:28
amitgandhiwho's doing notifications/topics currently?15:29
amitgandhi(i mean is there a team working on notifications?)15:29
flaper87amitgandhi: no one, yet. al-maisan is putting some effort on that15:30
flaper87amitgandhi: but we'll discuss that next week again15:30
amitgandhiis there a wiki15:30
amitgandhioh i missed yesterdays meeting15:30
amitgandhishould eavesdrop it15:30
flaper87amitgandhi: nope, it's actually a separate project for now https://github.com/rackerlabs/foghorn/15:31
flaper87amitgandhi: we didn't talk about that yday15:31
whenryok so I'm going to weigh in15:32
whenrywhy do we need an explicit connection?15:32
whenryas oppsoed to a implicit one15:32
cppcabreraa connection can be used to handle authentication.15:32
cppcabreraif authentication is needed15:33
whenryi.e. in a SQS don't I basically go to some browerser service to get a address namespace for my queue?15:33
whenryand then when using it can't I just create a sender or receiver to that and all the security etc. happen under the covers?15:33
cppcabrerahmm...15:34
whenryie.e. when I create my sender and receiver I provide security credentials that connect and authenitcate underneath15:34
whenryso that it truely is simple15:35
Alex_Gaynorflaper87: ah, thanks, I hadn't realized15:35
cppcabreraI'm not very familiar with AWS's SQS, TBH. It seems that they have the connection token as a part of the URL params.15:35
amitgandhiflaper87: oh yeah i know about foghorn. i thought you were talking about something else15:35
cppcabrera"&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE"15:35
whenrytedross, ^^^15:35
cppcabreraAs far as senders and receivers, both of those sound like types of connections.15:35
cppcabreraThat's the simplicity of it, though. A connection should be easy to establish and it's a set-it-and-forget-it deal.15:36
whenrycppcabrera, does a programmer q.create (I.e. setup a new SQS q dynamically? or is that something that is done as part of a web console to "register and provision" it etc.15:38
flaper87Alex_Gaynor: np :)15:38
whenryi.e. the web console app calls q.create15:38
*** kgriffs_afk is now known as kgriffs15:38
whenrynot the q user15:38
flaper87how would a implicit connection approach look like for other transports?15:39
flaper87say, zmq15:40
flaper87?15:40
cppcabreraAhh, I think I understand the question... queues are not provisioned - they are dynamically created/deleted.15:40
flaper87in my head, Connection just holds the info to communicate w/ the server15:40
flaper87but it doesn't actually establishes it15:40
whenrycppcabrera, ah, ok that's different than what I was assuming this was. i.e. I assumed that there was some sort of service provided by the "cloud" to provision queues for you so that it could bill etc.15:41
whenrycppcabrera, but your saying they could dynamically provision queues in their apps.15:41
tedrosswhenry: cppcabrera: how are queues named?  Is there a user-specific namespace?15:42
cppcabrerayes, whenry. For example, I would create a queue 'tasks' on the fly by communicating with a marconi endpoint (PUT /v1/queues/tasks')15:42
tedrosswhat if I and someone else create a queue called "work"  will they be different queues or the same?15:42
cppcabreraThat PUT request would bringthe queue 'tasks' into existence.15:42
flaper87tedross: queue names are unique per project15:43
kgriffscppcabrera: Yesterday I had an idea about catalog caching/replication that I wanted to run by you15:43
cppcabrerakgriffs: o/15:43
kgriffshi!15:43
whenrycppcabrera, so all this is HTTP based? or is the RESTful HTTP semantics just for provisioning ?15:44
whenrycppcabrera, in above example would /v1/queues/tasks be under a namespace for my application or my user account?15:44
flaper87cppcabrera: w.r.t using six.metaclass, I think it would be better to replace it all around Marconi in a separate patch, does that make sense ?15:44
cppcabreraIt's an HTTP-based API that communicates with a storage backend. Marconi doesn't provision - it's queues + messages as a service.15:44
flaper87kgriffs: https://review.openstack.org/#/q/status:open+project:stackforge/marconi+branch:master+topic:refactor-system-tests,n,z15:45
flaper87kgriffs: pls15:45
cppcabrera+1 flaper8715:45
whenrycppcabrera, how would my tasks be different to your tasks? how would we bill?15:45
kgriffswhenry: Queues are scoped according to project (AKA tenant). That is passed in X-Project-ID15:45
kgriffs(header)15:45
cppcabrerawhenry: In that example, it would be in a namespace under your user account. That namespace is determined by X-Project-Id (tenant ID)15:45
whenrycppcabrera, is it assume that each user gets their own "storage backend"  or is that a shared cloud resource?15:46
flaper87whenry: yes15:47
cppcabreraIt's a shared resource. :)15:47
whenrycppcabrera, in the case that this is a messaging "broker" for example would each get their own broker?15:47
whenryok shared15:47
flaper87whenry: not exactly broker, they can have their own project15:47
whenryhmm. ok so for something like AMQP then they'd have an address like amqp://<X-Project-ID>/vi/queues/tasks15:48
flaper87cppcabrera: btw, can you change your -1 :D15:50
flaper87kgriffs: if you get a chance, pls review test patches15:50
whenrycppcabrera, I want to get back to a another question that may not seem relevant but it is.15:50
cppcabreraOh, yes, flaper87. :P15:50
kgriffsflaper87: yep, will do15:50
kgriffscppcabrera: got a minute to discuss that idea?15:50
cppcabrerawhenry: I can't speak to the AMQP side of things. I have little experience there.15:50
whenrycppcabrera, do we care how this is billed?15:50
whenrycppcabrera, ack. I was just recording that here.15:51
whenry;-)15:51
cppcabrera:)15:51
cppcabrerakgriffs: Yeah, I have a moment. :)15:51
kgriffswhenry: Marconi doesn't care, but operators will, obviously15:51
cppcabrerare: cachinhg/replication.15:51
flaper87re billing, that's a long topic, I think that will happen through ceilometer but again, that's definitely a bigger topic15:51
flaper87kgriffs: we were discussing whether to sue nouns or verbs in the client. We ( cppcabrera, zyuan and me) were leaning towards using nouns, as in: connection.queues(); connection.queue().post()15:53
flaper87etc15:53
* whenry needs to take a look at AWS SQS to see what they do. I would assume that their might be two types of billing in our case: i.e. one where you have kinda static queues that you payfor that you get provisioned. and one type of charge for a project/app that wants to do lots of dynamica q creation15:53
kgriffswhenry: they bill per-message, also bandwidth iirc15:53
zyuan*also bandwidth*15:54
zyuanhehehehehe15:54
kgriffsflaper87: i like it.15:54
kgriffs(re nouns)15:54
zyuannouns -> non-stateful15:54
kgriffsnouns == resources I guess15:54
kgriffscppcabrera: sooo15:54
flaper87kgriffs: yeah15:54
kgriffshere is the gedank15:54
cppcabreraflaper87: done (-1 -> +2)15:55
whenrykgriffs, but I can create qs on the fly, millions of them if I want and they don't care?15:55
flaper87cppcabrera: thanks15:55
cppcabrerakgriffs: ready15:55
kgriffswhenry: they cap you on max queues iirc15:55
kgriffsyou have to talk to support if you want the cap raised15:55
zyuankgriffs: we don't have that yet. but we need.15:55
kgriffsi know that is the case for SNS topics, pretty sure SQS is similar15:55
flaper87cppcabrera: kgriffs zyuan malini can we say we agree on using an API as that example?15:55
whenrykgriffs, ack good to know. I'm trying to fill in my knowledge gap here as I think about this15:55
zyuanwhich example?15:55
flaper87zyuan: connection.queues().........15:56
flaper87I mean, nouns, or however we want to call them15:56
zyuanthis +1. details?15:56
kgriffsalso, SQS will nuke idle queues after some time period (can't remember exactly what it is off the top of my head)15:56
kgriffsmarconi queues are super light-weight, so we care a lot less about # of queues people create15:56
flaper87dunno, it'll be along those lines.15:56
cppcabrera+1 for nouns on my end15:57
kgriffscppcabrera: so, the idea is to use mongodb all the way down15:57
kgriffsyou have a primary15:57
flaper87kgriffs: whenry re usage, I think we'll have to emit "internal" notifications for every operation15:57
kgriffsand then a secondary that is colocated on each proxy host15:57
flaper87and let the billing system take care of the rest15:57
kgriffsthen you don't have to worry about an extra caching layer15:57
kgriffsand it's super fast15:57
cppcabreraI see - so we let mongo's clustering support take care of replication/caching for us?15:58
kgriffsyeah15:58
kgriffsalso ensure super high redundancy/durability15:58
flaper87what happens if mongodb is not being used?15:58
flaper87would that block users from using -proxy ?15:59
kgriffsflaper87: you can do same thing with MySQL15:59
kgriffsmaster and many slaves, right?15:59
flaper87kgriffs: wait, I think i missed the argument15:59
whenrycppcabrera, kgriffs is this all assuming a DB as the messaging service???15:59
flaper87you were talking about not using redis for the catalog, right?15:59
flaper87I mean, cache15:59
kgriffsflaper87: correct15:59
kgriffsjust use the secondaries as read-only15:59
flaper87-1 from me15:59
kgriffsand stick them on the same host as the proxy15:59
flaper87I wouldn't rely on the storage being used16:00
flaper87if we consider using some broker as storage in the future16:00
kgriffscan you elaborate?16:00
flaper87we'll make it impossible to use the -proxy16:00
flaper87unless other backends are installed16:00
kgriffsI think it is fine to require more than one storage system16:00
kgriffsit would be separate from the messages backend anyway, right?16:00
flaper87i think it is fine to support having more than one storage16:00
flaper87(as in, running at the same time)16:01
kgriffsi mean, you don't want to share the same cluster - since the catalog goes across partitions16:01
flaper87but I'm not sure about requiring them16:01
zyuan(proxy itself is already a storage system)16:01
kgriffsi mean, you could do this with redis for all I care16:01
flaper87cache seems something common through all storages16:01
kgriffsthe point is, just have one primary and replicate to secondaries (AKA master and slaves) that are colocated on the proxy nodes16:01
* whenry thinks this is a different view of messaging than I was understanding16:01
kgriffswhenry: we are talking about marconi-proxy which shards queues across multiple marconi clusters16:02
kgriffsimho, marconi-proxy stack should be independent from marconi-server as much as possible16:03
zyuan^ +116:03
kgriffscatalogues are super read-heavy16:03
flaper87kgriffs: agreed but it doesn't have the same requirements16:03
flaper87mmh16:03
kgriffsin that case, it makes sense to coopt the slaves16:03
cppcabreraI like the idea of taking advantage of slave/master replication for handling proxy implementation. (+1 for marconi-proxy being decoupled)16:03
cppcabreraRegardless of the storage engine used.16:03
flaper87but what if they are using mongo shards instead of repls ?16:04
kgriffsdoes the catalog need to be sharded?16:04
whenrykgriffs, right but this seems very synchronous (i.e. HTTP based)16:04
cppcabreraI don't think so, given that it is mostly read ops.16:04
flaper87kgriffs: if it is supper heavy, why not? I mean, we shouldn't be telling people how to deploy their stuff16:04
flaper87(meaning mongo, mysql)16:04
flaper87IMGO16:04
flaper87IMHO16:04
flaper87we should just use them and apply different strategies based on the way they were deployed16:05
kgriffsflaper87: do you think people want non-redis options for marconi-proxy?16:05
*** whenry is now known as whenry_afk16:05
zyuanif there is a better redis16:05
zyuanwe can just replace the impl16:05
flaper87zyuan: LOL16:05
cppcabrerawhenry_afk: yeah, Marconi v1.0 is synchronous. You post meesages via HTTP (over WSGI)16:06
kgriffsseems like we can just ship with redis and support stevedore drivers if people want something different16:06
kgriffs(they can develop it themselves)16:06
flaper87kgriffs: they may want something different16:06
cppcabrera+1 for stevedore16:06
zyuanthey have option to do not use proxy16:06
cppcabreraI avoided getting to caught up on the stevedore side of things while working on the proxy, but it makes sense to leave it up to people to decide how they want to deploy.16:06
cppcabrera*too16:07
zyuancppcabrera: LOL stevedore16:07
flaper87TBH, I'd try keeping the proxy decoupled but very simple for now16:08
zyuanwe all hope so16:09
flaper87zyuan: we all have to :)16:09
*** pycabrera has joined #openstack-marconi16:09
pycabreradc'd~16:09
flaper87anyway, that's my $0.0216:09
* pycabrera looks up eavesdrop16:10
pycabrerain a meeting, I'll be back in a bit.16:11
zyuankgriffs: https://bugs.launchpad.net/marconi/+bug/122293316:12
*** pycabrera is now known as cppcabrera_afk16:12
*** cppcabrera has quit IRC16:12
zyuanwe don't have it?16:12
zyuanoh, that's falcon...16:12
zyuanwe have some...16:13
flaper87where did everybody go?16:15
zyuan??16:15
flaper87zyuan: marconi-proxy discussion stopped suddenly16:16
flaper87:D16:16
zyuanflaper87: https://review.openstack.org/#/c/45760/16:16
cppcabrera_afkflaper87: Meeting. :(16:16
cppcabrera_afkon a side note, flaper87 - I'll update the client API page before the end of the day to bring back the nouns.16:17
cppcabrera_afkmarconi-proxy testing comes first, though. :)16:17
flaper87cppcabrera_afk: kk :)16:20
flaper87thanks16:20
flaper87zyuan: looking16:20
*** amitgandhi1 has joined #openstack-marconi16:23
*** amitgandhi has quit IRC16:25
*** cppcabrera has joined #openstack-marconi16:28
*** cppcabrera_afk has quit IRC16:28
*** cppcabrera is now known as cppcabrera_afk16:29
flaper87brb, dinner16:37
*** amitgandhi has joined #openstack-marconi16:39
*** amitgandhi1 has quit IRC16:39
*** ykaplan has quit IRC16:40
*** kgriffs is now known as kgriffs_afk17:05
*** cppcabrera_afk is now known as cppcabrera17:13
*** kgriffs_afk is now known as kgriffs17:14
kgriffsmalini: I'd like to see +1's from you on all the test refactoring patches before approving them17:32
kgriffsmalini, oz_akan_: has this been benchmarked? https://review.openstack.org/#/c/44340/17:32
openstackgerritA change was merged to stackforge/marconi: Run functional tests under tox  https://review.openstack.org/4472317:33
oz_akan_kgriffs: I haven't17:45
*** pycabrera has joined #openstack-marconi17:50
*** cppcabrera has quit IRC17:52
kgriffsoz_akan_: OK, can you or malini do that and +1 for final approval?17:53
kgriffsI want to make sure it is good before it's merged17:53
oz_akan_ok17:54
zyuanpycabrera: are your two nicknames mutual exclusive?17:54
pycabrerazyuan: errm, yes. I only acquire pycabrera when I notice that I've disconnected from the network thanks to flaky VPN. :/17:55
*** pycabrera is now known as cppcabrera17:55
kgriffspycabrera: u need ZNC. It has a "keep trying for my preferred nick" plugin17:57
*** cppcabrera has quit IRC18:05
*** cppcabrera has joined #openstack-marconi18:06
*** cppcabrera has quit IRC18:10
*** cppcabrera has joined #openstack-marconi18:16
* flaper87 is back18:28
flaper87kgriffs: ping18:29
flaper87kgriffs: very quick https://review.openstack.org/#/c/45439/18:30
flaper87malini: ping18:30
flaper87knock knock18:47
*** whenry_afk is now known as whenry18:58
flaper87knock knock19:01
zyuanthe office is too cold T_T19:06
openstackgerritAlejandro Cabrera proposed a change to stackforge/marconi: feat: marconi proxy  https://review.openstack.org/4390919:06
cppcabreraThe office makes me sleepy.19:09
cppcabreraEspecially with all of the meetings today.19:09
zyuani already sleeped during the meeting...19:09
cppcabreraflaper87: kgriffs is attending even more meetings than I today. :P19:09
cppcabrerazyuan: Me, too. :P19:09
zyuancppcabrera: how much code will be cut-off if proxy uses falcon's19:10
zyuan"new" apis?19:10
cppcabreraLessee...19:11
cppcabreraI believe this entire file will be eliminated: https://review.openstack.org/#/c/44364/1/marconi/proxy/resources/forward.py19:12
maliniflaper87: pong..19:12
kgriffsspeaking of which, can you guys reviewed these? https://github.com/racker/falcon/pulls19:12
maliniSorry..was in a meeting again19:12
kgriffsOnce those are merged I can cut a 0.1.7 release19:12
cppcabreraAs well as all the routes of the form '/v1/queues/{queue}/.*'19:12
cppcabreranow reviewing, kgriffs19:12
kgriffsthanks!19:12
kgriffscppcabrera: re catalog storage19:13
kgriffsso, here is my proposal19:13
* cppcabrera listens while reviewing19:13
kgriffsassuming you have an interface defined for the catalog (interface-oriented design FTW!), you can let the catalog backend driver decide how to cache or whatever19:14
kgriffs2.19:14
kgriffsthe official driver can be redis where we read from slaves. we can recommend putting one slave on each proxy host (colocated), but it isn't required19:15
kgriffsthat way we don't have people complaining about AGPL19:15
cppcabreraI need to define an interface for the storage driver. All I have atm is a schema. :P19:15
kgriffsand if people want to write something else, let them and we will link to them from our wiki19:15
cppcabrera+1 for linking19:16
malinikgriffs: all the refactor test patches have my +1 now19:17
kgriffsif another driver becomes popular, we can vote to pull it in to the project propper19:17
kgriffsmalini: cool, thanks!19:17
cppcabreramalini: awesome!19:17
cppcabreraOoohh, I like the voting idea. I hadn't made any considerations as to how to bring in drivers to core after the TC meeting a few weeks ago.19:18
oz_akan_kgriffs: waiting for the result of the test then I will do +119:18
cppcabreraAnyway, that's a good TODO before the end of the day - I can sketch out an interface that the proxy caching driver must obey.19:19
cppcabrerare: Redis, I was reading about it's support for slaves. It seems it'll be fully baked by 2.8, but it's already production ready with redis --sentinel in 2.619:20
cppcabreraI'm +1 for offloading slave/master replication to the storage technology instead of reimplementing that ourselves.19:20
cppcabreraAnd since I haven't gotten to distributed caching with the proxy just yet, it doesn't change any of the current implementation at this step.19:21
oz_akan_I am reading this19:21
oz_akan_kgriffs: what is the proposal about redis?19:22
oz_akan_how do you plan to use replication?19:22
oz_akan_cppcabrera: which slave/master replication is that you want to offload?19:22
oz_akan_kgriffs: found your proposal above, reading it19:23
kgriffsoz_akan_: ok, FYI I need to rebase that19:27
kgriffs(the large patch test)19:27
oz_akan_kgriffs: again?19:27
kgriffss/patch/queue19:27
kgriffsoz_akan_: yeah, people keep doing work. :p19:27
oz_akan_test result is about to come in a few minutes19:27
oz_akan_:)19:27
kgriffsbut it will be same - just test refactoring19:27
kgriffs(so you don't have to retest)19:27
oz_akan_good news :)19:27
oz_akan_meanwhile test seems to run fast19:28
kgriffscppcabrera: the only other thing you might consider is in-process LRU cache19:28
kgriffsbut having localhost redis and using a domain socket will be really fast still19:29
cppcabreraFor now, I feel very YAGNI towards in-process cache.19:32
cppcabreraGiven localhost caching + domain socket Redis communication. :)19:32
flaper87back, sorry guys, got disconnected19:35
flaper87kgriffs: can I get +2 here? https://review.openstack.org/#/q/status:open+project:stackforge/marconi+branch:master+topic:refactor-system-tests,n,z19:35
flaper87pls :D19:35
flaper87I got +1 from malini and +2 from cppcabrera19:36
maliniI can add new tests after this is merged…woohooo...19:37
flaper87malini: +100000^19:37
cppcabreraI just want to see openstack-gerrit merge 6-8 patches in less than 15 minutes. :P19:46
cppcabrera(also +1e9 for refactored tests - that's cool, too)19:46
*** malini is now known as malini_afk19:49
flaper87w0000t19:51
flaper87Marconi will be migrated under openstack/ this weekend19:51
flaper87yoooooohhhhhhhhhhoooooooooooooooooooooooooooooooooooooo19:51
flaper87cppcabrera: did you see this one? http://openstackreactions.enovance.com/2013/09/when-your-project-enters-incubation/19:52
cppcabrerahahaha, flaper87. :P19:53
cppcabreraThat looks about right.19:53
cppcabreraKermit knows how to get incubated. :D19:54
flaper87kgriffs: ping :)19:57
amitgandhiw0000t!19:58
kgriffsflaper87: https://review.openstack.org/#/c/44749/11/marconi/tests/functional/base.py20:00
kgriffsshould self.server be cls.server?20:00
kgriffs(in setUp()20:00
cppcabrerakgriffs: oz_akan and I talked about the replication proposal and we found a few disadvantages to it. It we used slave/master style replication to implement -proxy, the local caches cease being caches. That'll lead to a lot of duplicated state. The other half of the problem with this approach is that there's no longer a notion of a "cache miss" for slaves - just stale data.20:06
kgriffscppcabrera: re the latter concern20:09
kgriffsflaper87: pong20:13
* flaper87 back20:14
* flaper87 just got a new server20:14
flaper87:D20:14
flaper87kgriffs: nup20:15
flaper87kgriffs: cls is when setting things up in setUpClass20:15
oz_akan_kgriffs: are we close for index patch to be merged?20:15
flaper87kgriffs: did you read that Marconi will be migrated under openstack/ this saturday ?20:16
kgriffsbut how do you share the server instance across runs?20:16
kgriffsflaper87: can't wait!20:16
kgriffsi mean, why does tearDownClass refer to cls.server ?20:17
flaper87kgriffs: because server is defined at class level20:17
flaper87line 3220:17
kgriffsoh crap20:17
kgriffssorry20:17
flaper87:D20:17
flaper87no worries20:17
kgriffsstupid python syntax20:17
flaper87you've been into many meetings today20:17
flaper87(I've been told)20:17
kgriffsself.foo is ambiguous - access class AND instance vars20:18
kgriffsyes, many meetings20:18
kgriffsgot a talk on Marconi in 45 minutes at the Rackspace Austin office20:18
kgriffsso, on the run all day20:18
flaper87:020:18
flaper87well talk about Marconi sounds good20:18
flaper87:D20:18
flaper87better than a meeting20:18
flaper87:P20:18
kgriffsyeah20:18
kgriffs:D20:18
flaper87anyway, can I get your bless on those patches?20:18
flaper87I promise not to bother you anymore20:19
cppcabreralol20:19
flaper87.... for today20:19
flaper87:D20:19
kgriffsoz_akan: will merge that patch very soon20:19
kgriffsflaper87: let me rebase that indexing patch on top of all the test refactors, then you are good to approve20:19
kgriffs(oz_akan tested perf and was good)20:19
flaper87kgriffs: awesome, +!20:20
flaper87+120:20
kgriffsflaper87: hooray for format() !20:21
flaper87kgriffs: :D20:21
flaper87that's the first one, next one will touch marconi/*20:21
kgriffshmm, was the format thing announced on the dev list?20:23
flaper87kgriffs: nope20:23
flaper87we can mention it20:23
flaper87but I don't think it is a big deal20:24
kgriffsso are any other projects doing it?20:24
kgriffsi think it's fine, just curious20:24
flaper87TBH, I didn't check20:24
kgriffsok20:25
flaper87so, it's being used in nova20:25
flaper87in some places20:25
flaper87well, actually, grep keeps going20:25
flaper87I'd say it's fine20:25
flaper87AFAICT, new code is using .format20:26
flaper87old code hasn't ben touched20:26
kgriffsgtk20:26
flaper87but that's my assumption based on what I just saw20:26
flaper87I mean, grep is not that smart20:26
flaper87neither am I20:26
flaper87:D20:26
flaper87kgriffs: 1 more to go :D20:26
* flaper87 is refreshing that page20:26
flaper87:D20:27
cppcabreraI brought up .format awhile ago as part of the test refactoring effort. :)20:27
flaper87yeah, cppcabrera it's your fault20:27
flaper87:D20:27
cppcabreraI couldn't find any official justification for moving to .format from %-style either in OS docs or in the python community, other than pep3101.20:27
kgriffsflaper87: would you like to add links to your blog post(s) to the bottom of the wiki under "Articles"? https://wiki.openstack.org/wiki/Marconi20:28
flaper87kgriffs: sure :D20:28
cppcabrera+1 kgriffs - let's keep adding to our awesome resources list.20:28
flaper87I'll do that20:28
cppcabrerawoot!20:28
flaper87cppcabrera: did you read tests one ?20:28
cppcabreraI glanced over it yesterday. :)20:29
flaper87kk, wanted to get your thoughts about it20:29
cppcabrera"Third-party modules can take advantage of Marconi's test suite. People writing their own modules will be able to import the test suite for the module they're working on" ->20:30
cppcabreraThat's awesome.20:30
cppcabreraThat's been one of the coolest testing strategies I've learned about while working on marconi.20:30
kgriffscrappies20:31
kgriffsjenkins barfed on those patches20:31
flaper87:(20:31
flaper87pkg_resources.VersionConflict: (six 1.4.1 (/home/jenkins/workspace/gate-marconi-pep8/.tox/pep8/lib/python2.7/site-packages), Requirement.parse('six<1.4.0'))20:31
flaper87seriously ?20:32
flaper87damn it!20:32
flaper87they updated that on my back20:32
cppcabrerablahhh20:32
flaper87let me propose a quick patch for that20:32
cppcabrerasix 1.4.1 is too new. :P20:32
flaper87wait, something else is pulling six 1.4.1 in20:33
flaper87could it be falcon?20:33
kgriffscould be. it doesn't specify a six version20:34
kgriffsiirc20:34
flaper87mmh, it that case it shouldn't be an issue20:34
flaper87https://github.com/racker/falcon/blob/master/setup.py#L920:34
flaper87it doesn't specify it20:34
* flaper87 is now confused20:35
cppcabrerasome project is probably bringing in six.20:37
cppcabreraSo my best guess is that this six update is causing some havoc across openstack right now. :P20:37
cppcabrerayup, it's being brought up in -infra right now.20:38
flaper87yeah, just read that :P20:38
flaper87"Is the error of the moment and it's being worked"20:39
kgriffsok folks, bbl - gotta talk to do20:51
cppcabreragood luck!20:53
kgriffsthanks!20:56
*** kgriffs is now known as kgriffs_afk20:56
openstackgerritOz Akan proposed a change to stackforge/marconi: Adds support for multiple databases per mongodb replica set.  https://review.openstack.org/4595220:57
oz_akan_https://review.openstack.org/4595220:58
oz_akan_oh, openstackgerrit is faster than I am20:59
oz_akan_flaper87: zyuan flaper87 kgriffs_afk ^^20:59
oz_akan_as this is my first, I assume I violated several best practices so waiting to get comments20:59
*** torgomatic has quit IRC21:00
cppcabreralol21:01
cppcabreraopenstackgerrit is the fastest.21:02
zyuannews - FreeBSD-CURRENT now only build clang and libc++ by default.21:02
*** russell_h has quit IRC21:02
cppcabrera+121:03
oz_akan_what do I do when jenkins give me -1 ?21:03
*** torgomatic has joined #openstack-marconi21:03
zyuanread error log and re-submit21:03
oz_akan_hmm, if I find the error log :)21:04
zyuanactually i already saw some mis-aligned code21:04
oz_akan_found it21:04
zyuanit's kinda stupid... hope clang-format someday can work for python21:05
zyuani mean, to let human reformat the code...21:05
*** ykaplan has joined #openstack-marconi21:06
*** russell_h has joined #openstack-marconi21:07
cppcabrerapython already has autopep8, zyuan. :)21:11
cppcabreraBut +1 for leaving formatting to humans.21:11
cppcabreraErr...21:11
cppcabrera+1 against leaving formatting to humans. That's a job for computers.21:11
zyuanafter listened to Chandler's talk, some people who developping development tools on iOS want to use clang-format in their editor...21:12
*** malini_afk is now known as malini21:16
oz_akan_cppcabrera: when I reply to a messages in review, that draft things, is draft for the reply?21:21
cppcabreraoz_akan_: Yes. The "drafts" will only be published after you click the "Review" button and then hit "Publish". :)21:24
oz_akan_yay! I did it21:25
oz_akan_thanks cppcabrera21:26
*** kgriffs_afk is now known as kgriffs21:26
oz_akan_zyuan: thanks for the comments, I will review them21:26
oz_akan_ups, seems like i didn't really submit the latest version.. anyway, I will do it with lru thing and zyuan comments21:30
*** oz_akan_ has quit IRC21:31
*** malini is now known as malini_afk21:32
*** flaper87 is now known as flaper87|afk21:37
zyuanwhat's wrong with gerrit... version conflict21:37
*** tedross has quit IRC21:38
*** kgriffs is now known as kgriffs_afk21:40
*** flaper87|afk is now known as flaper8721:47
*** flaper87 is now known as flaper87|afk21:48
cppcabreraHeading home for the night. Take care, guys. :)21:52
*** cppcabrera has quit IRC21:52
*** ayoung has quit IRC22:03
*** kgriffs_afk is now known as kgriffs22:06
openstackgerritA change was merged to stackforge/marconi: Implement embedded marconi-server execution  https://review.openstack.org/4474922:14
*** ykaplan has quit IRC22:14
openstackgerritA change was merged to stackforge/marconi: Implement small http client for tests  https://review.openstack.org/4526722:14
openstackgerritA change was merged to stackforge/marconi: Move functional tests into wsgi/v1  https://review.openstack.org/4542322:15
openstackgerritA change was merged to stackforge/marconi: Use format instead of % for string formatting  https://review.openstack.org/4587722:17
*** amitgandhi has quit IRC22:23
*** oz_akan_ has joined #openstack-marconi22:42
*** oz_akan_ has quit IRC22:47
openstackgerritKurt Griffiths proposed a change to stackforge/marconi: perf: Partition messages collection by project  https://review.openstack.org/4596622:47
openstackgerritKurt Griffiths proposed a change to stackforge/marconi: fix: Requests get slower when queues have a lot of messages  https://review.openstack.org/4434022:47
*** amitgandhi has joined #openstack-marconi23:46
*** amitgandhi has quit IRC23:47

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