Thursday, 2022-04-28

-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/zuul] 837422: Remove workspace path check from zuul_return https://review.opendev.org/c/zuul/zuul/+/83742200:45
-@gerrit:opendev.org- Ian Wienand proposed:01:11
- [zuul/zuul] 838843: ansible zuul_json callback : handle string results https://review.opendev.org/c/zuul/zuul/+/838843
- [zuul/zuul] 838971: Add unit test for zuul_json text result parsing https://review.opendev.org/c/zuul/zuul/+/838971
- [zuul/zuul] 839672: zuul_json: remove no_log handling https://review.opendev.org/c/zuul/zuul/+/839672
@iwienand:matrix.orgClark: ^ you know how i love a commit log essay; well hopefully 839672 convinces us that we don't need any of it.  i've traced and verified locally, but i think there's enough there to go on01:12
-@gerrit:opendev.org- Ian Wienand proposed: [zuul/nodepool] 839681: AWS tests: cleanup image deletion checking https://review.opendev.org/c/zuul/nodepool/+/83968104:16
-@gerrit:opendev.org- Zuul merged on behalf of Dr. Jens Harbott: [zuul/nodepool] 834152: Fix flavor handling for openstacksdk 1.0 https://review.opendev.org/c/zuul/nodepool/+/83415204:32
-@gerrit:opendev.org- Zuul merged on behalf of Tobias Henkel: [zuul/nodepool] 744107: Delete init nodes when resetting lost requests https://review.opendev.org/c/zuul/nodepool/+/74410706:04
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/zuul] 837423: Remove unused functions from zuul.ansible.paths https://review.opendev.org/c/zuul/zuul/+/83742306:14
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com:06:31
- [zuul/zuul] 837424: Remove actiongeneral / actiontrusted dirs https://review.opendev.org/c/zuul/zuul/+/837424
- [zuul/zuul] 837425: Remove plugin tests https://review.opendev.org/c/zuul/zuul/+/837425
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/zuul] 837426: Remove executor plugin checks https://review.opendev.org/c/zuul/zuul/+/83742606:32
-@gerrit:opendev.org- Zuul merged on behalf of Ian Wienand: [zuul/nodepool] 788684: Switch to using openstackclient https://review.opendev.org/c/zuul/nodepool/+/78868408:48
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/zuul] 837427: Add docs about additional security considerations https://review.opendev.org/c/zuul/zuul/+/83742708:52
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com:09:01
- [zuul/zuul] 837428: Remove unrestricted Ansible spec https://review.opendev.org/c/zuul/zuul/+/837428
- [zuul/zuul] 837752: Remove built-in ARA support https://review.opendev.org/c/zuul/zuul/+/837752
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com:09:01
- [zuul/zuul] 838002: Update testing to Python 3.8 and 3.9 https://review.opendev.org/c/zuul/zuul/+/838002
- [zuul/zuul] 837629: Add support for Ansible 5 https://review.opendev.org/c/zuul/zuul/+/837629
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com:09:01
- [zuul/zuul] 838602: Add a bubblewrap ro mount test https://review.opendev.org/c/zuul/zuul/+/838602
- [zuul/zuul] 838603: Remove unused bwrap-mounts test fixtures https://review.opendev.org/c/zuul/zuul/+/838603
@tdt77:matrix.orgjust discovered the project today, tried https://zuul-ci.org/docs/zuul/latest/tutorials/quick-start.html#quick-start and it asks you to clone via http `git clone http://localhost:8080/zuul-config` but then  when you try to commit with `git review` it cannot connect due to authentication failure, seems that it meant to use ssh and your private key which is impossible with http. What am I doing wron?09:16
@tdt77:matrix.org * just discovered the project today, tried https://zuul-ci.org/docs/zuul/latest/tutorials/quick-start.html#quick-start and it asks you to clone via http `git clone http://localhost:8080/zuul-config` but then  when you try to commit with `git review` it cannot connect due to authentication failure, seems that it meant to use ssh and your private key which is impossible with http. What am I doing wrong?09:16
@gchauvel:matrix.orgtdt77:  the tutorial shows where to add a public key to a gerrit account https://zuul-ci.org/docs/zuul/latest/tutorials/quick-start.html#add-your-gerrit-account    otherwise use "git review -r ogiin"09:38
@gchauvel:matrix.org * tdt77:  the tutorial shows where to add a public key to a gerrit account https://zuul-ci.org/docs/zuul/latest/tutorials/quick-start.html#add-your-gerrit-account    otherwise use "git review -r origin"09:38
@gchauvel:matrix.org * tdt77:  the tutorial shows where to add a public key to a gerrit account https://zuul-ci.org/docs/zuul/latest/tutorials/quick-start.html#add-your-gerrit-account    otherwise use "git review -r origin"  . You must generate a http password first, "HTTP Credentials" in gerrit user settings09:39
@avass:vassast.orga change in the ansible-relax stack timed out so I gave it a nudge and it looks like everything merged :)09:50
@tdt77:matrix.org> <@gchauvel:matrix.org> tdt77:  the tutorial shows where to add a public key to a gerrit account https://zuul-ci.org/docs/zuul/latest/tutorials/quick-start.html#add-your-gerrit-account    otherwise use "git review -r origin"  . You must generate a http password first, "HTTP Credentials" in gerrit user settings11:18
Thank you for responding. I did follow tutorial and did add the public key. The problem seems to be that it is not possible to use this key when cloning over HTTP as the tutorilal prescribes. This is an SSH key and can only be used with SSH
@tdt77:matrix.orgDid I get that wrong?11:18
@q:fricklercloud.detdt77: git-review uses a second remote that is independent of the "origin" remote. the quickstart setup creates a .gitreview file in the example repos that instruct git-review to use ssh https://opendev.org/zuul/zuul/src/branch/master/doc/source/examples/playbooks/roles/create_project/tasks/main.yaml#L28-L3311:39
-@gerrit:opendev.org- Zuul merged on behalf of Ian Wienand: [zuul/nodepool] 826541: Revert "Remove openstacksdk from siblings job" https://review.opendev.org/c/zuul/nodepool/+/82654111:46
@tdt77:matrix.org> <@q:fricklercloud.de> tdt77: git-review uses a second remote that is independent of the "origin" remote. the quickstart setup creates a .gitreview file in the example repos that instruct git-review to use ssh https://opendev.org/zuul/zuul/src/branch/master/doc/source/examples/playbooks/roles/create_project/tasks/main.yaml#L28-L3311:53
Thank you, that makes sense. Here is the error I'm getting and my .gitreview https://gist.github.com/AndrewSav/3060269ea8a8ca27dab5588882b49374 What could be wrong?
@tdt77:matrix.orgDoes it _have_ to be localhost?11:54
@q:fricklercloud.dewhat does "git remote -v" show?11:55
@tdt77:matrix.org```11:55
origin http://192.168.6.197:8080/zuul-config (fetch)
origin http://192.168.6.197:8080/zuul-config (push)
```
@tdt77:matrix.orgThis is what I would expect because this is where I cloned it from11:56
@q:fricklercloud.dehmm, which command are you trying to run and is output.txt the complete output?11:57
@tdt77:matrix.orgyes it is. The command is `git review`11:58
@tdt77:matrix.orgwhich is also the complete command11:58
@q:fricklercloud.deusually git-review should create a second remote called "gerrit", I'm not sure why that isn't happening, I'll have to leave this to others to find out12:01
@tdt77:matrix.orgthank you for your help12:01
@gchauvel:matrix.org> <@tdt77:matrix.org> Thank you for responding. I did follow tutorial and did add the public key. The problem seems to be that it is not possible to use this key when cloning over HTTP as the tutorilal prescribes. This is an SSH key and can only be used with SSH12:05
In Gerrit, you can look at Browse->Repositories->"zuul-config" , you will see in download the difference between "Anonymous HTTP" and "(Authenticated) HTTP". git clone http://localhost:8080/zuul-config is anonymous, to clone: you don't need http credentials, and setting a ssh pubkey is of course not required for http. to send a change you must be identified
@tdt77:matrix.orgThis all also makes sense, it's just unusual for the tutorial to give the sequence of command that has no chance to work, that's why I was confused. First it tells you to clone via HTTP the it tells you to commit and do `git review` and it does not say anything about switching the remote, or HTTP credentials in between12:08
@tdt77:matrix.orgAdding the HTTP credentials worked by the way - I just tried. Thank you for pointing me to the right direction12:09
-@gerrit:opendev.org- Guillaume Chauvel proposed: [zuul/zuul] 839728: tutorial: quick-start doc: Fix filename style https://review.opendev.org/c/zuul/zuul/+/83972812:25
-@gerrit:opendev.org- Matthieu Huin https://matrix.to/#/@mhuin:matrix.org proposed: [zuul/zuul] 796270: Tests: add non-voting unit testing for Python 3.10 https://review.opendev.org/c/zuul/zuul/+/79627012:44
@jim:acmegating.comtdt77: running `git review` should automatically create the second remote according to the .gitreview file and use it.; it's unclear why that didn't happen in your case.  can you try running `git review -s -v` and paste the output?  that should tell it to set up the remote and output verbose information.14:42
-@gerrit:opendev.org- Joshua Watt proposed: [zuul/nodepool] 839226: Do not reset quota cache timestamp when invalid https://review.opendev.org/c/zuul/nodepool/+/83922615:25
@jpew:matrix.orgIf someone could take a look at https://review.opendev.org/c/zuul/nodepool/+/839226 I would appreciate it. It's the fix (now with a test) to fix the problem I described yesterday15:26
@jpew:matrix.org> <@jpew:matrix.org> If someone could take a look at https://review.opendev.org/c/zuul/nodepool/+/839226 I would appreciate it. It's the fix (now with a test) to fix the problem I described yesterday15:27
Notably, the test I wrote fails without the fix, showing that the OpenStack behavior wasn't functioning as intended
@y2kenny:matrix.orgWhat is the expected behavior when there are multiple job definition of the same name?  For example, let say I defined a job in repo A master branch and then someone forked the master branch?15:55
-@gerrit:opendev.org- Zuul merged on behalf of Dong Zhang: [zuul/zuul] 834857: Fix bug in getting changed files https://review.opendev.org/c/zuul/zuul/+/83485715:56
@jim:acmegating.comKenny Ho: https://zuul-ci.org/docs/zuul/latest/config/job.html#job paragraph 416:00
-@gerrit:opendev.org- Mirzad Mohandespour proposed: [zuul/zuul] 839784: Fix a minor bug in quick-start tutorial https://review.opendev.org/c/zuul/zuul/+/83978416:00
@y2kenny:matrix.orgAh, thanks for the pointer.  So that's what variant is... 16:01
@y2kenny:matrix.orgok... and this might explains why my job is not triggering even though it's in the projects.yaml.: https://zuul-ci.org/docs/zuul/latest/config/job.html#attr-job.branches16:06
@y2kenny:matrix.orgum... this variant thing seems very complicated.  So let say I have a trigger defined as => project: check: jobs: - build-A: branches: master, and if build-A has variant, and the definition of build-A doesn't have branches as part of the definition then the job wouldn't go off?16:13
@clarkb:matrix.orgKenny Ho: in general avoiding  using the branches: parameter simplifies things. Then whatever is defined on each branch is used16:17
@clarkb:matrix.orgif a branch isn't present then it falls back to your default branch (main/master/etc)16:17
@y2kenny:matrix.orgdo people generally use variants or is it just a necessary complexity due to forking?  (I haven't need to deal with variants at all until recently... and it's only by accident because someone forked the branch without me knowing about it.)16:18
@clarkb:matrix.orgIn OpenStack land there is a lot of branch variant usage as different stable versions of openstack run on different platforms and have slightly different CI deployment code16:19
@clarkb:matrix.orgbut we push to use implicit variants based on the content of the branch to simplify that16:19
@clarkb:matrix.orgso when openstack/nova runs its stable/xena jobs they use the stable/xena versions of devstack and the devstack jobs16:19
@y2kenny:matrix.orgok... I think I somewhat see the use case...16:21
@y2kenny:matrix.orgI am using the branches as a way to filter the gerrit/git events as a trigger for different jobs16:22
@y2kenny:matrix.orgmainly because different branches are own by different team and they use different CI (or not have CI)16:24
@y2kenny:matrix.organd job triggers and definition are generally stored separately from the source code (because many of the projects/repos are open source projects that uses a different CI.)16:26
@y2kenny:matrix.org(or not have CI)16:26
@clarkb:matrix.orgah ya if the zuul configs are managed separately then this becomes trickier and you often do need to explicitly set branches:16:27
@y2kenny:matrix.orgif I understand this correctly, variants is most useful if zuul's yaml are defined with the source code right?16:27
@clarkb:matrix.orgI hesitate to say most useful, but they are definitely useful in that scenario16:27
@y2kenny:matrix.orgI was trying to understand what you meant by implicit... I think that may be the key different between our environment16:28
@y2kenny:matrix.orglike... I don't think I can check in a zuul.d into the linux kernel tree16:28
@clarkb:matrix.orgimplicit uses the current branch of the current chagne to determine which versions of variants to use implicitly16:38
@clarkb:matrix.orgexplicit is when you mark a job with branches: foo and then that branch will always get taht config applied16:38
@y2kenny:matrix.orgok yea, that make sense16:38
@clarkb:matrix.orgwhen you use branches: I would suggest you do it in a repo that doesn't get branches forked off of main/master etc16:39
@clarkb:matrix.orgbecuse then you'll have multiple copies of a job specifying branches which means both versions of the job get applied together which is weird16:39
@fungicide:matrix.organd it doesn't have to be configuration in the same project (though it could be)16:39
@y2kenny:matrix.orgyea... and I think Zuul just doesn't kick off the job at that point16:40
@clarkb:matrix.orgit will actually run a job in that situation but it will have a weird inheritance tree16:40
@y2kenny:matrix.orgcan I also prevent this by limiting the scope in the tenant config?16:40
@fungicide:matrix.orgif you had a linux-kernel-jobs repo with the same branch names as the linux kernel repository then you could still take advantage of implicit branch matching, for example16:40
@y2kenny:matrix.orgfungi: Ah ok.16:41
@y2kenny:matrix.organd the only way for variants to work is implicit right?16:42
@fungicide:matrix.orgbut yes, the main places i see it used are when your project has zuul configuration inside it, and then you branch the project, the state of your jobs at the point you branched are branched along wit the project and can diverge with that branch16:42
@y2kenny:matrix.org(I am not sure if I can think of a way to explicitly select a vraiant.)16:42
@y2kenny:matrix.orgvia something in the yaml16:43
@fungicide:matrix.orgthere are other ways variants show up, i think? like if you include a job in another project but override some of its parameters, that creates a variant16:43
@fungicide:matrix.org(as opposed to inheriting the job and creating a new job with that as its parent)16:44
@fungicide:matrix.orgin a project pipeline definition, i mean16:44
@y2kenny:matrix.orgoh... I did not consider that a variant but I guess that kind of is.  I actually have been using that a lot16:44
@y2kenny:matrix.orgalmost treating it like anonymous function... but I guess it is a variant16:45
@y2kenny:matrix.org(and I might be mixing up all the terms now... I should stop...:))16:46
@clarkb:matrix.orgthinking about the linux kernel one approach may be to try and convince users (if they don't already) use a consistent format for branching then your zuul can match that format something like branches: ^user/ready-for-ci-.*16:48
@clarkb:matrix.orgThen you can match users who have opted into the system and use that pattern16:48
@fungicide:matrix.orgyes, going back to the openstack example, their branching is mostly creating stable support branches at each major release, where critical fixes can be backported. openstack is sort of the antithesis of a monorepo, with development spread across hundreds of individual git repositories, but because they use consistent branch names across all the repositories they can share branched variants of jobs when performing integration testing, inheriting from branched test frameworks, and so on16:50
@y2kenny:matrix.orgUm... I'll need to think about that a bit.  I think that would be good if there are a lot of variants in the jobs and people are actively managing them.  But if all the zuul configs are mostly the same and we only have one or two guy administering the configs, then having centralized explicit config may be easier16:52
@y2kenny:matrix.orgon an unrelated topic... can this go in? https://review.opendev.org/c/zuul/zuul/+/83706316:55
@fungicide:matrix.orgyeah, the explicit "branches:" as a matcher is useful for scenarios where you have centralized job configuration, but you're better off not doing that in a repository with branches (trusted config repos are a prime example of the sort of place where we use that in opendev)16:57
@fungicide:matrix.org * yeah, the explicit "branches:" as a matcher is useful for scenarios where you have centralized job configuration, but you're better off not doing that in a repository which itself has branches (trusted config repos are a prime example of the sort of place where we use that in opendev)16:58
@fungicide:matrix.org> <@y2kenny:matrix.org> on an unrelated topic... can this go in? https://review.opendev.org/c/zuul/zuul/+/83706316:59
have you looked into the job failures for that change yet?
@y2kenny:matrix.org> <@fungicide:matrix.org> have you looked into the job failures for that change yet?17:15
I thought those are unrelated failure not caused by the change but I can always double check.
@clarkb:matrix.orgthe tests check the status reports so it may be that you need to update the tests to match the new format17:27
@y2kenny:matrix.orgok.17:28
@y2kenny:matrix.orgI am actually having trouble opening some of the test results because the size of the log is crashing my browser17:28
@clarkb:matrix.orgKenny Ho: https://a5375e49235af986f15f-80527d3715cd24d9d5daf12827bd66d5.ssl.cf5.rackcdn.com/837063/3/check/zuul-tox-py38/bb090f4/testr_results.html17:29
@clarkb:matrix.orgthat file is probably the least painful way to look at them17:29
@clarkb:matrix.orgif you clikc the fail link for a test it expands to give you more info17:29
@y2kenny:matrix.orgah thanks for this.  I will dig into it17:30
-@gerrit:opendev.org- Joshua Watt proposed: [zuul/nodepool] 839226: Do not reset quota cache timestamp when invalid https://review.opendev.org/c/zuul/nodepool/+/83922619:35
@fungicide:matrix.org2022-04-08 19:20:03,388 zuul.Pipeline.tenant-one.gate-merge ERROR    Exception while reporting17:57
Traceback (most recent call last):
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/manager/__init__.py", line 343, in sendReport
ret = reporter.report(item)
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/driver/pagure/pagurereporter.py", line 59, in report
self.addPullComment(item)
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/driver/pagure/pagurereporter.py", line 75, in addPullComment
message = comment or self._formatItemReport(item)
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/reporter/__init__.py", line 137, in _formatItemReport
ret = self._getFormatter(action)(item, with_jobs)
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/reporter/__init__.py", line 174, in _formatItemReportSuccess
msg += '\n' + item.formatStatusUrl()
TypeError: can only concatenate str (not "NoneType") to str
@fungicide:matrix.orgKenny Ho: i'm not sure how to do preformatted text in matrix, but that's the traceback i see in the failing tests, so does look related to your change17:58
@fungicide:matrix.orgi guess item.formatStatusUrl() is returning None in some cases17:59
@clarkb:matrix.orgfungi: use ` ` ` without the spaces between and then shift + return18:00
@clarkb:matrix.orghahaha18:00
@clarkb:matrix.orglet me try that again18:00
@clarkb:matrix.org```18:00
```
```
@clarkb:matrix.orgit just gets worse18:00
@clarkb:matrix.orgsometimes markup is its own worse enemy18:00
@fungicide:matrix.org * ```2022-04-08 19:20:03,388 zuul.Pipeline.tenant-one.gate-merge ERROR    Exception while reporting18:01
Traceback (most recent call last):
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/manager/\_\_init\_\_.py", line 343, in sendReport
ret = reporter.report(item)
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/driver/pagure/pagurereporter.py", line 59, in report
self.addPullComment(item)
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/driver/pagure/pagurereporter.py", line 75, in addPullComment
message = comment or self.\_formatItemReport(item)
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/reporter/\_\_init\_\_.py", line 137, in \_formatItemReport
ret = self.\_getFormatter(action)(item, with\_jobs)
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/reporter/\_\_init\_\_.py", line 174, in \_formatItemReportSuccess
msg += '\\n' + item.formatStatusUrl()
TypeError: can only concatenate str (not "NoneType") to str
@fungicide:matrix.orgthanks!18:01
@clarkb:matrix.orgthree backticks on their own line, then return and content, then three backticks to compelte the quote18:01
@fungicide:matrix.orgapparently it's forgiving if you omit the closing backticks too18:01
@fungicide:matrix.organd the leading ones adon't have to be on their own line either18:02
@clarkb:matrix.org * sometimes markup is its own worst enemy18:02
@fungicide:matrix.orgi discovered this by prepending three backticks to the tracemack and then trying to insert a newline by hitting the enter key, which instead confirmed the edit18:02
@fungicide:matrix.org * i discovered this by prepending three backticks to the traceback and then trying to insert a newline by hitting the enter key, which instead confirmed the edit18:03
@fungicide:matrix.org * ```18:03
@fungicide:matrix.org * ```18:04
2022-04-08 19:20:03,388 zuul.Pipeline.tenant-one.gate-merge ERROR Exception while reporting
Traceback (most recent call last):
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/manager/__init__.py", line 343, in sendReport
ret = reporter.report(item)
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/driver/pagure/pagurereporter.py", line 59, in report
self.addPullComment(item)
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/driver/pagure/pagurereporter.py", line 75, in addPullComment
message = comment or self._formatItemReport(item)
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/reporter/__init__.py", line 137, in _formatItemReport
ret = self._getFormatter(action)(item, with_jobs)
File "/home/zuul/src/opendev.org/zuul/zuul/zuul/reporter/__init__.py", line 174, in _formatItemReportSuccess
msg += '\n' + item.formatStatusUrl()
TypeError: can only concatenate str (not "NoneType") to str
```
@fungicide:matrix.org * and the leading ones don't have to be on their own line either18:04
@y2kenny:matrix.org> <@fungicide:matrix.org> i guess item.formatStatusUrl() is returning None in some cases18:49
thanks for identifying that. How did you spot that quickly? (I see a lot of error and exception and a wall of text when I look at the test reports... I am not sure how to narrow it down quicker.)
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com:21:46
- [zuul/zuul] 839265: Add base_sha support to gitlab driver https://review.opendev.org/c/zuul/zuul/+/839265
- [zuul/zuul] 839266: Add more files tests to Pagure driver https://review.opendev.org/c/zuul/zuul/+/839266
-@gerrit:opendev.org- Kenny Ho proposed: [zuul/zuul] 837063: Add build set URL to reporter https://review.opendev.org/c/zuul/zuul/+/83706323:05
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com:23:55
- [zuul/zuul] 838047: Conditionally avoid refreshing jobs and builds from ZK https://review.opendev.org/c/zuul/zuul/+/838047
- [zuul/zuul] 838561: Make nodepool hostvars available on unreachable hosts https://review.opendev.org/c/zuul/zuul/+/838561

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!