*** amotoki has quit IRC | 00:06 | |
*** amotoki has joined #openstack-sdks | 00:07 | |
*** gildub has joined #openstack-sdks | 00:14 | |
*** markvoelker has joined #openstack-sdks | 00:34 | |
*** salv-orl_ has joined #openstack-sdks | 01:41 | |
*** salv-orlando has quit IRC | 01:43 | |
*** annegentle has quit IRC | 01:53 | |
*** thrash is now known as thrash|g0ne | 01:59 | |
*** zhurong has joined #openstack-sdks | 02:01 | |
*** gouthamr has quit IRC | 02:38 | |
*** zhurong has quit IRC | 02:45 | |
*** yuanying has quit IRC | 02:47 | |
*** zhurong has joined #openstack-sdks | 02:49 | |
*** zhurong has quit IRC | 03:13 | |
*** gmann has quit IRC | 03:35 | |
*** gmann has joined #openstack-sdks | 03:37 | |
*** Shrews has quit IRC | 03:37 | |
*** mordred has quit IRC | 03:38 | |
*** Shrews has joined #openstack-sdks | 03:42 | |
*** mordred has joined #openstack-sdks | 03:43 | |
*** yuanying has joined #openstack-sdks | 04:13 | |
*** markvoelker has quit IRC | 04:28 | |
*** cmd-t_ has joined #openstack-sdks | 04:46 | |
reedip | stevemar : around ? | 04:50 |
---|---|---|
stevemar | reedip: yep! | 04:50 |
reedip | quick query stevemar | 04:51 |
reedip | stevemar: umm, never mind, got the answer | 04:51 |
reedip | sorry :D | 04:51 |
reedip | stevemar: actually I was trying to work on Loadbalancers on OSC | 04:52 |
reedip | tangchen , stevemar : I was just running openstack --help and found this | 04:57 |
reedip | Could not load EntryPoint.parse('volume_transfer_request_list = openstackclient.volume.v2.volume_transfer_request:ListTransferRequests') | 04:57 |
reedip | Found this : https://review.openstack.org/#/c/362625/ | 04:59 |
reedip | but my master is up to date ... ?? | 04:59 |
reedip | any clue? | 04:59 |
stevemar | reedip: when you run `openstack` do you run it in a virtual environment? | 05:01 |
reedip | nope | 05:01 |
reedip | on my local machine with devstack | 05:02 |
reedip | and reclone is true | 05:02 |
stevemar | reedip: then you're probably clobbering the two versions, your OSC dev branch and the latest on pypi (3.2.0) -- which is what devstack lays down | 05:02 |
reedip | so I have 2 versions on my system ?? | 05:03 |
reedip | stevemar : any way to resolve it ? | 05:03 |
stevemar | reedip: sort of | 05:03 |
reedip | stevemar: I also had this feeling, just wanted to confirm | 05:03 |
stevemar | reedip: sure... save your work if you have anything unsaved; rm -rf your osc dev branch (/opt/stack/python-openstackclient), and run sudo pip uninstall python-openstackclient | 05:03 |
reedip | I did the first step, not the second one | 05:04 |
stevemar | reedip: for your normal environment, just let devstack lay down whatever is the latest release | 05:04 |
stevemar | if you are developing stuff, or testing master, create a virtualevn | 05:04 |
reedip | Okay | 05:05 |
stevemar | reedip: run: 1) virtualenv <somename> (let's use foo) 2) source foo/bin/activate 3) now your terminal should say (foo) $ | 05:05 |
reedip | ok | 05:05 |
stevemar | reedip: from there, you have a blank slate to play with | 05:05 |
reedip | stevemar : thanks for the helpful tip :) | 05:06 |
stevemar | reedip: so from your OSC directory, install the master branch by running " pip install -e . " | 05:06 |
reedip | doing that | 05:06 |
stevemar | you'll notice that you don't have to sudo since you are in virtualenv | 05:06 |
stevemar | from there you should be good -- try running openstack --help | 05:07 |
reedip | yes, its ALIVE :D | 05:07 |
stevemar | to exit the virtualenv, just type $ deactivate | 05:07 |
stevemar | if you ever want to check which openstackclient version you're using type in $ which openstack | 05:07 |
stevemar | or run openstack --version | 05:07 |
*** kevo has joined #openstack-sdks | 05:09 | |
reedip | thanks :) | 05:09 |
openstackgerrit | Roman Vasilets proposed openstack/osc-lib: Require size arg if snapshot or volume not specified https://review.openstack.org/371271 | 05:09 |
openstackgerrit | Roman Vasilets proposed openstack/python-openstackclient: Make size option for volume not required https://review.openstack.org/360892 | 05:21 |
*** markvoelker has joined #openstack-sdks | 05:28 | |
*** markvoelker has quit IRC | 05:33 | |
*** hoangcx has joined #openstack-sdks | 05:37 | |
*** adriant has quit IRC | 05:40 | |
*** Nh3 has joined #openstack-sdks | 05:56 | |
*** Nh3 has quit IRC | 05:59 | |
*** kevo has quit IRC | 06:23 | |
*** dhellmann has quit IRC | 06:39 | |
*** dhellmann has joined #openstack-sdks | 06:42 | |
*** salv-orl_ has quit IRC | 06:48 | |
*** salv-orlando has joined #openstack-sdks | 06:48 | |
*** david-lyle_ has joined #openstack-sdks | 06:59 | |
*** david-lyle has quit IRC | 07:00 | |
*** amotoki has quit IRC | 07:02 | |
reedip | stevemar : I am putting up a patch for quota update. Apparently there was a change in Neutron LB which made quota updates of Health Monitors fail. | 07:03 |
reedip | tangchen : ^^ | 07:03 |
reedip | stevemar, tangchen : can you please check the same. I am not sure how critical it would actually be | 07:03 |
openstackgerrit | Reedip proposed openstack/python-openstackclient: Fix Quota Support for HMs https://review.openstack.org/371299 | 07:17 |
*** jpena|off is now known as jpena | 07:26 | |
*** david-lyle has joined #openstack-sdks | 07:28 | |
*** david-lyle_ has quit IRC | 07:29 | |
*** markvoelker has joined #openstack-sdks | 07:29 | |
*** amotoki has joined #openstack-sdks | 07:31 | |
*** markvoelker has quit IRC | 07:34 | |
*** zhurong has joined #openstack-sdks | 07:34 | |
*** gildub has quit IRC | 07:47 | |
*** amotoki has quit IRC | 07:52 | |
*** openstackgerrit has quit IRC | 08:03 | |
*** openstackgerrit has joined #openstack-sdks | 08:04 | |
openstackgerrit | Cao Xuan Hoang proposed openstack/python-openstackclient: Add 'description' option to os subnet (pool) create/set cmd https://review.openstack.org/357060 | 08:09 |
openstackgerrit | Cao Xuan Hoang proposed openstack/python-openstackclient: Add filtering options to os subnet pool list command https://review.openstack.org/356955 | 08:09 |
openstackgerrit | Cao Xuan Hoang proposed openstack/python-openstackclient: Add filtering options to os subnet list command https://review.openstack.org/356932 | 08:09 |
*** amotoki has joined #openstack-sdks | 08:10 | |
*** cdent has joined #openstack-sdks | 08:10 | |
openstackgerrit | Reedip proposed openstack/python-openstackclient: Allow quota update of L7Policies https://review.openstack.org/371342 | 08:11 |
*** lucas-dinner is now known as lucasagomes | 08:21 | |
*** salv-orl_ has joined #openstack-sdks | 08:27 | |
*** e0ne has joined #openstack-sdks | 08:28 | |
*** amotoki has quit IRC | 08:30 | |
*** salv-orlando has quit IRC | 08:31 | |
*** namnh has joined #openstack-sdks | 08:41 | |
*** Romanenko_K has joined #openstack-sdks | 08:42 | |
*** amotoki has joined #openstack-sdks | 08:56 | |
*** amotoki_ has joined #openstack-sdks | 08:57 | |
*** amotoki has quit IRC | 09:01 | |
openstackgerrit | Roman Vasilets proposed openstack/osc-lib: Require size arg if snapshot or volume not specified https://review.openstack.org/371271 | 09:04 |
*** cdent has quit IRC | 09:13 | |
openstackgerrit | Roman Vasilets proposed openstack/python-openstackclient: Make size option for volume not required https://review.openstack.org/360892 | 09:19 |
*** amotoki_ has quit IRC | 09:22 | |
*** amotoki has joined #openstack-sdks | 09:23 | |
*** cdent has joined #openstack-sdks | 09:31 | |
openstackgerrit | Reedip proposed openstack/python-openstackclient: Fix quota-update issue in LBaaS https://review.openstack.org/371342 | 09:33 |
*** namnh has quit IRC | 09:41 | |
*** namnh has joined #openstack-sdks | 09:41 | |
*** amotoki has quit IRC | 09:49 | |
*** amotoki has joined #openstack-sdks | 09:52 | |
*** zhurong has quit IRC | 10:02 | |
*** amotoki has quit IRC | 10:26 | |
*** hoangcx has quit IRC | 10:34 | |
*** thrash|g0ne is now known as thrash | 10:35 | |
cmd-t_ | Hi | 10:36 |
cmd-t_ | I am creating a network and with this network i create a vm, when i wanted to delete all my setup | 10:36 |
cmd-t_ | first i delete vm and then when i tried to delete network, i got error | 10:36 |
cmd-t_ | Unable to complete operation on network 9355c1d4-fe4e-4bf8-83e1-3ebfa07bdc07. There are one or more ports still in use on the network | 10:36 |
johnthetubaguy | so, did you create the port, then pass that to the VM you created? | 10:40 |
johnthetubaguy | because in the case, you need to delete the port after you delete the VM | 10:40 |
cmd-t_ | nope. | 10:40 |
johnthetubaguy | OK, interesting | 10:41 |
johnthetubaguy | did you list all the ports (as admin) for that network? | 10:41 |
johnthetubaguy | it might be the router for the floating ips is the in use port, or something like that | 10:41 |
cmd-t_ | what i did is, i created a network bind it with subnet, then create vm , at the end first delete vm, then subnet and then net | 10:42 |
cmd-t_ | and there i got this error, | 10:43 |
cmd-t_ | another i want to add is as i am not log in vm, so i dont need to provide floating ip so no need to add router | 10:44 |
johnthetubaguy | what happens when you list the ports on that network? | 10:44 |
johnthetubaguy | it should tell you what was left behind | 10:44 |
johnthetubaguy | it might just be a timing thing the delete VM call is async | 10:45 |
johnthetubaguy | but good to double check whats happening | 10:45 |
cmd-t_ | johnthetubaguy: as u said i did this : neutron port-list | grep net-id | 10:48 |
cmd-t_ | it shows nothing | 10:49 |
johnthetubaguy | did you do that as an admin? | 10:49 |
cmd-t_ | yes | 10:50 |
johnthetubaguy | hmm, I am stuck then, I am afraid, thats the limit of my knowldge of the neutron APIs | 10:52 |
cmd-t_ | one more thing, as i state earlier when i am using to delete network, sometime it do delete sometime don't delete | 10:52 |
cmd-t_ | means it work sometime, sometime not, but mostly ot | 10:53 |
cmd-t_ | not | 10:53 |
reedip | thats wierd | 10:53 |
reedip | can you retry the delete of the port? | 10:53 |
reedip | sorry | 10:54 |
reedip | network ? | 10:54 |
cmd-t_ | is there anything, i need to check before deleting the network, i tried with port | 10:54 |
reedip | cmd-t_ how have you deployed the cloud ? if it is devstack then you can check q-svc.log | 10:55 |
cmd-t_ | but i am not able to understand if vm itself got deleted which port it is connected to | 10:55 |
cmd-t_ | no its an openstack 3 node architecture | 10:55 |
cmd-t_ | mitaka release | 10:55 |
openstackgerrit | Reedip proposed openstack/python-openstackclient: Fix quota-update issue in LBaaS https://review.openstack.org/371342 | 10:57 |
reedip | cmd-t_ you can check the neutron logs | 10:57 |
*** namnh has quit IRC | 10:57 | |
reedip | to understand why the network delete failed initially | 10:57 |
cmd-t_ | i did, and it states the same thing, connected to port | 10:58 |
reedip | cmd-t_ and you can ask this query on #openstack-neutron | 10:58 |
reedip | cmd-t_ and port-list shows no ports? | 10:58 |
cmd-t_ | is it like after deleting vm it takes some time to close all ports, because i am doing all this in python script, | 10:59 |
reedip | cmd-t_ as johnthetubaguy said, the VM delete has an async call to port delete | 11:00 |
johnthetubaguy | yeah, you will need to wait for the server to be fully deleted | 11:00 |
reedip | so it means that the CLI will return the control back to you while at the background, the deletion will work | 11:00 |
johnthetubaguy | the server will show in the Nova API as deleting | 11:00 |
*** zhurong has joined #openstack-sdks | 11:01 | |
reedip | so maybe you can try to delete the port once | 11:01 |
johnthetubaguy | once it goes away, the port will be deleted | 11:01 |
johnthetubaguy | oh... the port delete is async | 11:01 |
reedip | and in your python script, you can do a "nova-interface-list" to see it there is any port associated to the VM being deleted. | 11:01 |
johnthetubaguy | you are right I think | 11:01 |
cmd-t_ | actually i did that, after deleting the vm, i checked for vm status, like if vm exist wait ... | 11:01 |
cmd-t_ | and then only delete subnet and then net | 11:02 |
reedip | cmd-t_ can you try to delete the network now ? | 11:02 |
cmd-t_ | u mean from cli | 11:02 |
cmd-t_ | i did neutron net-delete net-id, and it get deleted, | 11:04 |
cmd-t_ | should i use more time to wait after deleting vm | 11:05 |
cmd-t_ | as it seems to be time issue | 11:05 |
reedip | cmd-t_ No, do not sleep in the script | 11:07 |
reedip | cmd-t_ use a busy wait, check nova interface-list if the VM port still exists or not | 11:08 |
reedip | once it doesnt, then proceed to delete the subnet and network | 11:08 |
cmd-t_ | yes i am using openstack.utils wait func | 11:09 |
*** lucasagomes is now known as lucas-hungry | 11:09 | |
cmd-t_ | i just run the script , the network get formed, vm get launched so i did | 11:10 |
cmd-t_ | neutron net-list| grep net-name | 11:10 |
cmd-t_ | neutron port-list | grep net-id | 11:11 |
cmd-t_ | but it give any output | 11:11 |
cmd-t_ | sorry, didn't give any output | 11:11 |
cmd-t_ | and this time i get error, unable to del subnet | 11:12 |
reedip | hi cmd-t_ , I think "port-list" does not show net-id | 11:14 |
cmd-t_ | so i check port-list for this subnet-id | 11:14 |
cmd-t_ | and there are two open ports... | 11:14 |
reedip | okay, can you delete the ports? | 11:15 |
cmd-t_ | so i need to delete port first then subnet and then network | 11:15 |
reedip | yes | 11:15 |
cmd-t_ | i have doubt, how can be these ports still open even vm got deleted, can u explain please | 11:17 |
*** rtheis has joined #openstack-sdks | 11:21 | |
cmd-t_ | <reedip> hi cmd-t_ , I think "port-list" does not show net-id: there i was using subnet-id | 11:22 |
*** cdent has quit IRC | 11:23 | |
reedip | cmd-t_ I am not completely sure. | 11:26 |
reedip | cmd-t_ but as I said , vm delete would call port delete in async mode | 11:27 |
reedip | so the ports would be deleted in the background | 11:27 |
reedip | rtheis :hi. can you look into the patches I submitted today ( for HM and L7policy ) . I think we would need them ( but thats my take ). | 11:30 |
rtheis | okay | 11:30 |
*** markvoelker has joined #openstack-sdks | 11:31 | |
*** markvoelker has quit IRC | 11:35 | |
reedip | rtheis : thanks . Have a great one | 11:35 |
rtheis | thx, you too | 11:36 |
*** jpena is now known as jpena|lunch | 11:49 | |
*** mliima has joined #openstack-sdks | 11:51 | |
*** aohuanxuan has joined #openstack-sdks | 11:53 | |
*** aohuanxuan has quit IRC | 11:58 | |
cmd-t_ | johnthetubaguy, reedip: thanks , its solved now, first i del port then subnet then net | 11:59 |
*** sdague has joined #openstack-sdks | 12:09 | |
*** lucas-hungry is now known as lucasagomes | 12:11 | |
*** markvoelker has joined #openstack-sdks | 12:26 | |
*** edmondsw has joined #openstack-sdks | 12:32 | |
*** aohuanxuan has joined #openstack-sdks | 12:33 | |
*** rtheis has quit IRC | 12:33 | |
openstackgerrit | Merged openstack/python-openstackclient: Correct login name deduction in SshServer https://review.openstack.org/371081 | 12:33 |
*** cdent has joined #openstack-sdks | 12:49 | |
*** jpena|lunch is now known as jpena | 12:58 | |
openstackgerrit | Roman Vasilets proposed openstack/python-openstackclient: Make size option for volume not required https://review.openstack.org/360892 | 13:18 |
openstackgerrit | Roman Vasilets proposed openstack/python-openstackclient: Make size option for volume not required https://review.openstack.org/360892 | 13:18 |
*** annegentle has joined #openstack-sdks | 13:19 | |
*** edleafe is now known as figleaf | 13:20 | |
*** cmd-t_ has quit IRC | 13:26 | |
*** rtheis has joined #openstack-sdks | 13:32 | |
*** fguillot has joined #openstack-sdks | 13:32 | |
openstackgerrit | Michael Krotscheck proposed openstack/js-openstack-lib: Created Nova service with flavorList method. https://review.openstack.org/370389 | 13:53 |
openstackgerrit | Michael Krotscheck proposed openstack/js-openstack-lib: Moved serviceEndpoint() tests into abstract_serviceTest. https://review.openstack.org/371552 | 13:53 |
*** fguillot has quit IRC | 13:57 | |
openstackgerrit | Michael Krotscheck proposed openstack/js-openstack-lib: Miscellaneous test cleanup. https://review.openstack.org/371563 | 14:04 |
openstackgerrit | Michael Krotscheck proposed openstack/js-openstack-lib: Renamed abstract_service to abstractService https://review.openstack.org/371566 | 14:09 |
openstackgerrit | Merged openstack/js-openstack-lib: Created test suite for the AbstractService https://review.openstack.org/369820 | 14:12 |
*** rtheis has quit IRC | 14:14 | |
*** salv-orl_ has quit IRC | 14:23 | |
*** salv-orlando has joined #openstack-sdks | 14:24 | |
*** zhurong has quit IRC | 14:28 | |
*** annegentle has quit IRC | 14:28 | |
*** rtheis has joined #openstack-sdks | 14:29 | |
*** bnemec has quit IRC | 14:37 | |
*** fguillot has joined #openstack-sdks | 14:48 | |
*** bnemec has joined #openstack-sdks | 14:49 | |
*** aohuanxuan has quit IRC | 14:49 | |
*** kevo has joined #openstack-sdks | 14:55 | |
*** amotoki has joined #openstack-sdks | 15:01 | |
*** amotoki has quit IRC | 15:01 | |
*** annegentle has joined #openstack-sdks | 15:15 | |
*** annegentle has quit IRC | 15:21 | |
*** bnemec has quit IRC | 15:22 | |
*** bnemec has joined #openstack-sdks | 15:25 | |
*** gouthamr has joined #openstack-sdks | 15:25 | |
openstackgerrit | Kristi Nikolla proposed openstack/osc-lib: Update docstring to match params https://review.openstack.org/371656 | 15:42 |
openstackgerrit | Rodolfo Alonso Hernandez proposed openstack/python-openstackclient: Add support for Network QoS minimum bandwidth rule commands https://review.openstack.org/352477 | 15:43 |
openstackgerrit | Rodolfo Alonso Hernandez proposed openstack/python-openstackclient: Add network support for Network QoS policies https://review.openstack.org/350655 | 15:43 |
*** e0ne has quit IRC | 15:58 | |
*** kevo has quit IRC | 16:04 | |
*** mordred has quit IRC | 16:13 | |
*** Shrews has quit IRC | 16:13 | |
*** Shrews has joined #openstack-sdks | 16:15 | |
*** cdent has quit IRC | 16:16 | |
*** mordred has joined #openstack-sdks | 16:17 | |
*** Romanenko_K has quit IRC | 16:41 | |
*** jaosorior has joined #openstack-sdks | 16:44 | |
*** lucasagomes is now known as lucas-dinner | 16:47 | |
*** thrash is now known as thrash|f00dz | 16:47 | |
openstackgerrit | Kristi Nikolla proposed openstack/osc-lib: WIP - Calls to federated service providers using Keystone-to-Keystone https://review.openstack.org/371709 | 16:48 |
*** annegentle has joined #openstack-sdks | 17:03 | |
dtroyer_zz | rtheis, stevemar: How about we update the 3.3.0 release after these two merge? https://review.openstack.org/357721 and https://review.openstack.org/371614 | 17:07 |
dtroyer_zz | if e get to mid-week next week and it istill isn't cut we | 17:08 |
dtroyer_zz | ';; look again... | 17:08 |
*** jpena is now known as jpena|away | 17:19 | |
*** rvasilets___ has joined #openstack-sdks | 17:25 | |
*** e0ne has joined #openstack-sdks | 17:26 | |
rvasilets___ | dtroyer_zz: stevemar Hi https://review.openstack.org/#/c/360892/ I'm confused with different directions of solving the bug. Could you get an agreement between you what is the best and right way for me to solve this bug? Best regards, Roman. | 17:34 |
*** kevo has joined #openstack-sdks | 17:36 | |
*** annegentle has quit IRC | 17:39 | |
*** thrash|f00dz is now known as thrash | 17:51 | |
*** annegentle has joined #openstack-sdks | 18:02 | |
*** sdague has quit IRC | 18:06 | |
*** annegentle has quit IRC | 18:23 | |
*** kevo has quit IRC | 18:24 | |
*** chlong_ has quit IRC | 18:27 | |
*** e0ne has quit IRC | 18:30 | |
*** bnemec is now known as beekneemech | 18:45 | |
*** jaosorior has quit IRC | 19:05 | |
*** rtheis_ has joined #openstack-sdks | 19:07 | |
*** rtheis has quit IRC | 19:09 | |
*** gouthamr has quit IRC | 19:15 | |
*** david-lyle has quit IRC | 19:30 | |
*** david-lyle has joined #openstack-sdks | 19:30 | |
*** gouthamr has joined #openstack-sdks | 19:31 | |
*** salv-orl_ has joined #openstack-sdks | 19:41 | |
rtheis_ | sounds good dtroyer_zz | 19:41 |
*** rtheis_ is now known as rtheis | 19:41 | |
*** david-lyle has quit IRC | 19:43 | |
*** salv-orlando has quit IRC | 19:43 | |
*** jpena|away is now known as jpena|off | 19:44 | |
*** fguillot has quit IRC | 19:49 | |
*** openstackstatus has quit IRC | 19:58 | |
*** openstackstatus has joined #openstack-sdks | 20:00 | |
*** ChanServ sets mode: +v openstackstatus | 20:00 | |
openstackgerrit | Cedric Brandily proposed openstack/python-openstackclient: Enable to specify which vm fixed-ip to publish https://review.openstack.org/371786 | 20:02 |
*** alex_xu has quit IRC | 20:04 | |
*** sdague has joined #openstack-sdks | 20:07 | |
*** alex_xu has joined #openstack-sdks | 20:07 | |
*** scottda has quit IRC | 20:21 | |
*** mliima has quit IRC | 20:22 | |
*** scottda has joined #openstack-sdks | 20:23 | |
*** sdague has quit IRC | 20:39 | |
*** edmondsw has quit IRC | 20:51 | |
*** gouthamr has quit IRC | 21:13 | |
*** salv-orl_ has quit IRC | 21:22 | |
*** salv-orlando has joined #openstack-sdks | 21:22 | |
*** gouthamr has joined #openstack-sdks | 21:27 | |
*** rtheis has quit IRC | 21:58 | |
*** gouthamr has quit IRC | 22:17 | |
*** markvoelker has quit IRC | 22:34 | |
*** GreenBlood has quit IRC | 22:41 | |
*** kuzko has quit IRC | 22:41 | |
*** kuzko has joined #openstack-sdks | 22:43 | |
*** kuzko has quit IRC | 22:43 | |
*** david-lyle has joined #openstack-sdks | 22:48 | |
*** kevo has joined #openstack-sdks | 22:52 | |
*** rvasilets___ has quit IRC | 23:27 | |
*** kuzko has joined #openstack-sdks | 23:37 | |
*** kuzko has quit IRC | 23:40 | |
*** GreenBlood has joined #openstack-sdks | 23:43 | |
*** kuzko has joined #openstack-sdks | 23:43 | |
*** zhurong has joined #openstack-sdks | 23:53 | |
*** zhurong has quit IRC | 23:54 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!