_0x44 | Nova db meeting anyone? | 00:01 |
---|---|---|
* dragondm listens to crickets. | 00:01 | |
dragondm | hello | 00:02 |
*** jog0 has left #openstack-meeting | 00:02 | |
*** jog0 has joined #openstack-meeting | 00:02 | |
_0x44 | dragondm: Eh, let's just have it. I mostly want to argue with you anyway. | 00:02 |
_0x44 | #startmeeting | 00:02 |
openstack | Meeting started Fri Nov 11 00:02:59 2011 UTC. The chair is _0x44. Information about MeetBot at http://wiki.debian.org/MeetBot. | 00:03 |
openstack | Useful Commands: #action #agreed #help #info #idea #link #topic. | 00:03 |
dragondm | Heh | 00:03 |
_0x44 | #topic Nova DB subteam | 00:03 |
*** openstack changes topic to "Nova DB subteam" | 00:03 | |
dragondm | Ok. | 00:04 |
_0x44 | I'm looking to see if there are any bugs that we should tackle before redoing everything. | 00:04 |
*** zns has quit IRC | 00:05 | |
_0x44 | There are two, but one is a sqlalchemy bug that needs patching, the other Nachi has claimed. | 00:06 |
_0x44 | https://bugs.launchpad.net/nova/+bug/884837 and https://bugs.launchpad.net/nova/+bug/845076 | 00:06 |
uvirtbot | Launchpad bug 884837 in openstack-qa "Unused db.api in /nova/db/sqlalchemy/api.py" [Medium,Confirmed] | 00:06 |
dragondm | ok. | 00:07 |
_0x44 | So since no one else is here, let's talk about serializing | 00:07 |
_0x44 | Vish suggested serializing to dicts, you suggested serializing to objects. | 00:07 |
_0x44 | There was a huge session at the Diablo summit in Santa Clara where justinsb was pushing for serializing to objects so he could use static analysis tools to do something. | 00:08 |
_0x44 | The end result of that discussion was that most people weren't comfortable with the idea of moving to objects since dictionaries are so pythonic and prevalent in the codebase. | 00:08 |
dragondm | Ay. it would be nice to have an actual, real model with actual, real objects. | 00:08 |
_0x44 | I'm a bit worried that serializing DB records to objects is kind of doing an end-run around that quasi-decision. | 00:09 |
dragondm | Really, if we are just pulling dicts from the db, why do we have an ORM at all? | 00:10 |
dragondm | Plus, it's been getting obvious that nova's lack of object design is causing messy code. | 00:11 |
_0x44 | The ORM is to abstract the places where we were writing redis calls directly | 00:11 |
dragondm | I have had discussions w/ sandywalsh and jkoelker abt this, and there has been much concurrance. | 00:11 |
_0x44 | For whatever reason, someone felt that redis wasn't a good tool and decided to replace it with mysql | 00:12 |
_0x44 | So they fixed the datastore calls being written by hand problem with sqlalchemy | 00:12 |
_0x44 | Part of the db-cleanup is to make it so that we have an abstracted db api that can support datastores that aren't SQL | 00:13 |
_0x44 | anotherjesse would like to see zookeeper in nova | 00:13 |
dragondm | Yah, but they are really just simulating using the DB-API directly. | 00:13 |
dragondm | Ay. | 00:13 |
dragondm | If we made the db datastore use sqlalchemy properly, we could map to plain old python objects. | 00:14 |
dragondm | Then any other datastore (redis, zk, ...) could use the same objects | 00:14 |
dragondm | thus we could have real methods on our models | 00:14 |
dragondm | (note that I am not being pro relational db, here. Redis and/or zookeeper are likely better solutions for this system) | 00:15 |
_0x44 | We'd need to have a db model layer that just consumed the raw data from either backend for that though. | 00:16 |
_0x44 | (Not objecting, just musing) | 00:16 |
dragondm | Basically. | 00:16 |
dragondm | We'd have a nova.model that was separate from any datastore. | 00:17 |
_0x44 | So db cleanup basically means writing our own model layer/api and a migration generator engine? | 00:17 |
_0x44 | Because migrations would need to be the same across datastores also | 00:17 |
dragondm | need? | 00:17 |
dragondm | they wouldn't need to. | 00:17 |
dragondm | Tho having to maintain n different migrations (where n = datastores) would be annoying | 00:18 |
dragondm | Fortunately, the model layer would be trivial. | 00:18 |
_0x44 | They would, otherwise we end up with another keystone db problem or we're maintaining n migrations. | 00:18 |
*** bcwaldon has joined #openstack-meeting | 00:19 | |
dragondm | Yah, as said above, that would be annoying. | 00:20 |
dragondm | THo migrating nosql datastores would likely be much easier than sql. | 00:21 |
_0x44 | Yeah, most of them probably wouldn't require more than a model update... | 00:22 |
dragondm | Yup. And in many cases there woudn't need to be an all-at once migration. | 00:22 |
dragondm | if the objects were versioned, they could update at load. | 00:22 |
dragondm | sql is the pain, coz of the fixed schema. | 00:23 |
dragondm | right now, as I understand the code, if we actually had multiple datastores, we'd need a migration engine per store. | 00:24 |
_0x44 | You're correct. | 00:25 |
_0x44 | But that would be easier than maintaining specific migrations for each store. | 00:26 |
_0x44 | Especially when you consider the problem's we're having keeping up feature parity with libvirt vs. xenserver | 00:27 |
dragondm | Yah, | 00:27 |
dragondm | Hm..... In many cases, I'm not sure how we could avoid that. But yes, libvirt v xs shows that is a problem. | 00:28 |
dragondm | (I should also say, that the opinion of folks on ozone team is the use of sqllight for tests blows due to migration issues. we wind up with multiple migrations due to that, too) | 00:29 |
_0x44 | Just tell _cerberus_ to fix it. | 00:29 |
dragondm | Heh. | 00:29 |
_0x44 | That's his favourite thing. | 00:29 |
dragondm | yah, I can tell by the cursing. | 00:30 |
dragondm | Still, the representations in different stores is likely to be different enough, it'd be difficult to create migrations that would work for all of them. | 00:33 |
_0x44 | We can probably defer that until after we've gotten the model layer done | 00:33 |
_0x44 | And after we've abstracted the db.api | 00:33 |
dragondm | ya. | 00:34 |
dragondm | THe model layer would be much easier. | 00:34 |
dragondm | effectively just db.sqlalchemy.models minus the sqlalchemy cruft. | 00:35 |
dragondm | which would got in mappers in db.sqlalchemy.something | 00:35 |
dragondm | er /got/go/ | 00:35 |
dragondm | Breaking up the db.api would be a major win. | 00:36 |
dragondm | and, imho, nuking the useless db.api module as it is. | 00:37 |
dragondm | We should just use unittests to make sure the datastore apis are alike | 00:37 |
dragondm | (we can do that to some degree by introspection) | 00:37 |
_0x44 | That would require that we write something like RedisAlchemy or ZookeeperAlchemy | 00:38 |
_0x44 | Which would kind of suck | 00:38 |
dragondm | ? | 00:38 |
_0x44 | (The redisalchemy one is pretty small) | 00:38 |
dragondm | howzat? | 00:38 |
dragondm | I don't follow. | 00:39 |
_0x44 | If the datastore apis need to be the same, we need to wrap them with something like SQLAlchemy... because that's the one we have right now. | 00:39 |
dragondm | the data store apis are the db.api implementations. | 00:40 |
_0x44 | Which won't exist after you've nuked the module. | 00:41 |
dragondm | I ment in it's current form | 00:42 |
dragondm | as in get rid of the code that just turns around does: def foobar(): return IMPL.foobar() | 00:43 |
_0x44 | And replace it with method_missing! | 00:43 |
dragondm | ? | 00:43 |
_0x44 | It's a ruby method :P | 00:43 |
dragondm | make the db apis classes | 00:43 |
dragondm | (yah, I know... I've done much ruby) :-> | 00:44 |
dragondm | and 'the' db api is duck typed. | 00:44 |
dragondm | sou you ask for a db.api, and get an db.sqlalchemy.api or db.redis.api, or such. | 00:45 |
dragondm | and meanwhile, there are unittests that load all 'known' db apis, and make sure they all have the same 'public' (i.,e. non _blah ) methods and properties. | 00:46 |
dragondm | makle sense ? | 00:47 |
_0x44 | Yep | 00:48 |
_0x44 | That seems reasonable and in line with what the blueprint requested: | 00:48 |
_0x44 | https://blueprints.launchpad.net/nova/+spec/nova-db-api-objects | 00:48 |
dragondm | (and by db.api, I mean an assortment of classes like db.api.instance , db.api.network ..... ) | 00:49 |
dragondm | Hmm... yah, what I've been suggesting is basically option b) | 00:50 |
_0x44 | I was going to make a lazy-loading dict class for a) but then I got distracted | 00:50 |
_0x44 | Which is probably for the best. | 00:50 |
dragondm | hah. | 00:50 |
dragondm | lazy lazy loading | 00:51 |
dragondm | Or the power of creative distraction. ;> | 00:51 |
_0x44 | Yeah. | 00:52 |
_0x44 | We should make blueprints for the model api and the db api. | 00:53 |
dragondm | yah. | 00:53 |
_0x44 | Okay, want to take the db api changes one? I'll take the models api one | 00:53 |
dragondm | Ok. | 00:53 |
dragondm | Sounds good. | 00:53 |
_0x44 | #action _0x44 to write models api blueprint. | 00:54 |
_0x44 | #action dragondm to write db api changes blueprint. | 00:54 |
_0x44 | Since no one else is here to object, do you want to make Friday at 00:00UTC (Thursday 1800CST, 1600PDT) the regular meeting time for the nova-db subteam? | 00:55 |
dragondm | sure. Suits me. | 00:55 |
bcwaldon | I object! | 00:56 |
bcwaldon | no, that works | 00:56 |
dragondm | Oh, NOW he talks :> | 00:57 |
_0x44 | Awesome. I'll update the meetings page. | 00:57 |
bcwaldon | I came in half way through. Thought the meeting started at 8 est | 00:57 |
_0x44 | Sorry about that. | 00:57 |
dragondm | DST is the tool of Eris. | 00:58 |
bcwaldon | its not a big deal. You guys came to the conclusion I wanted anyways | 00:58 |
_0x44 | We've only discussed serialization. | 00:58 |
_0x44 | Perl scripts and flat files? | 00:58 |
bcwaldon | Jesus no | 00:58 |
bcwaldon | what's happening | 00:58 |
_0x44 | :D | 00:58 |
_0x44 | #endmeeting | 00:58 |
*** openstack changes topic to "Openstack Meetings: http://wiki.openstack.org/Meetings | Minutes: http://eavesdrop.openstack.org/meetings/openstack-meeting/2011/" | 00:58 | |
openstack | Meeting ended Fri Nov 11 00:58:56 2011 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4) | 00:58 |
openstack | Minutes: http://eavesdrop.openstack.org/meetings/openstack-meeting/2011/openstack-meeting.2011-11-11-00.02.html | 00:58 |
openstack | Minutes (text): http://eavesdrop.openstack.org/meetings/openstack-meeting/2011/openstack-meeting.2011-11-11-00.02.txt | 00:59 |
openstack | Log: http://eavesdrop.openstack.org/meetings/openstack-meeting/2011/openstack-meeting.2011-11-11-00.02.log.html | 00:59 |
dragondm | Heh. | 00:59 |
_0x44 | I guess I should have asked if there was anything else to add. | 00:59 |
_0x44 | Thanks dragondm, bcwaldon | 01:00 |
bcwaldon | I don't deserve any thanks here, but I'll take what I can get ;) | 01:00 |
dragondm | np | 01:01 |
dragondm | Random thought: what did you think of my notion of making the db.api objects a property of the context? | 01:04 |
*** bcwaldon has quit IRC | 01:07 | |
_0x44 | dragondm: That might be difficult since the context gets serialized onto the queue. | 01:08 |
*** bcwaldon has joined #openstack-meeting | 01:12 | |
dragondm | the context serializer would have to ignore certain internal fields. Easily done. The reason I thought of that (besides the fact that context is needed in all db calls anyway) is that would allow for a dbapi object that lived throughout our call, be it a wsgi web request, or rpc call, and was passed into it from outside (eaither earlier in the wsgi stack, or in the rpc machinery) and thus would be a place for session data (like sqlalchemy | 01:13 |
dragondm | live and be able to handle setup/teardown in the dbapi object at beginning/ending of calls for dbstores that needed such. | 01:13 |
_0x44 | I guess I don't yet have an opinion on that one way or the other. | 01:15 |
dragondm | ok. just pondering. | 01:15 |
*** jog0 has left #openstack-meeting | 01:15 | |
dragondm | I'll throw my random thoughts on implementations onto an etherpad when I write up the bp. | 01:16 |
_0x44 | Awesome, send the link to the list and I'll read it and form an opinion :) | 01:18 |
dragondm | ok | 01:20 |
*** gyee has quit IRC | 01:29 | |
*** oubiwann has quit IRC | 01:30 | |
*** novas0x2a|laptop has quit IRC | 01:40 | |
*** Gordonz has quit IRC | 01:40 | |
*** bcwaldon has left #openstack-meeting | 01:42 | |
*** vladimir3p has quit IRC | 01:50 | |
*** shang has quit IRC | 02:02 | |
*** dragondm has quit IRC | 02:04 | |
*** dolphm has joined #openstack-meeting | 02:09 | |
*** dolphm has quit IRC | 02:15 | |
*** dolphm has joined #openstack-meeting | 02:16 | |
*** dolphm has quit IRC | 02:20 | |
*** df1 has quit IRC | 02:25 | |
*** dwalleck has joined #openstack-meeting | 02:27 | |
*** dragondm has joined #openstack-meeting | 02:31 | |
*** vladimir3p has joined #openstack-meeting | 02:36 | |
*** vladimir3p has quit IRC | 02:45 | |
*** shang has joined #openstack-meeting | 03:00 | |
*** df1 has joined #openstack-meeting | 03:21 | |
*** jakedahn has joined #openstack-meeting | 04:09 | |
*** mmetheny_ has quit IRC | 04:09 | |
*** mmetheny has joined #openstack-meeting | 04:09 | |
*** jakedahn has quit IRC | 04:14 | |
*** jakedahn has joined #openstack-meeting | 04:39 | |
*** dwalleck has quit IRC | 04:55 | |
*** blamar__ has joined #openstack-meeting | 04:56 | |
*** blamar__ has quit IRC | 05:04 | |
*** mdomsch has quit IRC | 05:16 | |
*** sleepsontheflo-1 has joined #openstack-meeting | 05:26 | |
*** jdurgin has quit IRC | 05:35 | |
*** adjohn has joined #openstack-meeting | 06:13 | |
*** sleepsontheflo-1 has quit IRC | 06:19 | |
*** sleepsontheflo-1 has joined #openstack-meeting | 06:20 | |
*** danwent has joined #openstack-meeting | 06:34 | |
*** reed has quit IRC | 06:55 | |
*** jog0 has joined #openstack-meeting | 07:04 | |
*** jog0 has quit IRC | 07:08 | |
*** dragondm has quit IRC | 07:30 | |
*** danwent has left #openstack-meeting | 07:30 | |
*** jakedahn has quit IRC | 07:33 | |
*** adjohn has quit IRC | 08:17 | |
*** nati2 has quit IRC | 08:30 | |
*** sleepsontheflo-2 has joined #openstack-meeting | 09:05 | |
*** sleepsontheflo-1 has quit IRC | 09:09 | |
*** darraghb has joined #openstack-meeting | 10:08 | |
*** darraghb has quit IRC | 11:23 | |
*** darraghb has joined #openstack-meeting | 11:46 | |
*** edconzel has joined #openstack-meeting | 14:27 | |
*** Gordonz has joined #openstack-meeting | 15:05 | |
*** mdomsch has joined #openstack-meeting | 15:06 | |
*** Gordonz has joined #openstack-meeting | 15:06 | |
*** troytoman-away is now known as troytoman | 15:14 | |
*** reed_ has joined #openstack-meeting | 15:21 | |
*** AlanClark has joined #openstack-meeting | 15:30 | |
*** dendrobates is now known as dendro-afk | 15:35 | |
*** dendro-afk is now known as dendrobates | 15:35 | |
*** dendrobates has joined #openstack-meeting | 15:35 | |
*** AlanClark has quit IRC | 15:35 | |
*** Gordonz has quit IRC | 15:38 | |
*** dolphm has joined #openstack-meeting | 15:39 | |
*** troytoman is now known as troytoman-away | 15:50 | |
*** reed_ is now known as reed | 15:54 | |
*** edconzel has quit IRC | 15:56 | |
*** dolphm has quit IRC | 16:01 | |
*** dolphm has joined #openstack-meeting | 16:01 | |
*** adjohn has joined #openstack-meeting | 16:02 | |
*** dolphm has quit IRC | 16:06 | |
*** mmetheny has quit IRC | 16:09 | |
*** mmetheny_ has joined #openstack-meeting | 16:09 | |
*** danwent has joined #openstack-meeting | 16:14 | |
*** dolphm has joined #openstack-meeting | 16:15 | |
*** sleepsontheflo-2 has quit IRC | 16:23 | |
*** dolphm has quit IRC | 16:28 | |
*** dolphm has joined #openstack-meeting | 16:29 | |
*** dolphm_ has joined #openstack-meeting | 16:29 | |
*** dolphm has quit IRC | 16:33 | |
*** dragondm has joined #openstack-meeting | 16:54 | |
*** nati2 has joined #openstack-meeting | 16:54 | |
*** dprince has joined #openstack-meeting | 16:55 | |
*** danwent has quit IRC | 16:57 | |
*** darraghb has quit IRC | 16:58 | |
*** danwent has joined #openstack-meeting | 17:01 | |
*** danwent has quit IRC | 17:05 | |
*** dragondm has quit IRC | 17:06 | |
*** adjohn has quit IRC | 17:09 | |
*** shang has quit IRC | 17:11 | |
*** danwent has joined #openstack-meeting | 17:15 | |
*** sleepsontheflo-1 has joined #openstack-meeting | 17:16 | |
*** mdomsch has quit IRC | 17:23 | |
*** sec_prof has joined #openstack-meeting | 17:29 | |
*** jog0 has joined #openstack-meeting | 17:31 | |
*** sec_prof has quit IRC | 17:36 | |
*** jakedahn has joined #openstack-meeting | 17:42 | |
*** hggdh has quit IRC | 17:44 | |
*** nati2 has quit IRC | 17:44 | |
*** ohnoimdead has joined #openstack-meeting | 17:44 | |
*** ohnoimdead_ has joined #openstack-meeting | 17:48 | |
*** ohnoimdead has quit IRC | 17:48 | |
*** ohnoimdead_ is now known as ohnoimdead | 17:48 | |
*** ohnoimdead_ has joined #openstack-meeting | 17:48 | |
*** ohnoimdead has quit IRC | 17:48 | |
*** ohnoimdead_ is now known as ohnoimdead | 17:48 | |
*** ohnoimdead_ has joined #openstack-meeting | 17:49 | |
*** ohnoimdead has quit IRC | 17:49 | |
*** ohnoimdead_ is now known as ohnoimdead | 17:49 | |
*** ohnoimdead has joined #openstack-meeting | 17:50 | |
*** ohnoimdead has quit IRC | 17:51 | |
*** ohnoimdead_ has joined #openstack-meeting | 17:51 | |
*** hggdh has joined #openstack-meeting | 17:51 | |
*** ohnoimdead has joined #openstack-meeting | 17:52 | |
*** ohnoimdead_ has quit IRC | 17:52 | |
*** ohnoimdead_ has joined #openstack-meeting | 17:56 | |
*** ohnoimdead has quit IRC | 17:56 | |
*** ohnoimdead_ is now known as ohnoimdead | 17:56 | |
*** ohnoimdead_ has joined #openstack-meeting | 18:00 | |
*** ohnoimdead has quit IRC | 18:00 | |
*** ohnoimdead_ has quit IRC | 18:00 | |
*** ohnoimdead has joined #openstack-meeting | 18:01 | |
*** ohnoimdead_ has joined #openstack-meeting | 18:02 | |
*** ohnoimdead has quit IRC | 18:02 | |
*** ohnoimdead_ is now known as ohnoimdead | 18:02 | |
*** ohnoimdead has quit IRC | 18:05 | |
*** ohnoimdead has joined #openstack-meeting | 18:06 | |
*** ohnoimdead has quit IRC | 18:06 | |
*** ohnoimdead has joined #openstack-meeting | 18:06 | |
*** ohnoimdead_ has joined #openstack-meeting | 18:07 | |
*** ohnoimdead has quit IRC | 18:07 | |
*** ohnoimdead_ is now known as ohnoimdead | 18:07 | |
*** ohnoimdead has joined #openstack-meeting | 18:09 | |
*** dragondm has joined #openstack-meeting | 18:11 | |
*** dragondm has joined #openstack-meeting | 18:12 | |
*** littleidea has joined #openstack-meeting | 18:14 | |
*** novas0x2a|laptop has joined #openstack-meeting | 18:15 | |
*** dolphm_ has quit IRC | 18:28 | |
*** dolphm has joined #openstack-meeting | 18:28 | |
*** dolphm has quit IRC | 18:33 | |
*** adjohn has joined #openstack-meeting | 18:38 | |
*** littleidea has quit IRC | 18:46 | |
*** mdomsch has joined #openstack-meeting | 18:48 | |
*** sleepsontheflo-1 has quit IRC | 18:54 | |
*** jakedahn has quit IRC | 18:54 | |
vishy | hmm | 18:54 |
*** adjohn has quit IRC | 18:54 | |
vishy | interesting | 18:54 |
*** sleepsontheflo-1 has joined #openstack-meeting | 18:54 | |
*** jakedahn has joined #openstack-meeting | 18:55 | |
*** zul has quit IRC | 18:56 | |
*** zul has joined #openstack-meeting | 18:56 | |
*** dolphm has joined #openstack-meeting | 18:58 | |
*** jakedahn has quit IRC | 19:01 | |
*** jakedahn has joined #openstack-meeting | 19:02 | |
*** dprince has quit IRC | 19:06 | |
*** gyee has joined #openstack-meeting | 19:18 | |
*** sleepsontheflo-2 has joined #openstack-meeting | 19:20 | |
*** sleepsontheflo-1 has quit IRC | 19:22 | |
*** jog0 has left #openstack-meeting | 19:28 | |
*** Gordonz has joined #openstack-meeting | 19:34 | |
*** dendrobates is now known as dendro-afk | 19:55 | |
*** adjohn has joined #openstack-meeting | 20:09 | |
*** sandywalsh_ has joined #openstack-meeting | 20:13 | |
*** adjohn has quit IRC | 20:27 | |
*** littleidea has joined #openstack-meeting | 20:35 | |
*** df1 has joined #openstack-meeting | 20:41 | |
*** danwent_ has joined #openstack-meeting | 20:51 | |
*** danwent has quit IRC | 20:51 | |
*** danwent_ is now known as danwent | 20:51 | |
*** troytoman-away is now known as troytoman | 21:33 | |
*** dolphm has quit IRC | 21:48 | |
*** dolphm has joined #openstack-meeting | 21:48 | |
*** dolphm_ has joined #openstack-meeting | 21:49 | |
*** dolphm has quit IRC | 21:53 | |
*** danwent has quit IRC | 21:59 | |
*** troytoman is now known as troytoman-away | 22:03 | |
*** ameade_ has quit IRC | 22:06 | |
*** ameade has joined #openstack-meeting | 22:06 | |
*** dragondm has quit IRC | 22:06 | |
*** dragondm has joined #openstack-meeting | 22:09 | |
*** dendro-afk is now known as dendrobates | 22:11 | |
*** dolphm_ has quit IRC | 22:19 | |
*** danwent has joined #openstack-meeting | 22:28 | |
*** littleidea has quit IRC | 22:28 | |
*** reed has quit IRC | 22:31 | |
*** mdomsch has quit IRC | 22:34 | |
*** jdg has joined #openstack-meeting | 22:39 | |
*** reed has joined #openstack-meeting | 22:39 | |
*** jakedahn has quit IRC | 22:41 | |
*** jakedahn has joined #openstack-meeting | 22:42 | |
*** sandywalsh_ has quit IRC | 22:43 | |
*** anotherjesse has joined #openstack-meeting | 23:04 | |
*** sleepsontheflo-2 has quit IRC | 23:10 | |
*** sleepsontheflo-1 has joined #openstack-meeting | 23:10 | |
*** jdg has quit IRC | 23:14 | |
*** df1 has quit IRC | 23:16 | |
*** dolphm has joined #openstack-meeting | 23:19 | |
*** df1 has joined #openstack-meeting | 23:25 | |
*** dolphm has quit IRC | 23:28 | |
*** jakedahn_ has joined #openstack-meeting | 23:30 | |
*** jakedahn has quit IRC | 23:31 | |
*** jakedahn_ has quit IRC | 23:31 | |
*** jakedahn has joined #openstack-meeting | 23:31 | |
*** df1 has quit IRC | 23:32 | |
*** dolphm has joined #openstack-meeting | 23:32 | |
*** novas0x2a|laptop has quit IRC | 23:32 | |
*** dolphm has quit IRC | 23:35 | |
*** Gordonz has quit IRC | 23:37 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!