Monday, 2020-10-26

*** tosky has quit IRC00:28
*** LinPeiWen has joined #openstack-nova00:41
*** sapd1_x has quit IRC00:52
*** suryasingh has joined #openstack-nova01:11
*** dklyle has joined #openstack-nova01:37
openstackgerritBilly Olsen proposed openstack/nova stable/ussuri: Set migrate_data.vifs only when using multiple port bindings  https://review.opendev.org/75915102:18
*** ociuhandu has joined #openstack-nova02:19
*** sapd1_x has joined #openstack-nova02:19
*** ociuhandu has quit IRC02:24
*** dklyle has quit IRC02:34
*** rcernin has quit IRC03:09
*** rcernin has joined #openstack-nova03:14
*** ircuser-1 has quit IRC05:27
*** sapd1_x has quit IRC05:31
*** evrardjp has quit IRC05:33
*** evrardjp has joined #openstack-nova05:33
*** brinzhang has joined #openstack-nova05:42
*** sapd1_x has joined #openstack-nova05:58
*** vishalmanchanda has joined #openstack-nova06:13
*** tabbie_fash has joined #openstack-nova06:15
*** tabbie_fash has quit IRC06:36
*** ralonsoh has joined #openstack-nova07:03
*** slaweq has joined #openstack-nova07:09
*** slaweq has quit IRC07:36
*** rcernin has quit IRC07:41
*** Diavel has joined #openstack-nova07:52
*** rpittau|afk is now known as rpittau07:57
*** rcernin has joined #openstack-nova08:01
*** rcernin has quit IRC08:07
bauzasgood morning Nova08:10
*** brinzhang_ has joined #openstack-nova08:11
*** slaweq has joined #openstack-nova08:12
*** brinzhang has quit IRC08:14
*** andrewbonney has joined #openstack-nova08:16
*** tesseract has joined #openstack-nova08:20
*** rcernin has joined #openstack-nova08:22
*** rcernin has quit IRC08:26
*** tesseract has quit IRC08:32
*** tesseract has joined #openstack-nova08:32
*** tesseract has quit IRC08:32
*** tesseract has joined #openstack-nova08:33
*** rcernin has joined #openstack-nova08:33
*** abdysn has joined #openstack-nova08:38
gibibauzas: good mornin08:57
bauzasgibi: well, it's raining, we're on winter TZ, not a lot of sunlight, and I just looked that maybe we should be again on lockdown by Saturday09:04
bauzas:p09:04
bauzasso, a good one ?09:04
bauzas:p09:04
bauzasat least the coffee is good :p09:05
gibiit was raining the whole weekend here and the TZ change hit here too. Our governent now tries not to do anyithing about the virus, so even though the numbers are raising rapidly nobody talks about lockdown09:05
*** Diavel has quit IRC09:06
bauzasgibi: nw, I was joking ;-)09:07
gibiit could be worse :)09:07
bauzasindeed ;)09:07
*** ociuhandu has joined #openstack-nova09:07
kashyapgibi: Yeah, wholesale lockdown is complex :-(09:08
kashyapgibi: One the one side, it is effective at controlling the spread of virus; on the other, complete sectors of economies become a train wreck that is Jupiter-sized09:09
openstackgerritWenping Song proposed openstack/nova-specs master: Support vGPU management by Cyborg  https://review.opendev.org/75011609:09
*** slaweq has quit IRC09:12
gibikashyap: we had a controlled lockdown during spring, we have nothing right now (exepct some lukewarm rule about masks). I'm not an economist but I imagine there is a lot of possible actions between full lockdown and nothing09:13
kashyapgibi: Yeah, I hear you; controlled lockdown makes sense.09:14
gibie.g. we had controlled timeslots for groceries during sping.09:14
gibispring09:14
fricklerbauzas: gibi: do you have a bug report already for the eventlet update issue (https://review.opendev.org/759506)? seeing this coming up in multiple channels now because it seems to break almost everyone09:15
kashyap(Full lockdown is also a "policital suicide")09:15
gibifrickler: I was on PTO on Friday I need to look back what happened there09:16
gibikashyap: I agree on the full lockdown thing09:16
kashyapgibi: Right now, here in Belgium is a "controlled lockdown" - all cafes/bars/restaurants closed for a month; no going out from midnight to 05:00 AM (it's even stricter in Brussels); etc.09:17
gibifrickler: we have https://review.opendev.org/#/q/topic:dnm-eventlet-revert+(status:open+OR+status:merged) but I don't see a bugreport09:18
openstackgerritWenping Song proposed openstack/nova-specs master: Support vGPU management by Cyborg  https://review.opendev.org/75011609:18
gibikashyap: that sounsd something I can welcome here too. We have football games with full house here, crazy09:19
gibifrickler: is this the bug? https://bugs.launchpad.net/nova/+bug/190138309:19
openstackLaunchpad bug 1901383 in OpenStack Compute (nova) "nova-compute fails with "TypeError: Parameterized generics cannot be used with class" with python 3.6 and libvirt-python 6.8.0" [Critical,New]09:19
kashyapgibi: Oh dear ... that "full house" part sounds like a petri dish to let the virus "flourish"09:20
fricklergibi: yes, except it doesn't seem to be related to either py36 nor libvirt, but eventlet, as the jobs are passing with the cap melwitt made09:22
gibifrickler: do you mean https://review.opendev.org/#/c/759552 as the cap? this caps libvirt-python09:25
bauzasfrickler: I thought melwitt reported the problem09:29
lyarwoodFWIW I'm rasing the libvirt-python issue with danpb downstream now09:30
fricklergibi: oh, indeed, I didn't notice there was a new version09:30
* bauzas fetches the ML link09:30
bauzasfrickler: gibi: https://bugs.launchpad.net/nova/+bug/190138309:30
openstackLaunchpad bug 1901383 in OpenStack Compute (nova) "nova-compute fails with "TypeError: Parameterized generics cannot be used with class" with python 3.6 and libvirt-python 6.8.0" [Critical,New]09:30
lyarwoodwe might want to land the revert anyway while we get a bug filed against libvirt-python etc09:30
bauzasoh man, I'm burned by gibi09:30
kashyapYeah, perhaps copy/pasting (with credit) what Mel wrote in here - https://gitlab.com/libvirt/libvirt-python/-/issues09:32
*** rcernin has quit IRC09:39
*** jangutter has quit IRC09:47
*** jangutter has joined #openstack-nova09:48
*** k_mouza has joined #openstack-nova09:56
gibilyarwood: I agree09:57
*** rcernin has joined #openstack-nova09:59
*** rcernin has quit IRC10:04
*** zzzeek has quit IRC10:15
*** zzzeek has joined #openstack-nova10:18
*** rcernin has joined #openstack-nova10:23
lyarwoodgibi: any objections if I pushed an updated PS for the revert?10:29
bauzaslyarwood: I'm also good with10:29
lyarwoodack, lets do that then10:29
lyarwoodgibi / bauzas ; okay done - https://review.opendev.org/75955210:32
lyarwoodmelwitt: ^ btw once you're online, we are going to push ahead with the revert to unblock the gate10:32
*** rcernin has quit IRC10:33
bauzaslyarwood: also, we should make sure that libvirt-python==6.8.0 shouldn't be used in nova10:33
lyarwoodbauzas: it's not10:34
lyarwoodbauzas: oh wait, you mean an actual startup check?10:34
bauzasno10:35
lyarwoodbauzas: ah just a requirements check10:35
bauzasactually https://github.com/openstack/nova/blob/master/requirements.txt10:35
lyarwoodyeah10:35
lyarwoodhmm well10:35
lyarwoodthe issue there is10:35
bauzassomething like libvirt-python!=6.8.010:35
lyarwoodthat not all drivers actually need it10:35
lyarwoodso I'm not sure that we can put it in our requirements10:35
bauzaswell10:35
* lyarwood assumes that's why it isn't there already10:36
bauzassure, but then all the drivers wouldn't need 6.8.0, right?10:36
lyarwoodright so that's why it's in upper-constraints.txt10:36
bauzasmmmm, ok10:36
bauzasbut then once we get 6.8.1 ?10:37
*** rcernin has joined #openstack-nova10:37
lyarwoodyeah I'm not sure if we can add !=6.8.0 in uc10:37
lyarwoodbut I'd assume that would live somewhere in the requirements repo10:37
lyarwoodor we just move lc to 6.8.110:38
lyarwoodbut that smells wrong10:38
*** rcernin has quit IRC10:47
bauzaslyarwood: I was thinking on the nova req.txt file for not accepting 6.8.010:49
bauzassomething like https://github.com/openstack/nova/blob/master/requirements.txt#L4110:50
*** jangutter has quit IRC11:00
lyarwoodbauzas: yeah, I note pypowervm is actually listed there so I wonder if we can get away with virt driver specific things in there11:00
*** k_mouza has quit IRC11:01
bauzasah I see your point, you'd be afraid of having libvirt releases to be in the reqs file as it's not needed for all11:10
bauzasthen it's a good point11:11
bauzasI dunno what to say honestly11:11
*** tosky has joined #openstack-nova11:25
*** rcernin has joined #openstack-nova11:37
*** rcernin has quit IRC11:42
*** dtantsur|afk is now known as dtantsur11:47
*** slaweq has joined #openstack-nova11:52
*** jangutter has joined #openstack-nova11:52
*** Abdallahyas has joined #openstack-nova11:54
*** Abdallahyas has quit IRC11:55
*** abdysn has quit IRC11:58
*** raildo has joined #openstack-nova11:59
*** Diavel has joined #openstack-nova12:03
*** lpetrut has joined #openstack-nova12:10
*** adrianc has quit IRC12:13
*** adrianc has joined #openstack-nova12:14
*** sapd1_x has quit IRC12:48
*** lbragstad has joined #openstack-nova12:52
*** nweinber has joined #openstack-nova12:54
tobias-urdinsean-k-mooney: if you have some seconds, can you see my last comment on https://review.opendev.org/#/c/741529/12:56
*** eharney has joined #openstack-nova13:00
*** jamesden_ is now known as jamesdenton13:05
*** lpetrut has quit IRC13:09
*** rcernin has joined #openstack-nova13:10
*** lpetrut has joined #openstack-nova13:10
*** jdillaman has joined #openstack-nova13:16
*** Luzi has joined #openstack-nova13:16
*** ociuhandu has quit IRC13:17
*** bbowen_ has joined #openstack-nova13:17
*** dave-mccowan has joined #openstack-nova13:21
*** rcernin has quit IRC13:35
*** efried has joined #openstack-nova13:46
*** sapd1_x has joined #openstack-nova13:50
*** nweinber has quit IRC13:55
*** nweinber has joined #openstack-nova13:56
*** tobiash has quit IRC14:03
*** tobiash_ has joined #openstack-nova14:03
tobias-urdinsean-k-mooney: and new comment in bug https://bugs.launchpad.net/neutron/+bug/181598914:05
openstackLaunchpad bug 1815989 in OpenStack Compute (nova) "OVS drops RARP packets by QEMU upon live-migration causes up to 40s ping pause in Rocky" [Medium,In progress] - Assigned to sean mooney (sean-k-mooney)14:05
*** ralonsoh_ has joined #openstack-nova14:06
*** ralonsoh has quit IRC14:07
*** amodi has joined #openstack-nova14:07
sean-k-mooneyim replying now14:17
sean-k-mooneyneutron is shoudl have finished wiring up the port before sending network-vif-plugged14:18
sean-k-mooneywaiting for the port binding to be activiated is not correct.14:18
sean-k-mooneywell partly14:18
sean-k-mooneytobias-urdin: are you usuing post-copy14:18
sean-k-mooneythere is some ambiguity in the spec if the prot should be active before the port binding is active or not14:19
sean-k-mooneybut the semantics of network-vif-plugged is when its sent the vm shoudl have full network connectivity14:20
sean-k-mooneytobias-urdin: that race is a differnt race by the way so we should not use the same bug to track it14:21
*** macz_ has joined #openstack-nova14:24
*** ociuhandu has joined #openstack-nova14:29
tobias-urdinsean-k-mooney: after looking through the nova notifier in neutron, the port updates is subscribing to the BEFORE_RESPONSE event, so i assume that the event is sent before neutron-server sends the action out to the agents14:32
tobias-urdinso it's not really send when the agents are done binding the port14:32
tobias-urdinbut i assume that's only when the port goes to active state, but not really is up by the agents14:33
tobias-urdinthe reason it works better for instance spawns is because a spawn of a instance takes some seconds, checking there is not really any neutron events that can be sent out when an agents is done with a port, that's what we would like14:34
tobias-urdinhttps://opendev.org/openstack/neutron/src/branch/master/neutron/notifiers/nova.py#L10214:34
tobias-urdinhttps://opendev.org/openstack/neutron/src/branch/master/neutron/pecan_wsgi/hooks/notifier.py#L10114:34
sean-k-mooneytobias-urdin: the port shoudl have alreay been active14:38
sean-k-mooneythe port is in the active state on the souce host14:38
sean-k-mooneyso it a little ambigiuos14:38
sean-k-mooneyprior to rocky neutron would have considered it active14:38
sean-k-mooneywith the multipe port bidnign workflow we prebinding the port on the dest but that binding is not active14:39
sean-k-mooneyuntil post live migrate14:39
sean-k-mooneywe are expecting that the link state on the interface should be up but you could argue that it shold not be up until the binding is active14:40
sean-k-mooneywe disucssed that in the spec14:40
sean-k-mooneyill have to compare to what we agreed14:40
dansmithgibi: you were +2 on this initially, can you +W now that I've addressed the feedback? https://review.opendev.org/#/c/756534/14:41
*** dviroel has joined #openstack-nova14:43
tobias-urdinsean-k-mooney: that means the race is there, so the better way would be that neutron notifiers nova when the port is done on the destination node (i.e the neutron agent has fixed the port and it's ready for use)14:46
tobias-urdini can provide more debug information from the neutron ovs agent details if you want, i.e more lines than i posted in the launchpad bug14:46
sean-k-mooneytobias-urdin: to be clear this is a seperate issue form the bug your commeting on14:46
tobias-urdinsean-k-mooney: yeah, i understand that now, hence we will be running the patch is linked as a workaround for now14:47
sean-k-mooneytobias-urdin: there is an implcit race in this logic by desgin14:47
tobias-urdinor do you think there is a better workaround?14:47
tobias-urdini got a little big scared by your comment on that patch, did u see the question there?14:47
sean-k-mooneyit seam like you are hitting that implict race but its not clear we can ever fix that14:47
gibidansmith: looking...14:47
sean-k-mooneytobias-urdin: the conclict/question  basicely comes down to should neutron set the link state to active for inactive port bindings14:48
gibidansmith: done +2 +A14:50
tobias-urdinsean-k-mooney: im thinking in the terms of neutron sending a network-vif-up to nova, so that nova can wait for the port to come up, but maybe the nova driver hands of the resume of a migrated instance to libvirt so it never handles the last part of the live-migration14:50
dansmithgibi: thanks14:51
sean-k-mooneywhen there was only one port binding pre rocky neutorn would wire up the port and sicne there was only one binding it would consider it active at that point14:51
tobias-urdinsean-k-mooney: it's a pretty bad race though, since it's a complete outage for a vm until some traffic is generated from inside (which could be pretty much never)14:52
tobias-urdinsean-k-mooney: what do you see as the best workaround?14:52
tobias-urdinfor now14:52
tobias-urdinalso my last comment on https://review.opendev.org/#/c/741529/14:52
sean-k-mooneytobias-urdin: are you using postcopy14:52
tobias-urdinlive_migration_permit_post_copy is unset so default (false)14:53
sean-k-mooneytobias-urdin: so our libvirt/qemu team say that once you use the qemu commands it marks the instacne as tainted and they nolonger will support it14:54
sean-k-mooneye.g. if you ever use raw qemu command vi libvirt you nolonger have support for that vm from redhat virt team14:54
sean-k-mooneytobias-urdin: some qemu monitor command can break libvirt or currpt the guest14:55
*** tobiash_ is now known as tobiash14:55
*** mlavalle has joined #openstack-nova14:55
sean-k-mooneytobias-urdin: specificly some of the lowlevel block deivce commands14:56
tobias-urdinsean-k-mooney: ok, i'm more curious the reasoning because, if the command im running adds a risk14:56
tobias-urdinbut maybe that more of a question for somebody on that team14:56
sean-k-mooneythat command does not14:56
*** LinPeiWen has quit IRC14:57
sean-k-mooneybut we dont want ot say yes and no on a per command basis14:57
sean-k-mooneythat said danpb said adding a libvirt api for this would be a resonable thing to do14:57
tobias-urdinsean-k-mooney: i c, so the workaround is to stop using the new multiple port binding feature (which means patching code) or using my patch (which means patching code)14:58
sean-k-mooneytobias-urdin: no there is a longer race in that case14:58
sean-k-mooneytobias-urdin: i think neutron change teh behavior in the l2 agent14:59
sean-k-mooneyto require that it has an active portbining on the host14:59
tobias-urdinso if no changes are merged upstream, i still have to fix it downstream in our running nova/neutron code by patching it14:59
sean-k-mooneyi think this is something we need to talk about with the neutron folks14:59
sean-k-mooneyand come up with a supportable way forward15:00
tobias-urdinsean-k-mooney: roger that, thanks for your time!15:00
*** dklyle has joined #openstack-nova15:01
*** gyee has joined #openstack-nova15:04
*** ralonsoh_ is now known as ralonsoh15:08
*** lpetrut has quit IRC15:20
*** Diavel has quit IRC15:30
gibistephenfin: mypy is killing me. :) these tests mypy tests work until I add a simple member function to the class here https://github.com/gibizer/ovo-mypy-plugin/blob/main/ovo_mypy_plugin/tests/test.py#L5415:40
*** munimeha1 has joined #openstack-nova15:40
gibistephenfin: somehow it makes the fields.IntegerField name undefined in the scope of the fields dict15:40
gibicraaazyyy15:41
*** ociuhandu has quit IRC15:44
bauzasgibi: one of my points => if you need more time for providing mypy types to all the methods than the time you need to review new changes, then why should we supporting it ?15:59
bauzaswe have gerrit for this :)15:59
lbragstadgmann o/ is there a way for project admins to discover host information?16:00
lbragstadhttps://opendev.org/openstack/nova/src/branch/master/nova/policies/servers.py#L178-L19016:00
lbragstadgmann i'm wondering if a deployment opted into using the new defaults for nova, would that expose an API to project-administrators that they shouldn't have?16:01
lbragstador if it's not really useful since they can't discover compute hosts anyway16:01
bauzasanyway, /me needs to leave \o16:05
gibibauzas: I'm working on a mypy plugin that understands oslo versionedobjects and inject the dynamic field information to the static analyzer. If I can make it work then it potentially opens up the possibility to typecheck a lot of nova code tight to o.vos16:05
bauzaswell ok16:05
*** ralonsoh has quit IRC16:06
bauzasbut honestly, I can still review on any object modification and look at this16:06
gibibauzas: sure it is not to replace code review16:06
bauzasit's simple for o.vo objects16:06
sean-k-mooneylbragstad: we dont really have project admins16:06
bauzasgibi: but fair enough16:06
sean-k-mooneylbragstad: project admins are admins16:06
lbragstadsean-k-mooney ok - i was just looking through the policy and noticed that comment16:06
lbragstadit looks like only system administrators can list and view hypervisors and services16:07
* bauzas runs off16:07
sean-k-mooneyi dont think we make a distinciton16:07
sean-k-mooneylbragstad: between a system admin and any other type of admin16:07
sean-k-mooneyunless that has changed with the scopes thing16:08
lbragstadlooks like it did16:08
lbragstadhttps://opendev.org/openstack/nova/src/branch/master/nova/policies/hypervisors.py#L3716:08
lbragstadhttps://opendev.org/openstack/nova/src/branch/master/nova/policies/base.py#L11116:08
*** ociuhandu has joined #openstack-nova16:18
lbragstadsean-k-mooney i think i figured it out - thanks16:18
*** Luzi has quit IRC16:19
openstackgerritKashyap Chamarthy proposed openstack/nova-specs master: Re-propose "Secure Boot support for KVM & QEMU guests" for Wallaby  https://review.opendev.org/75973116:22
*** mlavalle has quit IRC16:30
*** whoami-rajat__ has joined #openstack-nova16:39
*** mlavalle has joined #openstack-nova17:00
*** jmlowe has quit IRC17:02
*** jmlowe has joined #openstack-nova17:05
*** rpittau is now known as rpittau|afk17:09
*** tosky has quit IRC17:17
*** tesseract has quit IRC17:28
*** bbowen_ has quit IRC17:28
*** ociuhandu_ has joined #openstack-nova17:31
*** ociuhandu has quit IRC17:34
*** JamesBenson has joined #openstack-nova17:35
*** ociuhandu_ has quit IRC17:36
*** dtantsur is now known as dtantsur|afk17:44
*** sapd1_x has quit IRC17:52
gmannlbragstad: yeah that is one of the todo to make system admin to create server for projects so that host info etc can be passed in.17:53
lbragstadgmann got it17:54
gmannlbragstad: project admin can get host info of existing server via GET /servers17:54
lbragstadany project user can do that, but only project administrators can exploit creating a server on a specific host, right?17:55
gmannand that way they can use current default which is PROJECT_ADMIN. not perfect default for now but something to improve with microversion17:55
gmannlbragstad: yes17:55
lbragstadok - cool17:55
*** recyclehero has quit IRC17:59
admin0hi guys .. how to fix placement database .. a compute node with instances has now a different uuid than what it was originally added as18:00
admin0so when nova-compute runs, it says unable to add host as name already exists18:01
admin0is it safe to rename a compute node while there are instances running there18:01
openstackgerritBalazs Gibizer proposed openstack/nova master: WIP: add ovo-mypy-plugin to type hinting o.vos  https://review.opendev.org/75885118:05
*** ociuhandu has joined #openstack-nova18:07
*** recyclehero has joined #openstack-nova18:10
*** munimeha1 has quit IRC18:12
*** ociuhandu has quit IRC18:13
*** coreycb has joined #openstack-nova18:16
*** hamalq has joined #openstack-nova18:23
*** nweinber has quit IRC18:44
*** nweinber has joined #openstack-nova18:44
*** rcernin has joined #openstack-nova18:47
*** andrewbonney has quit IRC18:51
*** rcernin has quit IRC18:51
*** recyclehero has quit IRC18:52
*** recyclehero has joined #openstack-nova18:58
*** vishalmanchanda has quit IRC19:43
*** nweinber has quit IRC19:46
*** nweinber has joined #openstack-nova19:46
*** recyclehero has quit IRC19:53
*** Diavel has joined #openstack-nova20:03
*** tosky has joined #openstack-nova20:43
*** luyao has quit IRC20:45
*** melwitt has quit IRC20:45
*** luyao has joined #openstack-nova20:45
*** nweinber has quit IRC20:47
*** nweinber has joined #openstack-nova20:48
*** nweinber has quit IRC20:55
*** rcernin has joined #openstack-nova20:59
*** rcernin has quit IRC21:01
*** rcernin has joined #openstack-nova21:01
*** rcernin has quit IRC21:10
*** Diavel has quit IRC21:30
*** rcernin has joined #openstack-nova21:34
*** rcernin has quit IRC21:43
*** nweinber has joined #openstack-nova21:52
*** nweinber has quit IRC21:52
*** rcernin has joined #openstack-nova22:00
*** rcernin has quit IRC22:06
*** JamesBenson has quit IRC22:07
*** rcernin has joined #openstack-nova22:07
*** JamesBenson has joined #openstack-nova22:07
*** slaweq has quit IRC22:10
*** rcernin has quit IRC22:12
*** JamesBenson has quit IRC22:12
gmanngibi: I added one topic 'Allow system admin to create server for other projects' in etherpad L458 - https://etherpad.opendev.org/p/nova-wallaby-ptg22:17
gmanngibi: I will be TC sessions on friday, if we can discuss it before Friday. anytime other than Friday I am ok.22:18
gmannsorry for adding it late.22:18
*** slaweq has joined #openstack-nova22:19
*** rcernin has joined #openstack-nova22:21
*** rcernin has quit IRC22:22
*** rcernin has joined #openstack-nova22:22
gmanngibi: basically two, one for policy warning also22:30
*** ociuhandu has joined #openstack-nova22:31
*** rcernin has quit IRC22:32
*** rcernin has joined #openstack-nova22:33
*** slaweq has quit IRC22:35
*** ociuhandu has quit IRC22:35
*** slaweq has joined #openstack-nova22:37
*** slaweq has quit IRC22:47
*** JamesBenson has joined #openstack-nova22:52
*** tkajinam has quit IRC22:55
*** tkajinam has joined #openstack-nova22:55
*** JamesBenson has quit IRC22:59
*** mlavalle has quit IRC23:03
*** JamesBenson has joined #openstack-nova23:25
*** tosky has quit IRC23:28
*** JamesBenson has quit IRC23:30

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