*** xarses_ has quit IRC | 00:04 | |
*** tdasilva has joined #puppet-openstack | 00:05 | |
*** ntpttr_laptop has joined #puppet-openstack | 00:05 | |
*** mwhahaha has joined #puppet-openstack | 00:05 | |
*** simonmcc has quit IRC | 00:07 | |
*** simonmcc has joined #puppet-openstack | 00:08 | |
*** rrutkowski_ has joined #puppet-openstack | 00:08 | |
*** rrutkowski has quit IRC | 00:08 | |
*** Kvisle has joined #puppet-openstack | 00:10 | |
openstackgerrit | Merged openstack/puppet-glance stable/pike: Add swift_store_large_object_chunk_size parameter https://review.openstack.org/526681 | 00:11 |
---|---|---|
*** rrutkowski_ has quit IRC | 00:26 | |
*** rrutkowski has joined #puppet-openstack | 00:28 | |
*** vnogin has quit IRC | 00:29 | |
*** ntpttr_laptop has quit IRC | 00:34 | |
openstackgerrit | Oliver Walsh proposed openstack/puppet-nova master: WIP: Run nova-manage commands as the nova user https://review.openstack.org/498723 | 00:40 |
openstackgerrit | Oliver Walsh proposed openstack/puppet-nova master: WIP: Run nova-manage commands as the nova user https://review.openstack.org/498723 | 00:48 |
openstackgerrit | zhongshengping proposed openstack/puppet-ceilometer master: Remove client_package_name in params.pp https://review.openstack.org/527278 | 00:51 |
openstackgerrit | Oliver Walsh proposed openstack/puppet-nova master: WIP: Run nova-manage commands as the nova user https://review.openstack.org/498723 | 00:56 |
*** ansmith has quit IRC | 01:03 | |
*** spredzy has quit IRC | 01:06 | |
*** spredzy has joined #puppet-openstack | 01:06 | |
*** rrutkowski has quit IRC | 01:07 | |
*** rrutkowski has joined #puppet-openstack | 01:08 | |
*** rrutkowski has quit IRC | 01:15 | |
*** rrutkowski has joined #puppet-openstack | 01:19 | |
openstackgerrit | Oliver Walsh proposed openstack/puppet-nova master: WIP: Run nova-manage commands as the nova user https://review.openstack.org/498723 | 01:20 |
*** vnogin has joined #puppet-openstack | 01:30 | |
*** rrutkowski has quit IRC | 01:30 | |
*** rrutkowski has joined #puppet-openstack | 01:32 | |
*** vnogin has quit IRC | 01:35 | |
*** iurygregory has quit IRC | 01:39 | |
*** rrutkowski has quit IRC | 02:07 | |
*** rrutkowski has joined #puppet-openstack | 02:10 | |
*** iurygregory has joined #puppet-openstack | 02:44 | |
*** ilbot3 has quit IRC | 02:45 | |
*** ilbot3 has joined #puppet-openstack | 02:57 | |
*** ykarel has joined #puppet-openstack | 03:53 | |
*** iurygregory has quit IRC | 03:55 | |
*** iurygregory has joined #puppet-openstack | 03:55 | |
*** udesale has joined #puppet-openstack | 04:00 | |
*** markvoelker_ has joined #puppet-openstack | 04:12 | |
*** markvoelker has quit IRC | 04:12 | |
*** iurygregory has quit IRC | 04:22 | |
*** iurygregory has joined #puppet-openstack | 04:23 | |
*** skramaja has joined #puppet-openstack | 05:07 | |
*** ratailor has joined #puppet-openstack | 05:23 | |
*** skramaja has quit IRC | 05:58 | |
*** ykarel has quit IRC | 06:03 | |
*** ykarel has joined #puppet-openstack | 06:03 | |
*** ykarel_ has joined #puppet-openstack | 06:12 | |
*** jaganathan has joined #puppet-openstack | 06:15 | |
*** ykarel has quit IRC | 06:15 | |
*** dtantsur|afk is now known as dtantsur | 06:52 | |
*** udesale__ has joined #puppet-openstack | 07:03 | |
*** udesale__ has quit IRC | 07:04 | |
*** udesale__ has joined #puppet-openstack | 07:04 | |
*** udesale has quit IRC | 07:04 | |
*** rcernin has quit IRC | 07:21 | |
*** jpena|off is now known as jpena | 07:39 | |
*** oidgar has joined #puppet-openstack | 07:44 | |
openstackgerrit | Chandan Kumar proposed openstack/puppet-openstack-integration master: Switch to stestr for generating subunit results https://review.openstack.org/527335 | 08:09 |
*** ykarel_ has quit IRC | 08:13 | |
*** ykarel_ has joined #puppet-openstack | 08:14 | |
*** yprokule has joined #puppet-openstack | 08:16 | |
*** tesseract has joined #puppet-openstack | 08:22 | |
*** rcernin has joined #puppet-openstack | 08:36 | |
*** rrutkowski has quit IRC | 08:40 | |
*** amoralej|off is now known as amoralej | 08:41 | |
*** ykarel_ is now known as ykarel|away | 08:42 | |
*** ykarel|away has quit IRC | 08:47 | |
-openstackstatus- NOTICE: Our CI system Zuul is currently not accessible. Wait with approving changes and rechecks until it's back online. Currently waiting for an admin to investigate. | 08:49 | |
*** ykarel has joined #puppet-openstack | 08:50 | |
*** linkmark has joined #puppet-openstack | 08:51 | |
*** ccamacho has joined #puppet-openstack | 08:55 | |
-openstackstatus- NOTICE: Zuul is back online, looks like a temporary network problem. | 09:09 | |
*** shardy has joined #puppet-openstack | 09:12 | |
*** gfidente^2nd has joined #puppet-openstack | 09:14 | |
*** lhinds|out is now known as lhinds | 09:14 | |
*** vnogin has joined #puppet-openstack | 09:21 | |
*** skramaja has joined #puppet-openstack | 09:30 | |
*** vnogin has quit IRC | 09:32 | |
*** vnogin has joined #puppet-openstack | 09:37 | |
*** gfidente has quit IRC | 09:40 | |
openstackgerrit | Oliver Walsh proposed openstack/puppet-nova master: WIP: Run nova-manage commands as the nova user https://review.openstack.org/498723 | 09:42 |
*** rrutkowski has joined #puppet-openstack | 09:43 | |
*** rrutkowski has quit IRC | 09:44 | |
*** rrutkowski has joined #puppet-openstack | 09:44 | |
*** giulivo^3rd has joined #puppet-openstack | 09:44 | |
*** gfidente^2nd has quit IRC | 09:44 | |
*** gfidente has joined #puppet-openstack | 09:44 | |
*** gfidente has quit IRC | 09:44 | |
*** gfidente has joined #puppet-openstack | 09:44 | |
*** rrutkowski has quit IRC | 09:45 | |
*** rrutkowski has joined #puppet-openstack | 09:45 | |
*** derekh has joined #puppet-openstack | 09:47 | |
*** rrutkowski has quit IRC | 09:47 | |
openstackgerrit | Oliver Walsh proposed openstack/puppet-nova master: WIP: Run nova-manage commands as the nova user https://review.openstack.org/498723 | 09:47 |
*** rrutkowski has joined #puppet-openstack | 09:53 | |
*** rrutkowski has quit IRC | 09:53 | |
*** rrutkowski has joined #puppet-openstack | 09:55 | |
*** gfidente has quit IRC | 09:55 | |
*** giulivo^3rd is now known as gfidente | 09:55 | |
*** gfidente has quit IRC | 09:55 | |
*** gfidente has joined #puppet-openstack | 09:55 | |
*** gfidente^2nd has joined #puppet-openstack | 09:55 | |
openstackgerrit | Oliver Walsh proposed openstack/puppet-nova master: WIP: Run nova-manage commands as the nova user https://review.openstack.org/498723 | 10:03 |
openstackgerrit | Oliver Walsh proposed openstack/puppet-nova master: WIP: Run nova-manage commands as the nova user https://review.openstack.org/498723 | 10:07 |
*** ykarel_ has joined #puppet-openstack | 10:12 | |
*** ykarel has quit IRC | 10:16 | |
*** salmankhan has joined #puppet-openstack | 10:24 | |
*** rpittau has joined #puppet-openstack | 10:26 | |
*** ykarel__ has joined #puppet-openstack | 10:26 | |
*** ykarel_ has quit IRC | 10:30 | |
*** jaganathan has quit IRC | 10:43 | |
*** agurenko has joined #puppet-openstack | 10:55 | |
*** rrutkowski has quit IRC | 10:55 | |
*** agurenko has quit IRC | 11:19 | |
*** agurenko has joined #puppet-openstack | 11:21 | |
*** jaganathan has joined #puppet-openstack | 11:26 | |
*** ansmith has joined #puppet-openstack | 11:28 | |
*** salmankhan has quit IRC | 11:34 | |
*** ykarel__ is now known as ykarel | 11:38 | |
*** ansmith has quit IRC | 11:41 | |
*** mwynne has quit IRC | 11:42 | |
*** salmankhan has joined #puppet-openstack | 11:43 | |
*** rrutkowski has joined #puppet-openstack | 11:53 | |
*** oyrogerg has joined #puppet-openstack | 11:55 | |
*** oyrogerg_ has quit IRC | 11:57 | |
*** vnogin has quit IRC | 12:01 | |
*** oyrogerg_ has joined #puppet-openstack | 12:01 | |
*** ratailor has quit IRC | 12:04 | |
*** oyrogerg has quit IRC | 12:04 | |
*** oyrogerg has joined #puppet-openstack | 12:10 | |
*** oyrogerg_ has quit IRC | 12:12 | |
*** oyrogerg_ has joined #puppet-openstack | 12:15 | |
*** oyrogerg has quit IRC | 12:16 | |
*** jpena is now known as jpena|lunch | 12:32 | |
*** rrutkowski has quit IRC | 12:34 | |
*** vnogin has joined #puppet-openstack | 12:35 | |
*** oyrogerg has joined #puppet-openstack | 12:43 | |
*** oyrogerg_ has quit IRC | 12:45 | |
*** morazi has joined #puppet-openstack | 12:49 | |
*** vnogin has quit IRC | 13:11 | |
*** vnogin has joined #puppet-openstack | 13:17 | |
*** jaganathan has quit IRC | 13:18 | |
*** atoth has joined #puppet-openstack | 13:22 | |
*** amoralej is now known as amoralej|lunch | 13:23 | |
*** etingof has quit IRC | 13:23 | |
*** jpena|lunch is now known as jpena | 13:28 | |
*** oyrogerg_ has joined #puppet-openstack | 13:30 | |
*** ansmith has joined #puppet-openstack | 13:32 | |
*** oyrogerg has quit IRC | 13:32 | |
*** oyrogerg has joined #puppet-openstack | 13:35 | |
*** vnogin has quit IRC | 13:35 | |
*** etingof has joined #puppet-openstack | 13:36 | |
*** oyrogerg_ has quit IRC | 13:37 | |
*** vnogin has joined #puppet-openstack | 13:45 | |
*** vnogin has quit IRC | 13:45 | |
*** vnogin has joined #puppet-openstack | 13:47 | |
*** skramaja has quit IRC | 13:49 | |
*** oidgar has quit IRC | 13:52 | |
*** dprince has joined #puppet-openstack | 13:56 | |
*** amoralej|lunch is now known as amoralej | 14:04 | |
*** oyrogerg_ has joined #puppet-openstack | 14:06 | |
*** b3nt_pin is now known as beagles | 14:07 | |
*** trown|outtypewww is now known as trown | 14:08 | |
*** oyrogerg has quit IRC | 14:09 | |
*** oyrogerg has joined #puppet-openstack | 14:11 | |
*** oyrogerg_ has quit IRC | 14:12 | |
*** karthiks has quit IRC | 14:15 | |
*** ykarel is now known as ykarel|afk | 14:23 | |
*** salmankhan has quit IRC | 14:25 | |
*** chem` is now known as chem | 14:26 | |
*** tesseract has quit IRC | 14:26 | |
*** ykarel|afk has quit IRC | 14:28 | |
*** salmankhan has joined #puppet-openstack | 14:38 | |
-openstackstatus- NOTICE: We're currently seeing an elevated rate of timeouts in jobs and the zuulv3.openstack.org dashboard is intermittently unresponsive, please stand by while we troubleshoot the issues. | 14:40 | |
*** hjensas has quit IRC | 14:40 | |
*** oidgar has joined #puppet-openstack | 14:46 | |
*** salmankhan has quit IRC | 14:53 | |
*** gfidente has quit IRC | 14:54 | |
*** alee has quit IRC | 14:55 | |
*** oidgar has quit IRC | 14:56 | |
*** jtomasek has joined #puppet-openstack | 14:59 | |
*** salmankhan has joined #puppet-openstack | 15:00 | |
*** rcernin has quit IRC | 15:00 | |
*** gfidente^2nd is now known as gfidente | 15:01 | |
*** dprince has quit IRC | 15:13 | |
*** oyrogerg_ has joined #puppet-openstack | 15:15 | |
*** oyrogerg has quit IRC | 15:17 | |
*** agurenko has quit IRC | 15:23 | |
*** hjensas has joined #puppet-openstack | 15:25 | |
*** hjensas has quit IRC | 15:25 | |
*** hjensas has joined #puppet-openstack | 15:25 | |
*** yprokule has quit IRC | 15:35 | |
*** salmankhan has quit IRC | 15:37 | |
*** alee has joined #puppet-openstack | 15:41 | |
*** xarses_ has joined #puppet-openstack | 15:42 | |
*** oyrogerg has joined #puppet-openstack | 15:45 | |
*** oyrogerg_ has quit IRC | 15:48 | |
openstackgerrit | Brent Eagles proposed openstack/puppet-octavia master: Add auth_type parameter to service_auth section https://review.openstack.org/527441 | 15:51 |
*** salmankhan has joined #puppet-openstack | 15:55 | |
beagles | what is the process for changing a default value for a parameter after the module has been released? not sure I've done that before | 15:57 |
beagles | Ideally I'd like to move something from having a default value of "something" to $::os_service_default | 15:58 |
beagles | alternatively, I could add a workaround that translates an passed in empty value to $::os_service_default | 15:59 |
* beagles reflects on not adding defaults unless really warranted | 15:59 | |
*** oyrogerg_ has joined #puppet-openstack | 15:59 | |
*** agurenko has joined #puppet-openstack | 16:00 | |
*** oyrogerg has quit IRC | 16:02 | |
openstackgerrit | Brent Eagles proposed openstack/puppet-octavia master: Empty string for amp_ssh_key_name translates to unset https://review.openstack.org/527449 | 16:18 |
*** oyrogerg has joined #puppet-openstack | 16:18 | |
*** oyrogerg_ has quit IRC | 16:20 | |
*** jtomasek has quit IRC | 16:23 | |
*** jtomasek has joined #puppet-openstack | 16:23 | |
*** oyrogerg_ has joined #puppet-openstack | 16:24 | |
*** oyrogerg has quit IRC | 16:27 | |
*** dtantsur is now known as dtantsur|afk | 16:28 | |
*** yprokule has joined #puppet-openstack | 16:36 | |
*** jpena is now known as jpena|off | 16:44 | |
gfidente | mwhahaha so I am not sure what is missing to make CI pass here https://review.openstack.org/#/c/518325/ | 16:55 |
mwhahaha | you and me neither | 16:56 |
* mwhahaha hasnt' had time to actually look at stable/jewel | 16:56 | |
gfidente | mwhahaha I see it's pinning puppetlabs-apache to 2.0.0 | 16:57 |
mwhahaha | right in CI it's not pulling in stable/pike | 16:57 |
* mwhahaha is busy looking at more pressing issues | 16:57 | |
gfidente | sure yeah I wanted to help but don't understand the issue fully I think | 16:57 |
*** mwynne has joined #puppet-openstack | 16:58 | |
mwhahaha | the problem is related to teh ci config | 16:58 |
mwhahaha | because puppet-ceph doesn't follow the stable naming conventions there's a missing mapping from jewel to pike | 16:58 |
EmilienM | mwhahaha, gfidente : let me look now | 17:01 |
gfidente | mwhahaha EmilienM not sure if this was useful then https://review.openstack.org/#/c/518559/ but it didn't pass either | 17:02 |
EmilienM | I'm investigating | 17:02 |
*** oidgar has joined #puppet-openstack | 17:03 | |
EmilienM | ok so yeah it's checkouting stable/pike | 17:06 |
EmilienM | nevermind this comment^ | 17:06 |
EmilienM | ok so in master, we deploy 2.3.0 https://github.com/openstack/puppet-openstack-integration/blob/master/Puppetfile#L175 | 17:09 |
EmilienM | and 2.0.0 in pike: https://github.com/openstack/puppet-openstack-integration/blob/stable/pike/Puppetfile#L175 | 17:09 |
EmilienM | so p-o-i isn't checkout correctly | 17:10 |
EmilienM | 2017-12-12 11:12:59.557275 | primary | /usr/zuul-env/bin/zuul-cloner --cache-dir /opt/git --zuul-branch stable/jewel git://git.openstack.org openstack/puppet-openstack-integration | 17:10 |
EmilienM | that fails and fallback on master | 17:11 |
EmilienM | I think I know | 17:11 |
*** oyrogerg has joined #puppet-openstack | 17:12 | |
EmilienM | mwhahaha: https://review.openstack.org/#/c/518585/1/playbooks/legacy/puppet-unit-4.8-centos-7/run.yaml I don't think it's good | 17:14 |
EmilienM | see the result: http://logs.openstack.org/59/518559/3/check/legacy-puppet-unit-4.8-centos-7/333192e/job-output.txt.gz#_2017-12-12_11_10_14_278536 | 17:15 |
EmilienM | 2017-12-12 11:10:14.278536 | primary | + /usr/zuul-env/bin/zuul-cloner -m /tmp/tmp.JCoi8VwW2J --cache-dir /opt/git --zuul-branch stable/pike git://git.openstack.org openstack/puppet-ceph | 17:15 |
*** hjensas has quit IRC | 17:15 | |
*** oyrogerg_ has quit IRC | 17:15 | |
EmilienM | it's messy | 17:15 |
*** oyrogerg_ has joined #puppet-openstack | 17:19 | |
*** jtomasek has quit IRC | 17:20 | |
*** oyrogerg has quit IRC | 17:21 | |
EmilienM | mwhahaha: https://review.openstack.org/#/c/527467/ | 17:23 |
*** oyrogerg has joined #puppet-openstack | 17:24 | |
mwhahaha | EmilienM: you sure about that? | 17:24 |
EmilienM | mwhahaha: no | 17:25 |
EmilienM | mwhahaha: I just found out something else | 17:25 |
EmilienM | playbooks/legacy/puppet-beaker-rspec-centos-7/run.yaml seems to be good | 17:25 |
mwhahaha | cause i added that code for this problem :D | 17:25 |
EmilienM | yeah but look the result | 17:25 |
EmilienM | mwhahaha: I think I can fix the code, let me try something | 17:25 |
*** oyrogerg_ has quit IRC | 17:27 | |
EmilienM | mwhahaha: option #2: https://review.openstack.org/#/c/527474/ | 17:31 |
*** salmankhan has quit IRC | 17:31 | |
EmilienM | let me see if Depends-On works | 17:32 |
*** oyrogerg_ has joined #puppet-openstack | 17:34 | |
*** oyrogerg has quit IRC | 17:37 | |
*** salmankhan has joined #puppet-openstack | 17:37 | |
*** vnogin has quit IRC | 17:45 | |
*** vnogin has joined #puppet-openstack | 17:46 | |
*** vnogin has quit IRC | 17:56 | |
*** shardy has quit IRC | 18:01 | |
*** oidgar has quit IRC | 18:01 | |
*** trown is now known as trown|lunch | 18:04 | |
*** ccamacho has quit IRC | 18:08 | |
*** hjensas has joined #puppet-openstack | 18:10 | |
*** hjensas has quit IRC | 18:10 | |
*** hjensas has joined #puppet-openstack | 18:10 | |
*** udesale__ has quit IRC | 18:17 | |
*** oidgar has joined #puppet-openstack | 18:22 | |
*** oidgar has quit IRC | 18:33 | |
*** hjensas has quit IRC | 18:34 | |
openstackgerrit | Ade Lee proposed openstack/puppet-nova master: Add glance image signature verification parameter https://review.openstack.org/526514 | 18:42 |
*** hjensas has joined #puppet-openstack | 18:50 | |
*** trown|lunch is now known as trown | 19:06 | |
*** vnogin has joined #puppet-openstack | 19:07 | |
*** gfidente is now known as gfidente|afk | 19:09 | |
*** vnogin has quit IRC | 19:17 | |
*** rrutkowski has joined #puppet-openstack | 19:30 | |
openstackgerrit | Brent Eagles proposed openstack/puppet-octavia master: Allow disabling SSH access to amphora https://review.openstack.org/527449 | 19:31 |
*** salmankhan has quit IRC | 19:34 | |
*** rrutkowski has quit IRC | 19:34 | |
*** rrutkowski has joined #puppet-openstack | 19:34 | |
*** rrutkowski has quit IRC | 19:36 | |
*** rrutkowski has joined #puppet-openstack | 19:37 | |
*** rrutkowski has quit IRC | 19:42 | |
*** rrutkowski has joined #puppet-openstack | 19:42 | |
*** rrutkowski has quit IRC | 19:46 | |
*** rrutkowski has joined #puppet-openstack | 19:47 | |
*** tonyb_ has quit IRC | 19:52 | |
*** rrutkowski has quit IRC | 19:52 | |
*** rrutkowski has joined #puppet-openstack | 19:52 | |
*** tonyb has joined #puppet-openstack | 19:52 | |
openstackgerrit | Carol Bouchard proposed openstack/puppet-neutron master: Latest Nexus Configuration Variables Updates https://review.openstack.org/527509 | 20:04 |
-openstackstatus- NOTICE: The zuul scheduler has been restarted after lengthy troubleshooting for a memory consumption issue; earlier changes have been reenqueued but if you notice jobs not running for a new or approved change you may want to leave a recheck comment or a new approval vote | 20:16 | |
*** fxpester has joined #puppet-openstack | 20:33 | |
*** openstackgerrit has quit IRC | 20:34 | |
*** agurenko has quit IRC | 20:35 | |
*** colonwq has quit IRC | 20:35 | |
*** pester has quit IRC | 20:35 | |
*** oyrogerg_ has quit IRC | 20:35 | |
*** agurenko has joined #puppet-openstack | 20:36 | |
*** oidgar has joined #puppet-openstack | 20:37 | |
*** colonwq has joined #puppet-openstack | 20:40 | |
*** oyrogerg has joined #puppet-openstack | 20:45 | |
*** asilenkov has quit IRC | 20:45 | |
*** jistr has quit IRC | 20:45 | |
*** asilenkov has joined #puppet-openstack | 20:45 | |
*** jistr has joined #puppet-openstack | 20:45 | |
mnaser | EmilienM: do you have a dnm change to test the puppet-ceph fix? | 20:49 |
EmilienM | mnaser: https://review.openstack.org/#/c/518559/ will test | 20:49 |
EmilienM | see Depends-On | 20:49 |
mnaser | EmilienM: oh okay, i tried to look for a DNM change instead, cool ill track it, thanks for taking the time to iron this out | 20:50 |
mnaser | zuul status page is absolutely destroying my browser though, heh | 20:50 |
*** vnogin has joined #puppet-openstack | 20:52 | |
*** amoralej is now known as amoralej|off | 20:54 | |
*** vnogin has quit IRC | 21:00 | |
*** oidgar has quit IRC | 21:01 | |
*** ansmith has quit IRC | 21:12 | |
*** linkmark has quit IRC | 21:20 | |
*** ccamacho has joined #puppet-openstack | 21:28 | |
*** ccamacho has quit IRC | 21:28 | |
*** rrutkowski has quit IRC | 21:37 | |
*** trown is now known as trown|outtypewww | 21:38 | |
*** rrutkowski has joined #puppet-openstack | 21:38 | |
*** morazi has quit IRC | 21:50 | |
*** vnogin has joined #puppet-openstack | 21:50 | |
*** rcernin has joined #puppet-openstack | 21:58 | |
*** rrutkowski has quit IRC | 22:16 | |
*** agurenko has quit IRC | 22:21 | |
*** vnogin has quit IRC | 22:38 | |
*** vnogin has joined #puppet-openstack | 22:40 | |
*** vnogin has quit IRC | 22:45 | |
*** alee has quit IRC | 23:01 | |
*** atoth has quit IRC | 23:35 | |
*** dprince has joined #puppet-openstack | 23:40 | |
*** vnogin has joined #puppet-openstack | 23:41 | |
*** yprokule has quit IRC | 23:44 | |
*** vnogin has quit IRC | 23:45 | |
*** dprince has quit IRC | 23:49 | |
*** dprince has joined #puppet-openstack | 23:53 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!