Tuesday, 2016-12-27

*** guoshan has joined #senlin00:04
*** guoshan has quit IRC00:09
*** catintheroof has quit IRC00:42
*** catintheroof has joined #senlin00:43
*** guoshan has joined #senlin01:05
*** guoshan has quit IRC01:10
*** guoshan has joined #senlin01:27
openstackgerritRUIJIE YUAN proposed openstack/senlin: revise event notification doc  https://review.openstack.org/41504601:28
*** Jeffrey4l has quit IRC01:39
*** yanyanhu has joined #senlin01:39
*** Jeffrey4l has joined #senlin01:39
*** chohoor has joined #senlin01:48
openstackgerritXueFeng Liu proposed openstack/senlin: Replace profile_type_xyz2 with profile_type_xyz  https://review.openstack.org/41481801:50
*** x00350071_ is now known as edisonxaing01:51
*** edisonxaing is now known as edisonxiang01:51
openstackgerritXueFeng Liu proposed openstack/senlin: Replace profile_xyz2 with profile_xyz  https://review.openstack.org/41481702:01
openstackgerritmiaohb proposed openstack/senlin: Replace profile_xyz2 with profile_xyz  https://review.openstack.org/41481702:07
openstackgerritmiaohb proposed openstack/senlin: Replace profile_xyz2 with profile_xyz  https://review.openstack.org/41481702:09
*** chohoor has quit IRC02:20
*** chohoor has joined #senlin02:20
fabian4yanyanhu, I have a question, How do you use health_policy ? Can you give me a doc or example ?02:21
yanyanhuhi, fabian4, let me check02:22
yanyanhuI recall there should be a reference document02:22
openstackgerritmiaohb proposed openstack/senlin: Replace profile_type_xyz2 with profile_type_xyz  https://review.openstack.org/41481802:23
yanyanhuhi, fabian4 sorry I didn't find the doc. I think it has not been ready :( But we do have a presentation about HA in Barcelona summit, let me find the link for you02:26
fabian4yanyanhu, ok, I want to test health_policy, but i don't how to do this02:27
fabian4i don't known how to do this02:28
yanyanhufabian4, let me have a look. myself is also not quite familiar with it :P02:28
yanyanhuhi, Qiming, can you give fabian4 more guide about this?02:29
yanyanhuhi, fabian4, I guess you can create a cluster first, then create a health policy using this example spec02:31
yanyanhuhttp://git.openstack.org/cgit/openstack/senlin/tree/examples/policies/health_policy_poll.yaml02:31
fabian4yanyanhu, I known this and i have finish create cluster , attach policy ,but i don't how can i test health_policy02:33
yanyanhumaybe you can kill a node VM by running nova delete?02:35
yanyanhusorry, just left for a while02:35
yanyanhufabian4, I guess for case detection type is "NODE_STATUS_POLLING" or "VM_LIFECYCLE_EVENTS", this failure should be detected by Senlin02:36
yanyanhuand that VM node should be rebooted or rebuilt02:37
fabian4yanyanhu, I use nova delete vm , but the health_policy nothing happened, I use senlin node-check the node status is error02:38
yanyanhuummm, so the failure is detected, but no reaction is taken02:38
yanyanhulet me think about it02:41
fabian4yanyanhu, ok, thanks02:41
yanyanhufabian4, my pleasure, just I'm not HA expert as qiming and xinhui, so not quite clear about the detail of the HA policy implementation02:42
openstackgerritMerged openstack/senlin: Replace webhook_trigger2 with webhook_trigger  https://review.openstack.org/41480302:42
openstackgerritMerged openstack/senlin: Replace receiver_xyz2 with receiver_xyz  https://review.openstack.org/41480002:43
yanyanhuhi, fabian4, I feel the workflow should be ok if you're using "NODE_STATUS_POLLING" detection type02:56
yanyanhuhttp://git.openstack.org/cgit/openstack/senlin/tree/senlin/engine/health_manager.py#n15702:56
yanyanhuand this: http://git.openstack.org/cgit/openstack/senlin/tree/senlin/engine/health_manager.py#n12802:56
openstackgerritShan Guo proposed openstack/senlin: Bumping the version of ClusterDelNodeRequest  https://review.openstack.org/41490102:57
yanyanhumaybe you can add some test log in those two places to check whether health status detection is performed as expected02:57
fabian4yanyanhu, ok,  I look at02:58
XueFengYanYan,around?03:16
openstackgerritMerged openstack/senlin: Replace profile_xyz2 with profile_xyz  https://review.openstack.org/41481703:18
openstackgerritMerged openstack/senlin: Use event_* to replace event_*2  https://review.openstack.org/41476103:18
openstackgerritMerged openstack/senlin: Use cluster_* to replace cluster_*2  https://review.openstack.org/41477903:18
openstackgerritMerged openstack/senlin: Use node_* to replace node_*2  https://review.openstack.org/41480203:18
yanyanhuhi, XueFeng03:21
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: [DNM]test openstacksdk-0.9.11  https://review.openstack.org/41507703:22
openstackgerritMerged openstack/senlin: Use policy_* to replace policy_*2  https://review.openstack.org/41483103:22
openstackgerritMerged openstack/senlin: Replace profile_type_xyz2 with profile_type_xyz  https://review.openstack.org/41481803:31
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: [DNM]test openstacksdk-0.9.11  https://review.openstack.org/41507703:33
XueFengopenstacksdk-0.9.11 was blocked.but in senlinclient we depend on 0,9,1103:35
XueFengrevert these four patches?Or wait?03:36
XueFengwait openstacksdk release new version?03:36
*** XueFeng has quit IRC03:46
*** XueFeng has joined #senlin03:47
openstackgerritShan Guo proposed openstack/python-senlinclient: Add parameter in CLUSTER_DEL_NODES action  https://review.openstack.org/41508403:52
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Revert "Revert "Get project_id and user_id when show profile""  https://review.openstack.org/41508904:07
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Revert "Revert "Revert "Fix `openstack  cluster profile validate` bug"""  https://review.openstack.org/41509004:08
*** chohoor has quit IRC04:12
openstackgerritMerged openstack/python-senlinclient: Revert "Revert "Revert "Fix `openstack  cluster profile validate` bug"""  https://review.openstack.org/41509004:28
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Trivial: Modify the description of policy validate  https://review.openstack.org/41392604:28
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Trivial: Modify the description of profile validate  https://review.openstack.org/41393904:29
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Updated from global requirements  https://review.openstack.org/41469104:29
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Add parameter in CLUSTER_DEL_NODES action  https://review.openstack.org/41508404:30
*** XueFeng has quit IRC04:42
*** XueFeng has joined #senlin04:42
yanyanhuhi, XueFeng, I think we should revert those changes04:55
yanyanhujust came back04:55
yanyanhuXueFeng, I think the first revert removes the dependency on openstacksdk0.9.1.1 for senlinclient04:57
yanyanhuhttps://review.openstack.org/41438804:57
yanyanhuthis one04:57
yanyanhuso why we need to block this change: https://review.openstack.org/41469104:57
*** Jeffrey4l has quit IRC04:57
*** Jeffrey4l has joined #senlin04:58
yanyanhusdk0.9.1104:59
QimingXueFeng, pls stop rebase patches at gerrit side unless you are 100% sure the rebased one will work05:00
Qimingit is causing a lot of problems05:00
Qimingthe rebased one has a commit id not appearing in local tree05:00
Qimingwhen the rebased version doesn't work, it is very difficult to fix05:00
openstackgerritMerged openstack/python-senlinclient: Updated from global requirements  https://review.openstack.org/41469105:21
*** guoshan has quit IRC05:22
openstackgerritMerged openstack/senlin: Request object for cluster-operation  https://review.openstack.org/41495005:22
openstackgerritQiming Teng proposed openstack/senlin: Action support to CLUSTER_OPERATION  https://review.openstack.org/41495105:25
*** XueFeng has quit IRC05:26
openstackgerritQiming Teng proposed openstack/senlin: Engine support to cluster-operation call  https://review.openstack.org/41495405:30
*** XueFeng has joined #senlin05:34
openstackgerritQiming Teng proposed openstack/senlin: API layer support to cluster-operation API  https://review.openstack.org/41495505:39
*** guoshan has joined #senlin06:09
XueFengYanYan, QiMing. Taking a nap just now:). Have revert patch https://review.openstack.org/#/c/415090/, then it works good.06:10
openstackgerritMerged openstack/python-senlinclient: Trivial: Modify the description of profile validate  https://review.openstack.org/41393906:13
*** guoshan has quit IRC06:19
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Trivial: Modify the description of policy validate  https://review.openstack.org/41392606:19
openstackgerritmiaohb proposed openstack/senlin: Trivial: modify the description of node op  https://review.openstack.org/41510906:19
*** guoshan has joined #senlin06:20
openstackgerritlvdongbing proposed openstack/senlin: Cover event dispatchers related opts in senlin.conf.sample  https://review.openstack.org/41511106:38
fabian4Qiming, I use senlin cluster attach health_policy, What will do in this policy? How can i test this policy ?06:58
fabian4Qiming, Please give me help , doc or example, thanks06:58
openstackgerritlvdongbing proposed openstack/senlin: Revise receiver request objects to forbid cluster_create action  https://review.openstack.org/41512807:21
Qimingfabian4, sorry, very busy at the moment07:23
Qimingyou can check the health_policy code and the health_manager code07:23
fabian4Qiming, ok,  Can you give me a health_policy  design   introduction doc ?07:27
Qimingread the code07:27
Qimingthe code/design is still evolving07:27
fabian4Qiming, ok07:28
Qimingno documentation for health policy yet07:29
Qiminghttp://git.openstack.org/cgit/openstack/senlin/tree/doc/source/user/policy_types07:29
ruijiehi Qiming, still for the notification07:32
Qimingyes07:33
ruijieall the notifications will be derived to an exchange called versioned_notifications?07:34
ruijiethe type is topic07:34
Qimingwhat?07:37
Qimingdon't understand you question07:37
Qimingwhat do you mean by "the type is topic" ?07:37
Qiminghttp://git.openstack.org/cgit/openstack/senlin/tree/senlin/common/messaging.py#n8707:37
Qimingtopics is "versioned_notifications"07:37
ruijieah.. not very familiar with rabbit07:38
openstackgerritShan Guo proposed openstack/senlin: Bumping the version of ClusterDelNodeRequest  https://review.openstack.org/41490107:39
Qimingit is oslo.messaging protocol07:39
Qimingalso read line 85-96 in http://git.openstack.org/cgit/openstack/senlin/tree/senlin/objects/notification.py07:40
ruijieasked about the exchange was because when I use "sudo rabbitmqctl list_exchanges name type arguments"07:40
ruijieit returned versioned_notificationstopic[]07:41
openstackgerritmiaohb proposed openstack/senlin: Revise the event.rst  https://review.openstack.org/41513908:00
QimingI see08:01
Qimingusually we stick to the oslo.messaging abstraction instead of going directly to the rabbitmq backend08:01
*** xuhaiwei has joined #senlin08:01
openstackgerritlvdongbing proposed openstack/senlin: Revise receiver request objects to forbid cluster_create action  https://review.openstack.org/41512808:16
openstackgerritMerged openstack/senlin: revise event notification doc  https://review.openstack.org/41504608:21
openstackgerritmiaohb proposed openstack/senlin: Revise parameter description in config.py  https://review.openstack.org/41514308:27
openstackgerritlvdongbing proposed openstack/senlin: Revise receiver request objects to forbid cluster_create action  https://review.openstack.org/41512808:34
openstackgerritlvdongbing proposed openstack/senlin: Revise receiver request objects to forbid cluster_create action  https://review.openstack.org/41512808:37
QimingXueFeng, online?08:44
openstackgerritShan Guo proposed openstack/senlin: Bumping the version of ClusterDelNodeRequest  https://review.openstack.org/41490108:56
XueFengQiMing, come back09:02
QimingXueFeng, when checking this patch, https://review.openstack.org/#/c/414729/09:03
QimingI saw you left a comment there09:03
Qimingwhat does it mean?09:03
XueFengOh, test fail no voting09:03
Qimingyou mean the coverage test?09:04
XueFengI mean why it fail and if we need fix?09:04
XueFengYes09:04
Qimingokay09:04
Qimingcould you please help check if it is reproducible?09:05
XueFengNot this patch's problem.09:05
XueFengOK09:05
Qimingthanks09:07
*** edisonxiang has quit IRC09:10
*** edisonxiang has joined #senlin09:10
fabian4I have a question, cluster status ERROR, How can i recover ?09:11
openstackgerritShan Guo proposed openstack/senlin: Bumping the version of ClusterDelNodeRequest  https://review.openstack.org/41490109:12
Qimingfabian4, what is the reason?09:15
fabian4Qiming, my cluster has node , I use senlin cluster-update profile , but appear error 'ERROR senlin.drivers.openstack.sdk AttributeError: 'Proxy' object has no attribute 'revert_resize_server'' the error i fix use commit ,but the cluster error i don't recovery09:17
Qimingcan you do a cluster-recover ?09:18
fabian4cluster-recover appear error "ValueError: Field `user' cannot be None"09:19
fabian4this error, i can't find fix commit09:20
Qimingwhere is the error thrown?09:21
QimingI mean the "ValueError: Field `user' cannot be None"09:21
fabian4Qiming, http://paste.ubuntu.com/23693368/09:22
XueFengfabian4, use  senlin cluster-list  to look cluster info09:24
Qiminglooks like the action object doesn't have 'user' field assgined09:24
fabian4XueFeng, | 7c48188a | cluster_one | ERROR  | 2016-12-26T03:16:03Z | 2016-12-27T09:00:04Z |09:24
XueFengoh, action table09:25
*** XueFeng has quit IRC09:27
Qimingsenlin -d action-show 17ea210709:28
*** XueFeng has joined #senlin09:28
fabian4Qiming, CLUSTER_RECOVER [17ea2107] failed09:31
Qiming...09:31
Qimingplease paste the output of the command I show you, okay?09:31
QimingI know it failed09:32
fabian4Qiming, http://paste.ubuntu.com/23693397/09:32
QimingI mean the complete output09:32
Qimingthat is why I added '-d' above09:32
QimingI want to see the exact JSON struct09:33
Qimingbecause SDK is marking out user/user_id field for stupid reasons09:33
fabian4Qiming, http://paste.ubuntu.com/23693400/09:33
fabian4sorry09:33
Qimingsigh ...09:35
XueFengQiMing, project and user show in action-show client have problem.In process09:35
Qimingyour version is a little big behind the master09:35
Qimingproject and user are not exposed09:35
XueFengWe can see db  in shell09:36
Qimingthe user/project info was just added 3 days ago: http://git.openstack.org/cgit/openstack/senlin/commit/senlin/engine/actions/base.py?id=3322ab5f018e119d3b92571d6ce174e34be5d42209:39
*** edisonxiang has quit IRC09:39
XueFengen09:39
*** edisonxiang has joined #senlin09:40
XueFengFabian4,try this:09:41
XueFengsu stack09:41
fabian4ok09:41
XueFengmysql09:41
XueFenguse senlin09:41
fabian4XueFeng,  I use Qiming url update code09:41
fabian4XueFeng, you mean update database cluster status ?09:42
openstackgerritQiming Teng proposed openstack/senlin: Fix sample health policy yaml files  https://review.openstack.org/41517009:42
XueFengI mean you can query in db shell.09:42
XueFengAlso you can use url update code by QiMing09:42
Qimingthe sdk side support is still pending09:45
Qiminghttps://review.openstack.org/#/c/414680/09:45
Qimingapproved09:46
QimingI'm curious how could the 'user' field of an action is NULL in database ...09:49
Qimingwe have logics to check that09:50
Qiminghttp://git.openstack.org/cgit/openstack/senlin/tree/senlin/engine/service.py#n140109:51
Qimingthere is a possibility that the request comes from the internal health_manager where the user, project fields of context are None09:51
Qimingif the request comes from user command, how could 'user' field become None ...?09:52
*** x00350071_ has joined #senlin09:54
*** edisonxiang has quit IRC09:54
fabian4Qiming, XueFeng I recover  succeed, but cluster-update appear error  http://paste.ubuntu.com/23693518/10:10
fabian4cluster-update profile10:10
Qimingpaste your complete command10:11
fabian4execute command "  senlin cluster-update -p 026439d7-0eee-46e2-9d9a-a8837d7120ca 7c48188a-fa4a-44ab-8fc7-78c6e46c6912"10:12
XueFengQiMing profie name null happened before.10:13
XueFenghttps://review.openstack.org/#/c/409426/2/senlin/engine/service.py10:13
Qimingit is irrelevant, XueFeng10:15
Qimingwhen SDK is doing a PATCH call, it is sending cluster id in the body10:16
Qimingwhat is your openstacksdk version, fabian4 ?10:16
*** XueFeng has quit IRC10:16
*** XueFeng has joined #senlin10:17
fabian4Qiming, openstacksdk (0.9.10)10:17
Qimingwhat is your senlinclient version?10:29
fabian4Qiming, senlinclint use master branch10:31
Qimingit seems not10:31
Qimingdo a 'pip list | grep senlinclient'10:31
Qimingwhat is the version you are seeing?10:32
fabian4Qiming, senlinclient.__version__10:32
fabian4'1.0.1'10:32
*** yanyanhu has quit IRC10:33
Qiming...10:33
fabian4python-senlinclient (1.0.1.dev14, /opt/python-senlinclient_code)10:33
Qimingright10:33
Qimingyou will need some patches10:33
Qimingit is not the latest code10:34
Qiminghttp://git.openstack.org/cgit/openstack/python-senlinclient/commit/?id=3a120b0791bdcdc2b0fab55df3d2cdfafd497bbd10:34
Qimingyou will need to10:34
Qimingcd /opt/python-senlinclient_code10:34
Qiminggit pull10:34
Qimingsudo pip install -e .10:35
fabian4ok10:35
Qimingthen everything should be okay10:35
Qiminghave to run now10:35
Qimingbe10:35
Qimingbye10:35
fabian4thanks10:36
*** XueFeng has quit IRC10:45
*** XueFeng has joined #senlin10:49
openstackgerritlvdongbing proposed openstack/senlin: Revise receiver request objects to forbid cluster_create action  https://review.openstack.org/41512810:49
openstackgerritShu Muto proposed openstack/senlin-dashboard: Address receiver panel to recent Horizon framework  https://review.openstack.org/41490010:49
openstackgerritShu Muto proposed openstack/senlin-dashboard: Add create action into Receiver panel  https://review.openstack.org/41518310:50
*** guoshan has quit IRC10:50
*** x00350071_ is now known as edisonxiang10:55
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Add cluster-list columns checking  https://review.openstack.org/41518511:02
*** XueFeng has quit IRC11:03
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: This patch adds cluster-node-list colunms checking. To make sure each element in cluster-node-list columns is a propertiy of sdk_node.Node.  https://review.openstack.org/41518611:03
*** XueFeng has joined #senlin11:03
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Update imoprt order  https://review.openstack.org/41518711:04
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Add node-list columns checking  https://review.openstack.org/41518811:05
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Add cluster-node-list columns checking  https://review.openstack.org/41518611:07
*** XueFeng has quit IRC11:09
*** XueFeng has joined #senlin11:09
XueFengYanYan,QiMing, 9:00pm have other things tonight. Ask for leave tonight's meeting:(11:11
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Add cluster-list columns checking  https://review.openstack.org/41518511:12
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Add cluster-node-list columns checking  https://review.openstack.org/41518611:15
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Add node-list columns checking  https://review.openstack.org/41518811:15
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Add cluster-list columns checking  https://review.openstack.org/41518511:18
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Add cluster-node-list columns checking  https://review.openstack.org/41518611:18
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Add node-list columns checking  https://review.openstack.org/41518811:19
ruijieQiming, still didn't find the routing key of the topic "versioned_notifications", since it is a required property to bind the topic with consumer queue11:32
ruijie:( ... is it a user specified property or the oslo.messing will set it ?11:32
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Add cluster-node-list columns checking  https://review.openstack.org/41518611:34
openstackgerritMerged openstack/python-senlinclient: Trivial: Modify the description of policy validate  https://review.openstack.org/41392611:37
*** guoshan has joined #senlin11:51
*** guoshan has quit IRC11:56
*** elynn has joined #senlin12:27
*** guoshan has joined #senlin12:52
*** guoshan has quit IRC12:56
*** elynn has quit IRC13:00
*** lxinhui has joined #senlin13:01
*** lxinhui has quit IRC13:01
*** yanyanhu has joined #senlin13:02
yanyanhuhi, guys, meeting has started13:02
yanyanhuhi, Qiming, XueFeng, xuhaiwei, around?13:03
*** elynn has joined #senlin13:06
*** elynn_ has joined #senlin13:28
*** elynn has quit IRC13:29
*** x00350071_ has joined #senlin13:38
*** edisonxiang has quit IRC13:38
*** elynn__ has joined #senlin13:41
*** elynn_ has quit IRC13:42
*** guoshan has joined #senlin13:53
*** guoshan has quit IRC13:58
yanyanhuQiming, I think we can have a discussion tomorrow about the PTG14:01
yanyanhua meetup actually :)14:01
QimingPTG is a meetup14:01
yanyanhufind a place to talk14:01
Qimingthe original design was too .... unrealistic14:01
yanyanhuand have a dinner together :)14:01
Qimingit has be demoted to a meetup14:02
yanyanhuif most people can join14:02
yanyanhu:)14:02
Qimingya14:02
yanyanhuok, so will talk to you guys tomorrow14:02
Qimingok14:02
yanyanhusee U14:03
Qimingdon't know if haiwei wants to fly here or not14:03
Qiming:D14:03
yanyanhuhaha14:03
yanyanhuhope so but really not sure14:03
Qimingme too14:03
yanyanhubye14:03
*** yanyanhu has quit IRC14:03
*** elynn__ has quit IRC14:04
*** rate has joined #senlin14:40
openstackgerritQiming Teng proposed openstack/senlin: Optimize notification to use its own transport  https://review.openstack.org/41524414:49
*** guoshan has joined #senlin14:53
*** guoshan has quit IRC14:58
*** rate has quit IRC15:01
*** Jeffrey4l has quit IRC15:02
*** Jeffrey4l has joined #senlin15:09
*** Jeffrey4l has quit IRC15:12
*** Jeffrey4l has joined #senlin15:13
*** guoshan has joined #senlin15:54
*** guoshan has quit IRC15:59
openstackgerritXueFeng Liu proposed openstack/python-senlinclient: Update imoprt order  https://review.openstack.org/41518716:36
*** guoshan has joined #senlin16:55
*** guoshan has quit IRC17:00
*** guoshan has joined #senlin17:56
*** guoshan has quit IRC18:00
*** Drago has joined #senlin18:33
*** guoshan has joined #senlin18:56
*** guoshan has quit IRC19:01
*** guoshan has joined #senlin19:57
*** guoshan has quit IRC20:02
*** Jeffrey4l has quit IRC20:30
*** Jeffrey4l_ has joined #senlin20:31
*** XueFeng has quit IRC20:48
*** XueFeng has joined #senlin20:48
*** guoshan has joined #senlin20:58
*** guoshan has quit IRC21:03
*** Jeffrey4l_ has quit IRC21:35
*** Jeffrey4l_ has joined #senlin21:36
*** XueFeng has quit IRC21:45
*** XueFeng has joined #senlin21:46
*** guoshan has joined #senlin21:59
*** guoshan has quit IRC22:03
*** guoshan has joined #senlin23:00
*** guoshan has quit IRC23:04

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