| *** stevemar_ has joined #openstack-trove | 00:00 | |
| *** haomaiwang has quit IRC | 00:01 | |
| *** haomaiwang has joined #openstack-trove | 00:01 | |
| *** itisha has quit IRC | 00:01 | |
| *** mingdang1 has joined #openstack-trove | 00:34 | |
| *** stevemar_ has quit IRC | 00:42 | |
| *** stevemar_ has joined #openstack-trove | 00:44 | |
| *** stevemar_ has quit IRC | 00:49 | |
| *** jengeb has quit IRC | 00:52 | |
| *** haomaiwang has quit IRC | 01:01 | |
| *** haomaiwang has joined #openstack-trove | 01:01 | |
| *** mingdang1 has quit IRC | 01:25 | |
| *** haomaiwang has quit IRC | 01:28 | |
| *** bapalm has quit IRC | 01:29 | |
| *** serverascode has quit IRC | 01:32 | |
| *** zacksh has quit IRC | 01:33 | |
| *** eglute has quit IRC | 01:33 | |
| *** zacksh has joined #openstack-trove | 01:35 | |
| *** eglute has joined #openstack-trove | 01:38 | |
| *** serverascode has joined #openstack-trove | 01:39 | |
| *** bapalm has joined #openstack-trove | 01:56 | |
| *** bapalm has quit IRC | 02:04 | |
| *** mingdang1 has joined #openstack-trove | 02:15 | |
| *** mingdang1 has quit IRC | 02:16 | |
| *** mingdang1 has joined #openstack-trove | 02:16 | |
| *** amit213 has quit IRC | 02:27 | |
| *** amit213 has joined #openstack-trove | 02:27 | |
| *** haomaiwang has joined #openstack-trove | 02:45 | |
| *** haomaiwang has quit IRC | 02:48 | |
| *** 20WACHN4K has joined #openstack-trove | 02:49 | |
| *** itisha has joined #openstack-trove | 02:57 | |
| *** 20WACHN4K has quit IRC | 03:01 | |
| *** haomaiwang has joined #openstack-trove | 03:01 | |
| *** csoukup has joined #openstack-trove | 03:48 | |
| *** haomaiwang has quit IRC | 03:51 | |
| *** haomaiwang has joined #openstack-trove | 03:51 | |
| *** haomaiwang has quit IRC | 04:01 | |
| *** haomaiwang has joined #openstack-trove | 04:01 | |
| *** links has joined #openstack-trove | 04:11 | |
| *** haomaiwang has quit IRC | 05:01 | |
| *** haomaiwang has joined #openstack-trove | 05:01 | |
| *** itisha has quit IRC | 05:11 | |
| *** _amrith_ is now known as amrith | 05:45 | |
| *** amrith is now known as _amrith_ | 05:54 | |
| *** haomaiwang has quit IRC | 06:01 | |
| *** haomaiwang has joined #openstack-trove | 06:01 | |
| *** stevemar_ has joined #openstack-trove | 06:11 | |
| *** stevemar_ has quit IRC | 06:14 | |
| *** rcernin has joined #openstack-trove | 06:16 | |
| *** shakamunyi has joined #openstack-trove | 06:21 | |
| *** krugg has quit IRC | 06:27 | |
| *** krugg has joined #openstack-trove | 06:28 | |
| *** dhellmann has quit IRC | 06:28 | |
| *** dhellmann has joined #openstack-trove | 06:28 | |
| *** dhellmann has quit IRC | 06:34 | |
| *** dhellmann has joined #openstack-trove | 06:34 | |
| *** shakamunyi has quit IRC | 06:39 | |
| *** csoukup has quit IRC | 06:49 | |
| *** shakamunyi has joined #openstack-trove | 06:53 | |
| *** k4n0 has joined #openstack-trove | 06:58 | |
| *** arist has quit IRC | 06:58 | |
| *** arist has joined #openstack-trove | 06:59 | |
| *** haomaiwang has quit IRC | 07:01 | |
| *** haomaiwang has joined #openstack-trove | 07:01 | |
| *** zacksh_ has joined #openstack-trove | 07:09 | |
| *** zacksh has quit IRC | 07:15 | |
| *** sgotliv_ has quit IRC | 07:19 | |
| *** imandhan has joined #openstack-trove | 07:30 | |
| *** imandhan has quit IRC | 07:34 | |
| *** haomaiwang has quit IRC | 08:01 | |
| *** haomaiwang has joined #openstack-trove | 08:01 | |
| *** tobe has joined #openstack-trove | 08:34 | |
| *** akanksha_ has joined #openstack-trove | 08:40 | |
| *** khushbu_ has joined #openstack-trove | 08:41 | |
| *** exploreshaifali has joined #openstack-trove | 08:50 | |
| *** haomaiwang has quit IRC | 09:01 | |
| *** haomaiwang has joined #openstack-trove | 09:01 | |
| *** sgotliv_ has joined #openstack-trove | 09:06 | |
| *** csoukup has joined #openstack-trove | 09:44 | |
| *** tobe has quit IRC | 09:44 | |
| *** tobe has joined #openstack-trove | 09:45 | |
| *** csoukup has quit IRC | 09:49 | |
| *** haomaiwang has quit IRC | 10:01 | |
| *** haomaiwang has joined #openstack-trove | 10:01 | |
| *** jengeb has joined #openstack-trove | 10:04 | |
| *** openstackgerrit has quit IRC | 10:16 | |
| *** openstackgerrit has joined #openstack-trove | 10:16 | |
| *** tobe has quit IRC | 10:36 | |
| *** exploreshaifali has quit IRC | 10:49 | |
| *** mingdang1 has quit IRC | 10:51 | |
| *** exploreshaifali has joined #openstack-trove | 10:52 | |
| *** mingdang1 has joined #openstack-trove | 10:53 | |
| *** haomaiwang has quit IRC | 11:01 | |
| *** haomaiwang has joined #openstack-trove | 11:01 | |
| *** tosky has joined #openstack-trove | 11:06 | |
| *** stevemar_ has joined #openstack-trove | 11:12 | |
| *** khushbu_ has quit IRC | 11:14 | |
| *** stevemar_ has quit IRC | 11:15 | |
| *** khushbu_ has joined #openstack-trove | 11:18 | |
| *** links has quit IRC | 11:21 | |
| *** exploreshaifali has quit IRC | 11:28 | |
| *** jengeb has quit IRC | 11:43 | |
| *** khushbu_ has quit IRC | 11:43 | |
| openstackgerrit | OpenStack Proposal Bot proposed openstack/trove: Updated from global requirements https://review.openstack.org/245732 | 11:50 |
|---|---|---|
| *** _amrith_ is now known as amrith | 11:54 | |
| *** links has joined #openstack-trove | 11:55 | |
| *** links has quit IRC | 11:59 | |
| *** haomaiwang has quit IRC | 12:01 | |
| *** haomaiwa_ has joined #openstack-trove | 12:01 | |
| *** khushbu_ has joined #openstack-trove | 12:10 | |
| openstackgerrit | amrith proposed openstack/python-troveclient: Time to get rid of any last vestiges of slave_of https://review.openstack.org/245738 | 12:15 |
| *** akanksha_ has quit IRC | 12:18 | |
| *** sgotliv_ has quit IRC | 12:19 | |
| *** mingdang1 has quit IRC | 12:20 | |
| *** pmackinn has joined #openstack-trove | 12:20 | |
| *** sgotliv_ has joined #openstack-trove | 12:21 | |
| *** jengeb has joined #openstack-trove | 12:23 | |
| *** jengeb has quit IRC | 12:27 | |
| *** openstack has joined #openstack-trove | 12:48 | |
| *** mugsie_ is now known as mugsie | 12:55 | |
| *** haomaiwa_ has quit IRC | 13:01 | |
| *** haomaiwang has joined #openstack-trove | 13:01 | |
| *** exploreshaifali has joined #openstack-trove | 13:12 | |
| *** jengeb has joined #openstack-trove | 13:16 | |
| *** jengeb has quit IRC | 13:21 | |
| openstackgerrit | Dina Belova proposed openstack/trove: == WIP == Do not use api-paste.ini osprofiler options https://review.openstack.org/245081 | 13:24 |
| *** jengeb has joined #openstack-trove | 13:24 | |
| *** khushbu_ has quit IRC | 13:30 | |
| *** k4n0 has quit IRC | 13:31 | |
| *** stevemar_ has joined #openstack-trove | 13:33 | |
| *** jengeb has quit IRC | 13:34 | |
| *** mingdang1 has joined #openstack-trove | 13:37 | |
| *** jengeb has joined #openstack-trove | 13:38 | |
| *** khushbu has joined #openstack-trove | 13:40 | |
| *** haomaiwang has quit IRC | 13:40 | |
| *** jengeb1 has joined #openstack-trove | 13:40 | |
| *** jengeb has quit IRC | 13:44 | |
| *** amrith is now known as _amrith_ | 13:48 | |
| *** zhiyan has quit IRC | 13:53 | |
| *** khushbu has quit IRC | 13:54 | |
| *** zhiyan has joined #openstack-trove | 13:54 | |
| *** jengeb1 has quit IRC | 13:54 | |
| *** jengeb has joined #openstack-trove | 13:57 | |
| *** khushbu_ has joined #openstack-trove | 14:04 | |
| *** jengeb has quit IRC | 14:06 | |
| *** jengeb has joined #openstack-trove | 14:08 | |
| *** itisha has joined #openstack-trove | 14:11 | |
| *** jengeb has quit IRC | 14:12 | |
| *** jengeb has joined #openstack-trove | 14:15 | |
| *** haomaiwang has joined #openstack-trove | 14:17 | |
| *** jengeb has quit IRC | 14:21 | |
| *** khushbu_ has quit IRC | 14:21 | |
| *** jengeb has joined #openstack-trove | 14:23 | |
| *** logan2 has quit IRC | 14:37 | |
| *** daemontool_ has joined #openstack-trove | 14:38 | |
| *** csoukup has joined #openstack-trove | 14:41 | |
| *** bapalm has joined #openstack-trove | 14:51 | |
| *** bapalm has quit IRC | 14:53 | |
| mvandijk_ | SlickNik, cp16net - who knows about how these fake tests work? I'm trying to test code implementing https://review.openstack.org/#/c/244766/ but it seems to have changed the timing of things, and the backup tests are now failing | 15:01 |
| *** haomaiwang has quit IRC | 15:01 | |
| *** haomaiwang has joined #openstack-trove | 15:01 | |
| *** bapalm has joined #openstack-trove | 15:04 | |
| *** _amrith_ is now known as amrith | 15:09 | |
| *** csoukup has quit IRC | 15:11 | |
| *** mingdang1 has quit IRC | 15:12 | |
| *** mingdang1 has joined #openstack-trove | 15:13 | |
| *** mingdang1 has quit IRC | 15:14 | |
| *** csoukup has joined #openstack-trove | 15:21 | |
| amrith | mvandijk_, I can fake knowing about it ... | 15:37 |
| mvandijk_ | are a lot of the tests timing dependant? | 15:38 |
| mvandijk_ | looks to me like we rely a lot on timing | 15:39 |
| mvandijk_ | eg the AfterBackupCreation class in tests/api/backups.py | 15:39 |
| mvandijk_ | says it runs after createbackups | 15:39 |
| mvandijk_ | and it runs some tests that pass only if the instance is still in BACKUP status | 15:40 |
| mvandijk_ | but the switch from BACKUP to ACTIVE is not controlled, seems to just be based on a timer | 15:40 |
| mvandijk_ | and the eventlet stuff ticks it down for us | 15:40 |
| mvandijk_ | the oslo_db library has a sleep(0) in it (don't as me why) that seems to add an extra tick | 15:41 |
| amrith | answers ... in order | 15:41 |
| mvandijk_ | and is breaking the test | 15:41 |
| amrith | 1. yes | 15:41 |
| amrith | 2. yes | 15:41 |
| amrith | 3. there is some fragility in this infrastructure | 15:41 |
| mvandijk_ | but i cant figure out how to delay it properly - i tried editing the 1.0 timer on trove/tests/fakes/guestagent.py create_backup() but it doesn't seem to work | 15:42 |
| amrith | so, a lot of tests attempt to fake time() and sleep() in very peculiar ways. | 15:42 |
| amrith | and we've fought with this quite a bit | 15:42 |
| amrith | so, the commit you mention (244766) appears to pass. | 15:43 |
| amrith | heck, it even merged | 15:43 |
| amrith | so what's the issue now? | 15:43 |
| mvandijk_ | that is a spec | 15:43 |
| amrith | good point | 15:44 |
| mvandijk_ | my code isn't passing the fake tests | 15:44 |
| mvandijk_ | int tests are clean though ;( | 15:44 |
| *** tellesnobrega is now known as tellesnobrega_af | 15:44 | |
| *** tellesnobrega_af is now known as tellesnobrega | 15:45 | |
| *** exploreshaifali has quit IRC | 15:47 | |
| openstackgerrit | amrith proposed openstack/trove: Time to get rid of any last vestiges of slave_of https://review.openstack.org/245845 | 15:49 |
| openstackgerrit | amrith proposed openstack/python-troveclient: Time to get rid of any last vestiges of slave_of https://review.openstack.org/245738 | 15:50 |
| *** sabeen1 has joined #openstack-trove | 15:59 | |
| *** haomaiwang has quit IRC | 16:01 | |
| *** jengeb has quit IRC | 16:01 | |
| *** haomaiwang has joined #openstack-trove | 16:01 | |
| *** HimanshuGarg has joined #openstack-trove | 16:15 | |
| *** sabeen2 has joined #openstack-trove | 16:16 | |
| *** sabeen1 has quit IRC | 16:20 | |
| *** arist has left #openstack-trove | 16:45 | |
| *** tellesnobrega is now known as tellesnobrega_af | 16:49 | |
| cp16net | mvandijk_: hey | 16:54 |
| cp16net | so i figured you might have trouble with that not being just a plugin replacement | 16:55 |
| cp16net | take a look at the event simulator code | 16:55 |
| cp16net | and the log doc i typed up at the top of it | 16:56 |
| cp16net | that should give an overview of how event simulator works and that leads to how fake mode works as well | 16:56 |
| mvandijk_ | yeah I read that, and that helped solve the initial problem of endless "Sleeping for no reason" messages | 17:00 |
| mvandijk_ | had to add a special case for sleep(0)'s - basically thread switches without a delay | 17:00 |
| *** haomaiwang has quit IRC | 17:01 | |
| *** imandhan has joined #openstack-trove | 17:01 | |
| *** 18WAA5P6F has joined #openstack-trove | 17:01 | |
| mvandijk_ | oslo_db have this comment https://github.com/openstack/oslo.db/blob/master/oslo_db/sqlalchemy/engines.py#L41-L50 | 17:01 |
| mvandijk_ | cp16net: ^^ | 17:01 |
| mvandijk_ | cp16net: any idea how the conductor works in the fake tests? | 17:03 |
| mvandijk_ | it seems that the instance is switching status on me | 17:03 |
| mvandijk_ | cant figure out what is driving it though | 17:03 |
| mvandijk_ | like, the backup goes to COMPLETE, which is fine, but then I don't know at what point the instance status updates | 17:04 |
| mvandijk_ | from BACKUP to ACTIVE | 17:04 |
| cp16net | so i think in fake mode | 17:05 |
| cp16net | there are fakes we wrote | 17:05 |
| cp16net | that track the state with these instead of the db | 17:06 |
| *** ashleighfarnham has joined #openstack-trove | 17:10 | |
| *** jengeb has joined #openstack-trove | 17:11 | |
| *** tosky_ has joined #openstack-trove | 17:13 | |
| *** tosky has quit IRC | 17:16 | |
| openstackgerrit | Petr Malik proposed openstack/trove-specs: PostgreSQL Configuration Groups https://review.openstack.org/245893 | 17:18 |
| *** logan2 has joined #openstack-trove | 17:20 | |
| openstackgerrit | Peter Stachowski proposed openstack/trove: Refactor the datastore manager classes (more) https://review.openstack.org/234462 | 17:20 |
| pmalik_ | SlickNik, cp16net, vkmc A spec waiting for one more +2: https://review.openstack.org/#/c/243314/ Thx! | 17:27 |
| *** tosky_ is now known as tosky | 17:27 | |
| *** ViswaV has quit IRC | 17:32 | |
| *** ViswaV has joined #openstack-trove | 17:34 | |
| *** csoukup has quit IRC | 17:35 | |
| cp16net | pmalik_: done | 17:37 |
| *** rcernin has quit IRC | 17:42 | |
| openstackgerrit | Merged openstack/trove-specs: Add 'volume_type' parameter to instance create https://review.openstack.org/243314 | 17:50 |
| cp16net | edmondk: SlickNik vkmc please take a look at this https://review.openstack.org/#/c/241810/ | 18:00 |
| *** 18WAA5P6F has quit IRC | 18:01 | |
| *** haomaiwang has joined #openstack-trove | 18:01 | |
| amrith | heads-up all ... #openstack-infra reports that there are a couple of unhappy jenkins masters and therefore the gate and check queues are a bit behind. | 18:03 |
| *** tosky has quit IRC | 18:07 | |
| *** rcernin has joined #openstack-trove | 18:11 | |
| *** pmackinn is now known as pmackinn-afk | 18:22 | |
| cp16net | amrith: they were working on it on friday afternoon | 18:23 |
| amrith | cp16net, this was as of a couple of minutes before 1pm eastern today | 18:26 |
| amrith | see #openstack-infra ~12:56 today. | 18:26 |
| amrith | http://eavesdrop.openstack.org/irclogs/%23openstack-infra/latest.log#t2015-11-16T17:56:34 | 18:27 |
| amrith | http://eavesdrop.openstack.org/irclogs/%23openstack-infra/latest.log#t2015-11-16T17:59:47 | 18:27 |
| amrith | cp16net ^^ | 18:27 |
| cp16net | ok | 18:28 |
| cp16net | amrith: mind looking over my pxc grow/shirnk cluster spec? | 18:29 |
| amrith | cp16net it is very small, I was waiting for it to grow a bit | 18:29 |
| amrith | ;) | 18:29 |
| amrith | will do that | 18:29 |
| cp16net | thanks | 18:30 |
| *** sabeen2 has quit IRC | 18:35 | |
| amrith | cp16net some minor comments. Given that the spec builds on the existing grow/shrink, I'll go and read those and post more comments if I feel there may be issues. for now, none. | 18:38 |
| cp16net | amrith: thanks! | 18:55 |
| *** sgotliv_ has quit IRC | 18:57 | |
| *** sabeen has joined #openstack-trove | 19:00 | |
| *** haomaiwang has quit IRC | 19:01 | |
| *** haomaiwang has joined #openstack-trove | 19:01 | |
| *** sabeen3 has joined #openstack-trove | 19:03 | |
| *** Guest29831 is now known as mfisch | 19:04 | |
| *** mfisch is now known as Guest80875 | 19:04 | |
| *** sabeen has quit IRC | 19:05 | |
| *** johnma has joined #openstack-trove | 19:10 | |
| *** itisha has quit IRC | 19:11 | |
| *** bhaskarduvvuri has joined #openstack-trove | 19:15 | |
| *** jengeb1 has joined #openstack-trove | 19:19 | |
| *** jengeb has quit IRC | 19:22 | |
| *** bhaskarduvvuri has quit IRC | 19:35 | |
| *** khushbu has joined #openstack-trove | 19:48 | |
| openstackgerrit | Petr Malik proposed openstack/trove: Finish cluster int-tests https://review.openstack.org/244176 | 19:50 |
| openstackgerrit | Craig Vyvial proposed openstack/trove-specs: Percona XtraDB Cluster Grow and Shrink Spec https://review.openstack.org/245356 | 19:52 |
| *** TaiSHi has quit IRC | 19:55 | |
| *** TaiSHi has joined #openstack-trove | 19:57 | |
| openstackgerrit | Craig Vyvial proposed openstack/python-troveclient: configuration-* cli allow name of configuration group entered https://review.openstack.org/233998 | 19:58 |
| *** rcernin has quit IRC | 19:58 | |
| *** haomaiwang has quit IRC | 20:01 | |
| *** haomaiwang has joined #openstack-trove | 20:01 | |
| *** IanGovett has joined #openstack-trove | 20:03 | |
| *** csoukup has joined #openstack-trove | 20:14 | |
| *** itisha has joined #openstack-trove | 20:18 | |
| *** pmackinn-afk is now known as pmackinn | 20:23 | |
| openstackgerrit | Petr Malik proposed openstack/python-troveclient: Add 'volume_type' parameter to instance create https://review.openstack.org/245970 | 20:37 |
| openstackgerrit | Petr Malik proposed openstack/trove: Add 'volume_type' parameter to instance create https://review.openstack.org/245971 | 20:37 |
| *** csoukup has quit IRC | 20:40 | |
| *** csoukup has joined #openstack-trove | 20:42 | |
| *** IanGovett has quit IRC | 20:44 | |
| *** lgreg1 has quit IRC | 20:46 | |
| *** grapex has joined #openstack-trove | 20:46 | |
| *** khushbu has quit IRC | 20:49 | |
| *** haomaiwang has quit IRC | 21:01 | |
| *** haomaiwang has joined #openstack-trove | 21:01 | |
| openstackgerrit | Matthew Van Dijk proposed openstack/trove: Move to oslo_db https://review.openstack.org/245980 | 21:02 |
| openstackgerrit | Merged openstack/trove-specs: Addition of DB2 backup and restore https://review.openstack.org/236065 | 21:08 |
| *** sgotliv_ has joined #openstack-trove | 21:08 | |
| *** sgotliv_ has quit IRC | 21:30 | |
| openstackgerrit | Ishita Mandhan proposed openstack/trove: Addition of DB2 backup and restore https://review.openstack.org/240320 | 21:49 |
| *** haomaiwang has quit IRC | 22:01 | |
| *** haomaiwang has joined #openstack-trove | 22:01 | |
| *** grapex has quit IRC | 22:03 | |
| *** crobertsrh is now known as _crobertsrh | 22:13 | |
| *** jengeb1 has quit IRC | 22:18 | |
| *** amrith is now known as _amrith_ | 22:19 | |
| *** IanGovett has joined #openstack-trove | 22:24 | |
| *** johnma has quit IRC | 22:29 | |
| *** saurabhs has joined #openstack-trove | 22:38 | |
| *** jwang_ has joined #openstack-trove | 22:51 | |
| *** ViswaV_ has joined #openstack-trove | 22:51 | |
| *** pmackinn_ has joined #openstack-trove | 22:52 | |
| *** ViswaV has quit IRC | 22:52 | |
| *** dmitryme has quit IRC | 22:52 | |
| *** _crobertsrh has quit IRC | 22:53 | |
| *** crobertsrh has joined #openstack-trove | 22:54 | |
| *** pmackinn has quit IRC | 22:54 | |
| *** mat-lowery has quit IRC | 22:54 | |
| *** pmalik_ has quit IRC | 22:54 | |
| *** kanzaros has quit IRC | 22:54 | |
| *** jwang__ has quit IRC | 22:54 | |
| *** mugsie has quit IRC | 22:54 | |
| *** peterstac has quit IRC | 22:54 | |
| *** mat-lowery has joined #openstack-trove | 22:55 | |
| *** mugsie has joined #openstack-trove | 22:56 | |
| *** _imandhan_ has joined #openstack-trove | 22:58 | |
| *** Guest80875 has quit IRC | 22:58 | |
| *** mfisch has joined #openstack-trove | 22:58 | |
| *** mfisch is now known as Guest73509 | 22:59 | |
| *** crobertsrh1 has joined #openstack-trove | 22:59 | |
| *** peterstac has joined #openstack-trove | 22:59 | |
| *** dmitryme has joined #openstack-trove | 23:00 | |
| *** kanzaros has joined #openstack-trove | 23:00 | |
| *** haomaiwang has quit IRC | 23:01 | |
| *** pmalik has joined #openstack-trove | 23:01 | |
| *** haomaiwa_ has joined #openstack-trove | 23:02 | |
| *** raginbaj- has joined #openstack-trove | 23:06 | |
| *** abramley_ has joined #openstack-trove | 23:06 | |
| *** crobertsrh has quit IRC | 23:06 | |
| *** IanGovett has quit IRC | 23:06 | |
| *** imandhan has quit IRC | 23:06 | |
| *** raginbajin has quit IRC | 23:06 | |
| *** abramley has quit IRC | 23:06 | |
| *** lifeless has quit IRC | 23:06 | |
| *** abramley_ is now known as abramley | 23:06 | |
| *** raginbaj- is now known as raginbajin | 23:07 | |
| *** lifeless has joined #openstack-trove | 23:09 | |
| *** Guest73509 is now known as Guest80875 | 23:16 | |
| *** csoukup has quit IRC | 23:20 | |
| *** tellesnobrega_af is now known as tellesnobrega | 23:28 | |
| *** sabeen3 has quit IRC | 23:54 | |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!