*** Qiming has quit IRC | 00:08 | |
*** pratikmallya has joined #senlin | 00:42 | |
*** Qiming has joined #senlin | 00:56 | |
*** zhenguo has joined #senlin | 01:38 | |
*** Yanyanhu has joined #senlin | 01:45 | |
*** Yanyanhu has quit IRC | 02:03 | |
*** elynn_ has joined #senlin | 02:05 | |
*** elynn_ has quit IRC | 02:10 | |
*** elynn_ has joined #senlin | 02:10 | |
*** lixinhui has joined #senlin | 02:25 | |
elynn_ | Seems gerrit UI has changed... | 02:25 |
---|---|---|
Qiming | yes, a new version | 02:25 |
elynn_ | Need time to familiar with it... | 02:26 |
elynn_ | Can't find the comment button now... | 02:28 |
Qiming | not logged in? | 02:29 |
elynn_ | oh, it's been moved from bottom to top, and the name changed to 'reply'... | 02:30 |
openstackgerrit | lvdongbing proposed openstack/senlin: Fix some nits in profile base https://review.openstack.org/258761 | 02:31 |
openstackgerrit | Qiming Teng proposed openstack/senlin: Fix action dependency problem https://review.openstack.org/258308 | 03:09 |
*** Yanyanhu has joined #senlin | 03:21 | |
Yanyanhu | the UI of review page changed for gerrit updating? | 03:22 |
Qiming | seems so, girl | 03:23 |
Yanyanhu | can't find those buttons I was familiar with :) | 03:23 |
openstackgerrit | Merged openstack/senlin: Updated from global requirements https://review.openstack.org/258074 | 03:25 |
openstackgerrit | Merged openstack/senlin: Remove senlin.conf.sample https://review.openstack.org/258215 | 03:31 |
openstackgerrit | Merged openstack/senlin: Fix some nits in profile base https://review.openstack.org/258761 | 03:32 |
Qiming | buttons are moved, screen is busy, a lot of pop-up windows now | 03:37 |
Yanyanhu | yes. Honestly, I prefer the old UI. There are too much thing in a small field now. | 03:38 |
Qiming | agree | 03:38 |
Yanyanhu | make it difficult to find something. Maybe I will feel better after I'm more familiar with the new UI. | 03:38 |
Qiming | hope so | 03:39 |
elynn_ | I think the better place for new one is that you can see this patch will affect what other patches. | 03:40 |
Qiming | One change I'd like to see is the 'Incoming reviews' list should be customizable | 03:42 |
Qiming | there are too many patches I reviewed before and now are blocked | 03:43 |
Qiming | either there have been not new patch set, or they have been -1'd without response | 03:43 |
Yanyanhu | patch with -1 but without response should be abandoned a while after the last update date? | 03:45 |
Yanyanhu | e.g. 2 month? | 03:45 |
Qiming | I still have this one in the incoming reviews: https://review.openstack.org/110379 | 03:46 |
Qiming | https://review.openstack.org/135303 | 03:46 |
Qiming | https://review.openstack.org/132857 | 03:46 |
Qiming | all over a year now | 03:46 |
Yanyanhu | sig... | 03:46 |
Yanyanhu | sigh | 03:46 |
Yanyanhu | I guess heat team should abandon these patches on behalf of proposer | 03:47 |
Qiming | I'm doing that | 03:47 |
Yanyanhu | they can restore it later when the work is resumed | 03:47 |
Qiming | sometimes I have to play a bad guy | 03:47 |
Qiming | yes | 03:47 |
Yanyanhu | maybe a mail about this issue in mailinglist? | 03:48 |
Yanyanhu | to raise some awareness about this problem | 03:48 |
*** lixinhui has quit IRC | 03:51 | |
*** lixinhui has joined #senlin | 03:53 | |
*** lixinhui has quit IRC | 04:15 | |
*** pratikmallya has quit IRC | 04:16 | |
*** elynn_ has quit IRC | 04:29 | |
*** elynn_ has joined #senlin | 05:13 | |
*** lixinhui has joined #senlin | 05:18 | |
*** elynn_ has quit IRC | 06:17 | |
*** elynn_ has joined #senlin | 06:17 | |
openstackgerrit | junxu proposed openstack/senlin: Fix policy_check for cluster binding scale-in and scale-out policies at sametime. 'policy_check' will check the cooldown of all scale policies for any scale action. This may have some problem, for example as follow. https://review.openstack.org/258823 | 06:30 |
*** pratikmallya has joined #senlin | 06:32 | |
openstackgerrit | junxu proposed openstack/senlin: Fix "test_vSphereDRSPolicy.py" file's mode to 644 https://review.openstack.org/258831 | 06:57 |
openstackgerrit | Yanyan Hu proposed openstack/senlin: Set cluster.next_index to correct value after node join/leave https://review.openstack.org/258845 | 07:24 |
Qiming | hi | 07:35 |
Qiming | help needed | 07:35 |
elynn_ | Hi | 07:35 |
Qiming | when debugging db sync problems, found another bug | 07:35 |
Qiming | don't have bandwidth to fix it | 07:35 |
Qiming | anybody can help? | 07:35 |
elynn_ | I can have a look. | 07:36 |
Qiming | reproduce is simple | 07:36 |
elynn_ | What's the problem. | 07:36 |
Qiming | create a node of heat stack | 07:36 |
Qiming | delete that stack from heat | 07:36 |
Qiming | then you cannot delete the node from senlin | 07:36 |
elynn_ | Qiming: I encounter this problem yesterday | 07:36 |
Qiming | so please file a bug and fix it | 07:36 |
elynn_ | Then update openstacksdk can solve it. | 07:36 |
Yanyanhu | but the heat stack was deleted correctly? | 07:37 |
Qiming | heat stack doesn't exist at all | 07:37 |
Qiming | I wasn't able to delete heat stack | 07:37 |
Yanyanhu | oh, I see | 07:37 |
Qiming | it is complaining that some project cannot be deleted | 07:37 |
elynn_ | ignore_missing will be take care in the newest version I guess. | 07:37 |
Qiming | I manually deleted the stacks from heat database, it is a heat bug | 07:38 |
elynn_ | Seems the problem we see is not the same? | 07:38 |
elynn_ | You sad it's a heat problem? | 07:38 |
Qiming | yes | 07:39 |
elynn_ | You create a stack, and then delete it will fail? | 07:39 |
Qiming | yes, cannot delete | 07:39 |
elynn_ | in latest codes? | 07:40 |
elynn_ | Let me have a try... | 07:40 |
Qiming | yes, latest code | 07:40 |
Qiming | heat side trace: http://paste.openstack.org/show/482157/ | 07:40 |
Qiming | it is trying to delete some projects, could be the stack_user_project | 07:41 |
Qiming | oh, stack_domain_project | 07:41 |
Qiming | but somehow, it is invoking keystoneclient to do this | 07:41 |
Qiming | keystoneclient is deprecated ... don't know if it worth a fixing or not | 07:42 |
Qiming | anyway, that stack cannot be deleted | 07:42 |
elynn_ | it's an endpointnotfound error?... | 07:42 |
Qiming | then I manually delete that stack in heat db | 07:42 |
Qiming | yes | 07:42 |
Qiming | endpoint for identity service ... | 07:42 |
elynn_ | Should I update my keystone codes/ | 07:43 |
elynn_ | ? | 07:43 |
elynn_ | or keystoneclient codes... | 07:43 |
Qiming | don't know | 07:43 |
Yanyanhu | hi, Qiming , this error didn't happen in my local env | 07:43 |
Qiming | it is a long invocation chain, anything can be broken | 07:43 |
Yanyanhu | senlin's code is latest, but heat is not I think | 07:44 |
Qiming | python-keystoneclient 2.0.0 | 07:44 |
elynn_ | There isn't any change in heat codes related with keystone | 07:44 |
elynn_ | Let me update my heat codes and have a try. | 07:44 |
Qiming | then maybe keystoneclient is buggy | 07:45 |
Qiming | my keystone is very new: keystone (8.0.0.0b4.dev56, /opt/stack/keystone) | 07:45 |
Qiming | pip install stalls .... due to firewall | 07:46 |
elynn_ | my keystoneclient version is 1.8.1 | 07:46 |
Yanyanhu | sigh | 07:46 |
Yanyanhu | mine is 2.0.0 | 07:46 |
elynn_ | my keystone version is 9.0.0dev296 | 07:47 |
Yanyanhu | keystone version is 8.0.0 | 07:47 |
Qiming | okay, my keystone is too old | 07:47 |
Yanyanhu | so you're using latest heat with old keystone :) | 07:48 |
Yanyanhu | I'm using old version heat and keystone, so error didn't happen I guess | 07:49 |
elynn_ | Can't reproduce your problem.. My local env is fine follow your reproduce steps... | 07:49 |
Qiming | elynn_, which problem? | 07:50 |
elynn_ | I can delete heat stacks created by senlin | 07:50 |
Qiming | the senlin side trace is here: http://paste.openstack.org/show/482156/ | 07:50 |
elynn_ | on my local env. | 07:50 |
Qiming | if you delete that stack from heat | 07:50 |
Qiming | or you purge_delete it from heat | 07:51 |
Qiming | that stack won't exist in Heat anymore | 07:51 |
elynn_ | purge_delete is broken in heat for now.... | 07:51 |
elynn_ | there's a patch to fix it. | 07:51 |
Qiming | then when senlin tries to do _check_action_complete | 07:51 |
Qiming | the first thing it calls is to do a stack_get() | 07:51 |
Qiming | using its recorded physical id | 07:52 |
elynn_ | https://review.openstack.org/#/c/255328/ | 07:52 |
Qiming | elynn_, not interested in heat | 07:52 |
elynn_ | Better don't use purge_delete for now. | 07:52 |
elynn_ | I see the same error log in senlin yesterday | 07:52 |
elynn_ | that stack not found error. | 07:52 |
Qiming | let's focus for the moment on things we can do better from senlin side, alright? | 07:53 |
elynn_ | then I uninstall openstacksdk and install the latest version of openstacksdk | 07:53 |
Qiming | 20 minutes passed | 07:54 |
Qiming | I haven't explained the problem we need to solve | 07:54 |
Qiming | sigh ... | 07:54 |
Qiming | refer to this trace: http://paste.openstack.org/show/482157/ | 07:54 |
Qiming | oh, no, this one: http://paste.openstack.org/show/482156/ | 07:55 |
Qiming | when senlin tries to determine if the delete action is complete | 07:55 |
Qiming | it will do a stack_get | 07:55 |
Qiming | with the previous physical id it remembered (i.e. stack id) | 07:56 |
Qiming | this won't cause any problem in heat normally | 07:56 |
elynn_ | I see your point... | 07:56 |
Qiming | because in heat's interface, when you are asking for a stack with a stack id | 07:56 |
elynn_ | The problem is here https://github.com/openstack/senlin/blob/master/senlin/profiles/os/heat/stack.py#L114 | 07:56 |
Qiming | heat gives you the complte record, even if the stack is already deleted | 07:56 |
Qiming | it is doing show as if you have specified 'show_deleted=True' | 07:57 |
Qiming | s/show/so/ | 07:57 |
Qiming | however, this is not reliable | 07:57 |
Qiming | we don't know if a stack has disappeared from heat database or not | 07:57 |
Qiming | let's suppose 'purge_delete' works today, you completely deleted that stack from heat db | 07:58 |
Qiming | the effect is the same | 07:58 |
Qiming | when we do stack_get(), we get a ResourceNotFound Exception | 07:58 |
Qiming | and when we do stack_get(), there is no way to specify ignore_missing | 07:59 |
Qiming | we have to capture and handle this exception | 07:59 |
Qiming | full trace is pasted here: http://paste.openstack.org/show/482159/ | 08:00 |
elynn_ | I open a bug and I will fix it. https://bugs.launchpad.net/senlin/+bug/1527112 | 08:00 |
openstack | Launchpad bug 1527112 in senlin "Can't delete node if stack doesn't exists in heat db" [Undecided,New] | 08:00 |
Qiming | thanks | 08:00 |
Yanyanhu | or maybe we should use stack_find rather than stack_get to ignore notfound exception | 08:00 |
Yanyanhu | currently, stack_get will always raise exception is stack with given id does not exist | 08:01 |
elynn_ | That might be a good idea. | 08:01 |
Qiming | exactly the problem I'm trying to explain | 08:01 |
Qiming | the same applies to nova server I think | 08:02 |
Yanyanhu | yes | 08:02 |
Qiming | we got to make our side as robust as possible | 08:02 |
elynn_ | seems we just need to fix the heat profile, don't need to fix nova server profile. It won't happen when using nova. | 08:10 |
Qiming | oaky | 08:10 |
*** Liuqing has joined #senlin | 08:10 | |
elynn_ | https://github.com/openstack/senlin/blob/master/senlin/profiles/os/nova/server.py#L346-L359 | 08:10 |
Qiming | line 353 add ignore_missing? | 08:11 |
Yanyanhu | Qiming, ignore_missing is true by default in nova driver | 08:12 |
Yanyanhu | senlin nova driver | 08:12 |
Qiming | okay, server_delete has that default to True | 08:12 |
Yanyanhu | yea | 08:12 |
Qiming | well ... | 08:13 |
elynn_ | wait_for_server_delete will handle not found. | 08:13 |
Qiming | the heat stack impl is different | 08:13 |
Qiming | the exception was thrown in check_action_complete() | 08:13 |
Qiming | please help make them look similar | 08:14 |
elynn_ | OK, will add wait_for_stack_delete for heat profile. | 08:14 |
Yanyanhu | hi, elynn_, I think you can try to add this interface into senlin heat driver | 08:15 |
elynn_ | Yanyanhu: I mean that ;) | 08:16 |
Yanyanhu | currently, there is no directly support for this interface in sdk | 08:16 |
Yanyanhu | :) | 08:16 |
Yanyanhu | maybe in future we can directly rely on sdk to implement it | 08:16 |
elynn_ | Is openstacksdk support wait_for_delete for stack? | 08:17 |
elynn_ | https://github.com/openstack/senlin/blob/master/senlin/drivers/openstack/nova_v2.py#L142 | 08:18 |
*** lixinhui has quit IRC | 08:18 | |
Yanyanhu | elynn_, no I think | 08:21 |
elynn_ | Let me have a try~ | 08:21 |
Yanyanhu | if possible, maybe we should add it this support in sdk :) | 08:22 |
Yanyanhu | for heat stack resource | 08:22 |
Qiming | http://git.openstack.org/cgit/openstack/python-openstacksdk/tree/openstack/resource.py | 08:23 |
Qiming | scroll to the bottom | 08:23 |
Qiming | there is wait_for_status and wait_for_delete | 08:23 |
Yanyanhu | yep, but not sure it works | 08:23 |
Yanyanhu | ah, based on the implementation, it should | 08:24 |
Qiming | keystone v9 is so slow .... | 08:27 |
elynn_ | I think qiming is right, it works for me. | 08:27 |
Yanyanhu | cool! | 08:27 |
Yanyanhu | it can simplify the code of heat stack profile significantly | 08:28 |
elynn_ | I will add unittest later. | 08:28 |
openstackgerrit | Ethan Lynn proposed openstack/senlin: Add wait_for_stack_delete to heat driver https://review.openstack.org/258866 | 08:29 |
elynn_ | You can have a try first. | 08:30 |
Yanyanhu | sure, thanks :) | 08:34 |
*** pratikmallya has quit IRC | 08:38 | |
openstackgerrit | Ethan Lynn proposed openstack/senlin: Add wait_for_stack_delete to heat driver https://review.openstack.org/258866 | 08:46 |
openstackgerrit | Qiming Teng proposed openstack/senlin: Fix action dependency problem https://review.openstack.org/258308 | 08:50 |
elynn_ | Don't know why that patch doesn't automatically link to launchpad. | 08:51 |
openstackgerrit | Qiming Teng proposed openstack/senlin: Fix action dependency problem https://review.openstack.org/258308 | 08:51 |
Qiming | could be because that bug is not reviewed? | 08:53 |
Yanyanhu | which one? | 08:53 |
elynn_ | https://review.openstack.org/258866 | 08:54 |
Qiming | bug #1527112 | 08:54 |
openstack | bug 1527112 in senlin "Can't delete node if stack doesn't exists in heat db" [High,Triaged] https://launchpad.net/bugs/1527112 - Assigned to Ethan Lynn (ethanlynn) | 08:54 |
Yanyanhu | this usually didn't happen | 08:55 |
Yanyanhu | just occasionally met it | 08:55 |
Qiming | it happens to elynn several times | 08:55 |
*** lixinhui has joined #senlin | 08:56 | |
Yanyanhu | in most times, the link will be built successfully even when bug has not been reviewed I think | 08:56 |
*** xujun has joined #senlin | 08:56 | |
Yanyanhu | maybe elynn_ 's account issue LOL | 08:56 |
elynn_ | ...... | 08:56 |
Yanyanhu | just kidding :) | 08:56 |
Qiming | is it that we have to assign a bug? | 08:56 |
elynn_ | Only if the patch is merged, the link will appear to launchpad | 08:56 |
Yanyanhu | oh, that's possible | 08:56 |
Qiming | there must be some tricks | 08:56 |
Qiming | " Only if the patch is merged, the link will appear to launchpad" | 08:57 |
Qiming | that would be bad | 08:57 |
*** xujun has joined #senlin | 08:57 | |
Yanyanhu | I guess assignee is needed to build the link> | 08:57 |
Yanyanhu | ... | 08:57 |
Qiming | we have to make sure that bugs are explictly assigned | 08:57 |
Qiming | or else, people may jump to the same thing simultaneously | 08:57 |
Yanyanhu | yes, agree | 08:58 |
Qiming | it is weird that our local functional tests are all okay, but still fails at gate!!! | 09:07 |
Qiming | so... tortured | 09:07 |
Yanyanhu | yes, I suffered from this issue in last two weeks... | 09:08 |
Yanyanhu | after that, I tested concurrency issue by creating and deleting multiple big clusters concurrently | 09:09 |
Yanyanhu | rather than running functional test | 09:09 |
Yanyanhu | since error stopped happening in my local env when running functional test... | 09:09 |
Yanyanhu | I create/delete 5 clusters concurrently with each of them has 200 nodes | 09:10 |
Yanyanhu | using test cloud_backend | 09:10 |
Qiming | ====== | 09:10 |
Qiming | Ran: 13 tests in 359.9469 sec. | 09:10 |
Qiming | - Passed: 13 | 09:10 |
Qiming | - Skipped: 0 | 09:10 |
Qiming | - Expected Fail: 0 | 09:10 |
Qiming | - Unexpected Success: 0 | 09:10 |
Qiming | - Failed: 0 | 09:10 |
Yanyanhu | it just passed.. | 09:11 |
openstackgerrit | Qiming Teng proposed openstack/senlin: Fix action dependency problem https://review.openstack.org/258308 | 09:14 |
elynn_ | Hi Yanyanhu, how to run functional tests in local env? | 09:16 |
elynn_ | just tox -e functional? | 09:16 |
Yanyanhu | yes, before that, you have to run senlin-engine and senlin-api | 09:17 |
elynn_ | Do I need to upload any image? | 09:17 |
Yanyanhu | no, but you need to set the following configure option | 09:17 |
Yanyanhu | cloud_backend = openstack_test | 09:17 |
Yanyanhu | by default, it is set to 'openstack' | 09:17 |
elynn_ | in senlin.conf? | 09:18 |
Yanyanhu | yes | 09:18 |
elynn_ | What does it mean? | 09:18 |
elynn_ | What's this option for? | 09:18 |
Qiming | elynn_, it is a fake layer | 09:25 |
Qiming | a fake driver layer intercepting all senlin's interactions with other services | 09:26 |
Qiming | this is a pure functional test | 09:26 |
Qiming | if we are using real drivers that allow senlin to talk real services, it would be integration test | 09:26 |
Yanyanhu | hi, elynn_ , sorry just left for a while | 09:27 |
elynn_ | Wow, so we don't need other services when running functional tests? | 09:27 |
Qiming | yes | 09:29 |
elynn_ | that's so cool! | 09:29 |
Qiming | Yanyanhu is the hero | 09:30 |
elynn_ | InternalError: No Image found for cirros-0.3.2-x86_64-uec | 09:30 |
elynn_ | Seems I still need an older version cirros | 09:30 |
Qiming | or you should change your profile | 09:30 |
Qiming | 0.3.4 is the default | 09:31 |
elynn_ | The gate still using cirros-0.3.2? | 09:31 |
Qiming | not sure, gate is using latest devstack I think | 09:33 |
*** pratikmallya has joined #senlin | 09:39 | |
*** pratikmallya has quit IRC | 09:43 | |
Yanyanhu | hi, elynn_ , the image_get function is also faked in functional test | 09:45 |
Yanyanhu | all needed fake driver are in senlin/test/functional/drivers directory | 09:46 |
Yanyanhu | so the image name won't fail the test I think | 09:46 |
elynn_ | Yanyanhu: Then that's weird... | 09:46 |
elynn_ | http://paste.openstack.org/show/482169/ | 09:46 |
Yanyanhu | let me check it | 09:46 |
elynn_ | Oh, I know why | 09:47 |
elynn_ | I forgot to restart senlin-engine... | 09:47 |
*** openstackgerrit has quit IRC | 09:47 | |
elynn_ | Bye openstackgerrit | 09:47 |
Yanyanhu | ... why it quit | 09:47 |
Yanyanhu | restarting engine will load the fake driver | 09:48 |
*** openstackgerrit has joined #senlin | 09:48 | |
Qiming | looks like a sport for him | 09:48 |
Yanyanhu | ... | 09:49 |
Yanyanhu | good exercise :) | 09:49 |
openstackgerrit | Liuqing Jing proposed openstack/senlin-dashboard: Add policy detail page https://review.openstack.org/256942 | 09:51 |
*** Liuqing has quit IRC | 10:12 | |
*** Liuqing has joined #senlin | 10:13 | |
openstackgerrit | Liuqing Jing proposed openstack/senlin-dashboard: Use the default `url` tag instead https://review.openstack.org/258925 | 10:18 |
*** Qiming has quit IRC | 10:20 | |
*** Liuqing has quit IRC | 10:25 | |
*** Yanyanhu has quit IRC | 10:26 | |
*** elynn_ has quit IRC | 10:31 | |
*** Liuqing has joined #senlin | 10:50 | |
*** Qiming has joined #senlin | 11:08 | |
*** Liuqing has quit IRC | 11:14 | |
openstackgerrit | Qiming Teng proposed openstack/senlin: Fix action dependency problem https://review.openstack.org/258308 | 11:49 |
openstackgerrit | Qiming Teng proposed openstack/senlin: Fix action dependency problem https://review.openstack.org/258308 | 12:35 |
*** pratikmallya has joined #senlin | 12:41 | |
*** pratikmallya has quit IRC | 12:46 | |
openstackgerrit | Merged openstack/senlin: Fix "test_vSphereDRSPolicy.py" file's mode to 644 https://review.openstack.org/258831 | 12:56 |
*** gongysh has quit IRC | 13:02 | |
*** gongysh has joined #senlin | 13:02 | |
*** elynn_ has joined #senlin | 13:14 | |
openstackgerrit | Merged openstack/senlin-dashboard: Add policy detail page https://review.openstack.org/256942 | 13:21 |
openstackgerrit | Merged openstack/senlin-dashboard: Use the default `url` tag instead https://review.openstack.org/258925 | 13:21 |
*** elynn_ has quit IRC | 14:20 | |
openstackgerrit | Qiming Teng proposed openstack/senlin: Fix action dependency problem https://review.openstack.org/258308 | 14:29 |
*** pratikmallya has joined #senlin | 15:12 | |
*** pratikmallya has quit IRC | 15:50 | |
*** xujun has quit IRC | 16:08 | |
*** xujun has joined #senlin | 16:08 | |
*** Qiming has quit IRC | 16:14 | |
*** pratikmallya has joined #senlin | 16:26 | |
*** pratikma_ has joined #senlin | 16:27 | |
*** pratikmallya has quit IRC | 16:30 | |
-openstackstatus- NOTICE: Zuul is moving in very slow motion since roughly 13:30 UTC; the Infra team is investigating. | 16:43 | |
*** bdrich has joined #senlin | 17:45 | |
*** bdrich has left #senlin | 17:58 | |
*** bdrich has joined #senlin | 17:59 | |
*** bdrich has quit IRC | 18:09 | |
*** bdrich has joined #senlin | 18:09 | |
*** bdrich has quit IRC | 18:34 | |
jdandrea | Should there be an extra os.pardir here per the comment on line 25? /blob/master/bin/senlin-api#L29 | 18:50 |
jdandrea | Whoops - https://github.com/openstack/senlin/blob/master/bin/senlin-api#L29 | 18:51 |
*** pratikma_ is now known as pratikmallya | 20:35 | |
*** bdrich has joined #senlin | 20:39 | |
*** bdrich has quit IRC | 21:45 | |
*** yuanying has joined #senlin | 23:12 | |
*** Qiming has joined #senlin | 23:46 | |
*** pratikmallya has quit IRC | 23:51 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!