*** strigazi has quit IRC | 00:01 | |
*** strigazi has joined #openstack-lbaas | 00:02 | |
openstackgerrit | Michael Johnson proposed openstack/octavia master: Fix an upgrade issue for CentOS 7 amphora https://review.openstack.org/605894 | 00:12 |
---|---|---|
johnsom | ^^^ rm_work That should fix the issue and set us up to be able to use new HAProxy features in the future. | 00:13 |
*** yamamoto has joined #openstack-lbaas | 00:21 | |
openstackgerrit | Jacky Hu proposed openstack/neutron-lbaas-dashboard master: Update the URL in HACKING.rst https://review.openstack.org/604769 | 00:42 |
rm_work | sweet | 01:08 |
rm_work | thankies | 01:08 |
rm_work | johnsom: weird i thought the "get_haproxy_versions" was already a function we had | 01:11 |
*** JudeCross has quit IRC | 01:18 | |
rm_work | building and deploying soon to my test env | 02:04 |
rm_work | deciding how to test this... | 02:04 |
rm_work | might have to re-upload old images | 02:04 |
rm_work | or change the tags i use temporarily | 02:05 |
*** JudeCross has joined #openstack-lbaas | 02:05 | |
*** yamamoto has quit IRC | 02:16 | |
*** hongbin has joined #openstack-lbaas | 02:20 | |
openstackgerrit | sapd proposed openstack/python-octaviaclient master: Support REDIRECT_PREFIX for openstack client Story: 2003700 https://review.openstack.org/605914 | 02:46 |
openstackgerrit | sapd proposed openstack/octavia master: Support REDIRECT_PREFIX action for L7Policy https://review.openstack.org/601086 | 02:55 |
*** yamamoto has joined #openstack-lbaas | 03:24 | |
*** hongbin has quit IRC | 03:38 | |
*** yamamoto has quit IRC | 03:50 | |
*** yamamoto has joined #openstack-lbaas | 04:41 | |
*** JudeCross has quit IRC | 04:53 | |
*** ramishra has joined #openstack-lbaas | 05:09 | |
*** JudeCross has joined #openstack-lbaas | 05:15 | |
*** yamamoto has quit IRC | 05:21 | |
*** yamamoto has joined #openstack-lbaas | 05:29 | |
*** abaindur has joined #openstack-lbaas | 05:51 | |
*** abaindur has quit IRC | 05:52 | |
*** abaindur has joined #openstack-lbaas | 05:52 | |
openstackgerrit | sapd proposed openstack/octavia master: Support REDIRECT_PREFIX action for L7Policy https://review.openstack.org/601086 | 05:56 |
*** JudeCross has quit IRC | 06:04 | |
*** pcaruana has joined #openstack-lbaas | 06:11 | |
*** yamamoto has quit IRC | 06:27 | |
*** JudeCross has joined #openstack-lbaas | 06:29 | |
*** numans has joined #openstack-lbaas | 06:46 | |
*** maciejjozefczyk has joined #openstack-lbaas | 06:56 | |
*** yamamoto has joined #openstack-lbaas | 07:04 | |
*** rcernin has quit IRC | 07:12 | |
*** celebdor has joined #openstack-lbaas | 07:29 | |
*** velizarx has joined #openstack-lbaas | 07:35 | |
*** velizarx has quit IRC | 07:41 | |
*** JudeCross has quit IRC | 07:42 | |
openstackgerrit | sapd proposed openstack/octavia master: Support REDIRECT_PREFIX action for L7Policy https://review.openstack.org/601086 | 07:59 |
*** velizarx has joined #openstack-lbaas | 08:04 | |
*** abaindur has quit IRC | 08:24 | |
openstackgerrit | wangxiyuan proposed openstack/octavia master: Add db migration script for tags https://review.openstack.org/606006 | 08:55 |
*** salmankhan has joined #openstack-lbaas | 09:08 | |
*** abaindur has joined #openstack-lbaas | 09:20 | |
*** yamamoto has quit IRC | 10:31 | |
*** yamamoto has joined #openstack-lbaas | 10:32 | |
*** yamamoto has quit IRC | 10:38 | |
openstackgerrit | sapd proposed openstack/octavia master: Support REDIRECT_PREFIX action for L7Policy https://review.openstack.org/601086 | 11:10 |
*** yamamoto has joined #openstack-lbaas | 11:26 | |
*** yamamoto has quit IRC | 12:16 | |
velizarx | Hi folks, I want to ask about certificates. Why Octavia accepts the only certificate in pkcs12 format? Usually, SSL certificate is two files (crt and key), but for using this in Octavia user must create pkcs12 file (and whithout password). It's very unuseful for end-user. Do you have a plan to add support separate files? | 12:24 |
velizarx | The second question about plan was resolve, I found text: "DEPRECATED: A secret container of type 'certificate' containing the certificate and key for TERMINATED_TLS listeners." But, I don't understand why did you deprecate this feature? | 12:40 |
*** ramishra has quit IRC | 13:22 | |
*** yamamoto has joined #openstack-lbaas | 13:55 | |
*** aojea_ has joined #openstack-lbaas | 15:12 | |
*** yamamoto has quit IRC | 15:25 | |
*** aojea_ has quit IRC | 15:32 | |
johnsom | velizarx Hi. There were a couple of reasons we switched to pkcs12 format. One is the way barbican works for separate files was leading to users having trouble getting all of the components into the barbican container. It also made it hard for us to extract them and make sure the user granted us access to all of the parts. The other main reason was to allow alternate storage backends, such as Vault, that have | 15:45 |
johnsom | standardized on pkcs12 bundles. | 15:45 |
*** JudeCross has joined #openstack-lbaas | 15:49 | |
velizarx | johnsom, Maybe, the best way it gives the opportunity to choose? When you plan to delete barbican legacy driver? | 15:50 |
johnsom | velizarx rm_work would maybe have more reasons/background on it | 15:50 |
*** yamamoto has joined #openstack-lbaas | 15:51 | |
*** velizarx has quit IRC | 16:09 | |
mnaser | hey tam | 16:10 |
mnaser | team | 16:10 |
mnaser | appreciate reviews on https://review.openstack.org/606124 | 16:10 |
*** JudeCross has quit IRC | 16:14 | |
*** yamamoto has quit IRC | 16:31 | |
*** salmankhan has quit IRC | 16:38 | |
*** ianychoi has quit IRC | 16:39 | |
*** ianychoi has joined #openstack-lbaas | 16:44 | |
mnaser | xgerman_: johnsom: thanks.. mind looking also at https://review.openstack.org/#/c/606137/ and https://review.openstack.org/#/c/606138/1 ? | 16:51 |
mnaser | former needed to make a clean backport | 16:51 |
*** yamamoto has joined #openstack-lbaas | 17:26 | |
rm_work | johnsom: what you told them was correct | 17:32 |
rm_work | i don't know when exactly we will remove the barbican driver tho | 17:32 |
rm_work | *legacy | 17:32 |
johnsom | Ok, thanks | 17:35 |
*** sapd1_ has joined #openstack-lbaas | 17:51 | |
openstackgerrit | Michael Johnson proposed openstack/octavia-tempest-plugin master: DNM: Testing bionic nodes https://review.openstack.org/600539 | 17:51 |
*** JudeCross has joined #openstack-lbaas | 17:53 | |
openstackgerrit | Michael Johnson proposed openstack/octavia-tempest-plugin master: DNM: Testing bionic nodes https://review.openstack.org/600539 | 17:57 |
*** yamamoto has quit IRC | 18:28 | |
*** sapd1_ has quit IRC | 19:24 | |
cgoncalves | rm_work, have you had a chance to test https://review.openstack.org/#/c/605894/ ? | 19:44 |
*** Emine has quit IRC | 19:52 | |
*** Emine has joined #openstack-lbaas | 19:55 | |
*** openstackgerrit has quit IRC | 20:07 | |
*** yamamoto has joined #openstack-lbaas | 20:26 | |
*** openstackgerrit has joined #openstack-lbaas | 20:32 | |
openstackgerrit | German Eichberger proposed openstack/octavia master: Refactor the AAP driver to not depend on nova https://review.openstack.org/604226 | 20:32 |
mnaser | https://review.openstack.org/#/c/606143/3 and https://review.openstack.org/#/c/606146/2 :) | 20:55 |
johnsom | mnaser Just an FYI, the octavia cores are not all cores on OSA - Octavia.... | 20:57 |
mnaser | johnsom: there's at least 2 :p | 20:57 |
johnsom | There are == 2 | 20:57 |
mnaser | thats all i need | 20:58 |
mnaser | :P | 20:58 |
xgerman_ | ha | 20:58 |
rm_work | lol | 21:08 |
*** yamamoto has quit IRC | 21:15 | |
openstackgerrit | Carlos Goncalves proposed openstack/octavia-tempest-plugin master: Add octavia-v2-dsvm-scenario-ipv6 to the check queue https://review.openstack.org/594078 | 21:21 |
cgoncalves | totally understandable if ^ doesn't get approved | 21:22 |
cgoncalves | re: zombie amps. if we nova delete, will HK delete its record from db? | 21:25 |
johnsom | cgoncalves I'm in favor of an control plane IPv6 job. Just need to find time to dig into the test results and verify it hits everything I hope it hits. | 21:29 |
rm_work | cgoncalves: after the expiry period, yes | 21:29 |
rm_work | thank heavens for the expiry time on those now | 21:30 |
colin- | one or the other i'm assuming, no 4-to-6 sutff? | 21:30 |
rm_work | i would have been *$&)%&(#ed yesterday otherwise | 21:30 |
rm_work | colin-: haproxy should easily be able to do 4-6 | 21:30 |
rm_work | ah you mean in the test | 21:30 |
colin- | i was thinking the same but not confident how easily that'd fit in octavia | 21:30 |
rm_work | hmmm that could be a good test :) | 21:30 |
rm_work | it's one of the uses of octavia that I think we should publicize more I think | 21:30 |
rm_work | it's definitely in-scope for benefits of a LB | 21:30 |
johnsom | colin- We should support 4-to-6 though I think there is an issue with UDP in that scenario. This patch is control plane IPv6. We already test IPv6 data plane in our tempest tests | 21:31 |
rm_work | johnsom: do we split the members across 4 and 6? | 21:31 |
rm_work | IIRC my testing does | 21:31 |
rm_work | but i don't know about the gate | 21:31 |
cgoncalves | I recall 4-to-6 didn't work well at least for UDP LBs in centos | 21:31 |
colin- | understood, good to know | 21:31 |
johnsom | We should be able to support mixed members | 21:31 |
rm_work | (the test script stuff i have in devstack-deploy does one ipv4 and one opv6 member) | 21:31 |
rm_work | yeah but i don't remember if we actually have a gate that does that | 21:31 |
johnsom | FYI: https://wiki.openstack.org/wiki/Neutron/LBaaS/Deprecation#When_will_the_neutron-lbaas_deprecation_cycle_end.3F | 21:32 |
rm_work | lol | 21:32 |
rm_work | that title is like | 21:32 |
rm_work | a cry for help | 21:32 |
rm_work | at least that's how I read it | 21:32 |
cgoncalves | \o/ | 21:32 |
rm_work | "when will the suffering cycle end" | 21:32 |
johnsom | lol Too true | 21:32 |
johnsom | I'm going to send out emails too.... Just a heads up I'm publicizing it. U is the end of the line.... | 21:33 |
rm_work | yissss | 21:33 |
cgoncalves | https://media.giphy.com/media/JltOMwYmi0VrO/giphy.gif | 21:34 |
johnsom | Would one of you kick this in so I can close out the py3 goal? | 21:35 |
johnsom | https://review.openstack.org/#/c/603932/ | 21:35 |
cgoncalves | done | 21:36 |
xgerman_ | johnsom: set a date in case they go to 1 year cycles | 21:36 |
johnsom | xgerman_ Oh, excellent point!!!!! | 21:37 |
johnsom | Hmm, that is interesting given the deprecation policy is "two cycles", but I think it is a great idea to put a stake in the ground now. | 21:38 |
colin- | seems reasonable | 21:38 |
cgoncalves | yeah, I'd me in favor of a date but, as johnsom just said, policy is 2 cycles | 21:39 |
johnsom | Yeah, but I think it's fair to call it out now. | 21:39 |
xgerman_ | +1 | 21:39 |
cgoncalves | ah, we should be fine: "it is **recommended** that the deprecated feature appears at least in the next two stable release branches." | 21:40 |
johnsom | Yeah, I think we are clean no matter what. Rocky counts as one cycle already.... | 21:41 |
xgerman_ | yep… | 21:41 |
johnsom | Updated: https://wiki.openstack.org/wiki/Neutron/LBaaS/Deprecation#When_will_the_neutron-lbaas_deprecation_cycle_end.3F | 21:42 |
johnsom | FYI, I updated the bot to put stable patch notifications in this channel in addition to the existing master branches. | 21:45 |
cgoncalves | nice | 21:47 |
rm_work | ahhh i wondered why those were missing | 21:47 |
rm_work | seemed odd | 21:47 |
*** KeithMnemonic has quit IRC | 21:47 | |
johnsom | Yeah, they were filtered, but no more.... | 21:48 |
openstackgerrit | Merged openstack/neutron-lbaas-dashboard master: Add Python 3.6 unit test jobs https://review.openstack.org/603932 | 21:51 |
johnsom | Wahoo. Thanks. One goal down! | 21:51 |
openstackgerrit | German Eichberger proposed openstack/octavia master: [WIP] Refactor the pluggin of the VIP https://review.openstack.org/604479 | 21:52 |
xgerman_ | ^ ok, seems to work so have a look — need to add some more tests an put a bow on it | 21:52 |
rm_work | johnsom: deployed your fix to prod, hope this works :P | 22:00 |
johnsom | rm_work Umm, don't | 22:00 |
johnsom | http://logs.openstack.org/94/605894/1/check/octavia-v1-dsvm-py3x-scenario/fd19e17/logs/screen-o-cw.txt.gz?level=ERROR | 22:00 |
rm_work | hmmmmm | 22:01 |
rm_work | ok, well, tests were working? | 22:01 |
rm_work | tempest all passed in stage | 22:01 |
rm_work | i wonder if i didn't pick up your patch somehow when i thought i added it | 22:01 |
johnsom | I think it's a py3 issue | 22:01 |
rm_work | ahhh | 22:02 |
rm_work | ok i'm safe then :P | 22:02 |
rm_work | stuck on cent7 | 22:02 |
rm_work | sooooo | 22:02 |
rm_work | :P | 22:02 |
rm_work | wait wtf | 22:04 |
rm_work | i'm missing lines | 22:04 |
rm_work | how is this possible | 22:04 |
rm_work | ohhhh one of my patches removes some unused lines in that file for no freaking reason | 22:07 |
rm_work | but they *are* unused | 22:07 |
johnsom | Boom, ok, e-mails sent | 22:07 |
rm_work | anyway, looks like I am good on py27 | 22:07 |
rm_work | ;) | 22:07 |
rm_work | but not sure it'll WORK properly | 22:07 |
rm_work | does py2 do a typecast for str/int comp? | 22:08 |
rm_work | ahhh | 22:08 |
rm_work | i think it will not work | 22:08 |
rm_work | it's doing "2" < 2 | 22:08 |
rm_work | err | 22:08 |
rm_work | "1" < 2 | 22:08 |
rm_work | which is actually False | 22:08 |
johnsom | Well, the py27 gates passed, but the py3 didn't | 22:08 |
rm_work | right | 22:09 |
rm_work | but the py2 gates don't test that this actually works | 22:09 |
rm_work | do they? | 22:09 |
rm_work | anyway I tested and that is what i get | 22:09 |
johnsom | They should run the same code paths... | 22:09 |
rm_work | py2 does "1" < 2 | 22:09 |
rm_work | and just says "False" | 22:09 |
rm_work | py3 gives that exception you see | 22:09 |
rm_work | because it won't try to typecast implicitly | 22:09 |
rm_work | checking | 22:10 |
rm_work | yeah your tests don't actually verify the whole thing | 22:13 |
openstackgerrit | Michael Johnson proposed openstack/octavia master: Fix an upgrade issue for CentOS 7 amphora https://review.openstack.org/605894 | 22:13 |
rm_work | going to need a better test too, hold on | 22:14 |
rm_work | working something up to recommend | 22:14 |
johnsom | This puzzles me as I saw the "has_http_reuse" = True stuff pop up in all of the py27 tests | 22:15 |
johnsom | Feel free to just add it if you have a test | 22:17 |
rm_work | you have no test that actually HITS that | 22:21 |
rm_work | i put a debug point on the thing | 22:21 |
rm_work | and ran through | 22:21 |
rm_work | and nothing actually tests it except a unit that tests it DIRECTLY | 22:21 |
rm_work | i have a test almost done, will post it in a min | 22:21 |
rm_work | oh hold on, also | 22:24 |
rm_work | ummm | 22:24 |
cgoncalves | quick Q: thoughts on either leaving first part under 'features' or move under 'fixes' (so that we can easily reason for backport) | 22:26 |
cgoncalves | https://review.openstack.org/#/c/587505/20/releasenotes/notes/zombie_amp-1b435eb66643dab8.yaml | 22:26 |
rm_work | johnsom: we have another problem | 22:27 |
rm_work | johnsom: it's querying for "haproxy18" because that's what we have it looking for | 22:27 |
rm_work | which won't even GET the correct version for haproxy before that | 22:27 |
rm_work | as the package name is different | 22:27 |
rm_work | >_> | 22:27 |
rm_work | working on a slightly more complex update | 22:27 |
johnsom | cgoncalves Fixes | 22:28 |
johnsom | rm_work I thought the amphora agent stripped that part, it should only be getting back a version string | 22:28 |
rm_work | errr | 22:29 |
rm_work | the rmp query | 22:29 |
rm_work | *rpm query | 22:29 |
rm_work | is going to be for "haproxy18" | 22:29 |
rm_work | which works when it's on haproxy 1.8 | 22:29 |
johnsom | Oh, they already have that | 22:29 |
johnsom | It's a "package map" in the OS utils | 22:29 |
rm_work | ok yes | 22:29 |
rm_work | but | 22:29 |
rm_work | it's the same version of the OS | 22:29 |
rm_work | but different package names | 22:29 |
rm_work | we have to make it check both | 22:29 |
rm_work | or put a * | 22:30 |
rm_work | or something | 22:30 |
johnsom | No, because we aren't backporting this. | 22:30 |
johnsom | It changed to haproxy18 in Rocky | 22:30 |
johnsom | That code is in the amp itself | 22:30 |
rm_work | err | 22:30 |
rm_work | oh is it? | 22:31 |
rm_work | ahhh yes | 22:31 |
rm_work | ok | 22:31 |
rm_work | so old amps will look for old package name | 22:31 |
rm_work | cool | 22:31 |
johnsom | Yep | 22:31 |
rm_work | whew | 22:31 |
johnsom | octavia/amphorae/backends/agent/api_server/osutils.py: PACKAGE_NAME_MAP = {'haproxy': 'haproxy18'} | 22:31 |
rm_work | yes i saw that | 22:33 |
rm_work | was thinking that was on the client side, but it isn't | 22:33 |
rm_work | we don't ask for a package name's version | 22:33 |
rm_work | we just ask for info and it knows | 22:33 |
johnsom | cgoncalves I'm not sure the "common causes" is accurate either. | 22:33 |
cgoncalves | johnsom, why not? a compute reboot could cause amps there hosted to go zombie when compute is back | 22:35 |
johnsom | Nice, Octavia is the first project done with the python3 goal: https://storyboard.openstack.org/#!/board/104 | 22:36 |
johnsom | cgoncalves Why, the delete should have failed right? It should have rolled back and left the LB in error | 22:36 |
rm_work | i think we're over-mocking in these tests | 22:39 |
cgoncalves | johnsom, nova delete? it is an async call and we're calling the compute driver directly rather than using flows (no roll back) | 22:42 |
cgoncalves | or you mean nova delete on failover? hmmm | 22:42 |
johnsom | cgoncalves Prior to this patch, every call into compute driver was part of a flow | 22:42 |
cgoncalves | right. xgerman_ suggests direct call to compute driver | 22:44 |
xgerman_ | I had a flow before... but didn’t want to over complicate things by throwing this on the engine | 22:46 |
xgerman_ | johnsom: aap calls nova client directly - so technically a flow but... | 22:48 |
johnsom | Yeah, that aap to nova was still inside a flow | 22:48 |
johnsom | rm_work Have a thought on this story that came in? https://storyboard.openstack.org/#!/story/2003905 | 22:49 |
rm_work | johnsom: not sure hold on | 22:54 |
rm_work | your fix actually doesn't work | 22:54 |
rm_work | we load one AmphoraDriver and one JinjaTemplater in the class | 22:54 |
rm_work | and so storing "has_httpreuse" on the class ... carries across sessions | 22:55 |
rm_work | and never resets | 22:55 |
rm_work | going to change it to actually pass through | 22:55 |
*** yamamoto has joined #openstack-lbaas | 23:15 | |
openstackgerrit | Adam Harwell proposed openstack/octavia master: Fix an upgrade issue for CentOS 7 amphora https://review.openstack.org/605894 | 23:27 |
rm_work | johnsom: ^^ what do you think | 23:27 |
johnsom | looking | 23:27 |
rm_work | it adds some "unused vars" at the expense of being fully set up to do feature compat stuff with very little effort later | 23:27 |
johnsom | Why did the MEMBERS const go away? Not used? | 23:28 |
rm_work | duplicated | 23:28 |
johnsom | lol | 23:28 |
rm_work | yes >_> | 23:28 |
johnsom | We should have a hacking for that. It happens | 23:28 |
rm_work | yes | 23:28 |
rm_work | that would be good | 23:28 |
rm_work | fortunately it was exactly the same | 23:28 |
rm_work | oh damnit pep8 fail | 23:29 |
johnsom | Why use None as the default and not just {}? | 23:29 |
rm_work | .... | 23:30 |
rm_work | {} is mutable | 23:30 |
rm_work | i know you know that :P | 23:31 |
johnsom | Isn't the get in the jinja just duplicate? | 23:31 |
rm_work | ? | 23:32 |
johnsom | https://review.openstack.org/#/c/605894/2..3/octavia/common/jinja/haproxy/templates/macros.j2 | 23:32 |
johnsom | You already do a get with a default in the jinja.cfg | 23:32 |
rm_work | that is getting the value | 23:32 |
rm_work | of the pool's "has_http_reuse" | 23:33 |
rm_work | in jinja the "pool.has_http_reuse" is just a dict shortcut | 23:33 |
johnsom | Everywhere else we just do pool.has_http_reuse | 23:33 |
rm_work | pool is a dict, so we need to get the value of that field | 23:33 |
rm_work | err not anymore we don't | 23:33 |
rm_work | except places i literally couldn't change it because it's a function signature | 23:34 |
rm_work | switched everything over to the constant | 23:34 |
johnsom | line 204 above in that jinja | 23:34 |
rm_work | i was tempted to do function partials | 23:34 |
rm_work | i GUESS we could hardcode it here | 23:35 |
rm_work | if you really want | 23:35 |
rm_work | i have to post another version anyway | 23:35 |
johnsom | I'm just saying, everywhere else is the other way. I get it now why you did it. For the const. | 23:35 |
johnsom | So, why not change all of the others over to consts? | 23:36 |
johnsom | grin | 23:36 |
rm_work | i was legitimately tempted | 23:36 |
johnsom | lol | 23:36 |
rm_work | but i think that's for another patchset | 23:36 |
rm_work | would be a little out of scope here | 23:36 |
johnsom | Yeah, I am fine with this. | 23:36 |
johnsom | looking at the tests | 23:36 |
rm_work | eh it's fine, i'll make it match | 23:36 |
rm_work | in this one spot | 23:36 |
johnsom | No, leave it | 23:36 |
johnsom | It's a good reminder | 23:36 |
openstackgerrit | Adam Harwell proposed openstack/octavia master: Fix an upgrade issue for CentOS 7 amphora https://review.openstack.org/605894 | 23:37 |
rm_work | kk, pushed a new one because of my dumb pep8 error | 23:37 |
rm_work | forgot it doesn't like operators at the beginning of indented lines | 23:37 |
johnsom | Yeah, looks good to me | 23:38 |
johnsom | Thanks | 23:38 |
rm_work | kk | 23:38 |
johnsom | Man, this multi-node stuff isn't baked IMO | 23:39 |
rm_work | time to see how quickly i can get this to prod | 23:39 |
rm_work | if we can get https://review.openstack.org/#/c/603490/ too | 23:57 |
rm_work | zhaobo tested it and said it works fine | 23:57 |
rm_work | ^^ cgoncalves / nmagnezi / dayou / xgerman_ | 23:58 |
rm_work | (not picking john som because i've bothered him enough recently) | 23:59 |
rm_work | *pinging | 23:59 |
johnsom | lol 5pm on a friday | 23:59 |
rm_work | lol | 23:59 |
rm_work | damnit | 23:59 |
*** yamamoto has quit IRC | 23:59 | |
rm_work | you're here anyway | 23:59 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!