Thursday, 2026-02-19

opendevreviewJoan Gilabert proposed openstack/watcher master: Prepare to use openstacksdk instead of novaclient  https://review.opendev.org/c/openstack/watcher/+/97471008:52
opendevreviewJoan Gilabert proposed openstack/watcher master: Complete migration from novaclient to openstacksdk  https://review.opendev.org/c/openstack/watcher/+/97492408:52
opendevreviewJoan Gilabert proposed openstack/watcher master: Remove usage of novaclient from Watcher  https://review.opendev.org/c/openstack/watcher/+/97492508:52
opendevreviewJoan Gilabert proposed openstack/watcher master: Remove nova_helper retries for openstacksdk params  https://review.opendev.org/c/openstack/watcher/+/97549808:52
opendevreviewJoan Gilabert proposed openstack/watcher master: [DNM] Test openstacksdk changes without [nova] section  https://review.opendev.org/c/openstack/watcher/+/97729208:52
opendevreviewMarcin Wilk proposed openstack/watcher stable/2025.1: Add debug message to report calculated metric for workload_balance  https://review.opendev.org/c/openstack/watcher/+/97729909:43
*** tkajinam_ is now known as tkajinam10:13
opendevreviewJoan Gilabert proposed openstack/watcher master: Remove monasca datasource  https://review.opendev.org/c/openstack/watcher/+/96678611:13
jgilaberHi all! Reminder that the Watcher IRC meeting will start in ~30 minutes. Feel free to add any topics to the agenda https://etherpad.opendev.org/p/openstack-watcher-irc-meeting11:33
jgilaber#startmeeting watcher12:00
opendevmeetMeeting started Thu Feb 19 12:00:44 2026 UTC and is due to finish in 60 minutes.  The chair is jgilaber. Information about MeetBot at http://wiki.debian.org/MeetBot.12:00
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.12:00
opendevmeetThe meeting name has been set to 'watcher'12:00
jgilaberhi all o/, who is around today?12:01
dviroelo/12:01
jgilabercourtesy ping: amoralej sean-k-mooney chandankumar morenod rlandy12:01
sean-k-mooneyo/12:01
chandankumaro/12:02
fungiahoy!12:02
amoralej_o/12:02
jgilaberthanks for joining I think we can get started with the agend, feel free to add topics12:03
jgilaber#link https://etherpad.opendev.org/p/openstack-watcher-irc-meeting#L3612:03
jgilaber#topic Announcements12:03
jgilaberGazpacho schedule, next week is feature freeze12:04
jgilaberI've added the list of in progress blueprints and features that we targeted for this cycle12:04
jgilabera more complete list can be found in the status etherpad12:04
dviroel++12:04
jgilaber#link https://etherpad.opendev.org/p/watcher-2026.1-status12:05
jgilaberI'm not sure if we want to go over the list here, wdyt?12:05
sean-k-mooneythe osprofiler work is for next cycle12:05
jgilaberthat's true, the bluepring is not approved, my bad12:06
dviroeli think that we can keep cover the open blueprints12:06
sean-k-mooneybut we can hopefully compelt ethe reset in the next few days12:06
chandankumarjgilaber, I think we also moved watcher-dashboard unit/integration testing to next cycle12:06
dviroelyes,  both12:06
jgilaberack, thanks12:06
jgilaberlooks to me like we're in good shape12:06
jgilaberplease consider prioritizing these reviews so we don't have to rush too much close to the deadline12:07
sean-k-mooneyyes the sdk work is obvioulsy going to continue next cycle but we are makeing good progress there thanks jgilaber for working on that12:07
jgilaberany comments on any of the features?12:07
amoralej_for the skip12:07
jgilaberyes, the primary goal was to move novaclient, I think we'll get that12:07
jgilabergo ahead amoralej_ 12:07
amoralej_I mean https://blueprints.launchpad.net/watcher/+spec/skip-actions-in-pre-condition12:07
amoralej_there is https://review.opendev.org/c/openstack/watcher/+/976393 for volume_migrate12:08
amoralej_and there is also pending resize12:08
sean-k-mooneyack i can add that to my list i think we can likely get that in in the next week or so12:08
amoralej_i was waiting for the openstacksdk to be merged before sending the resize, but i can send my patch on top of the openstacksdk series12:08
sean-k-mooneyya that sound reasonable12:09
amoralej_i don't want to add more dependencies to the openstacksdk work which is much more complex12:09
jgilaberI started reviewing the volume_migrate this morning12:09
jgilaber+1 to adding it on top, I think the openstacksdk patches are close now12:09
amoralej_for the volume_migrate, other than the code aspect, about the conditions where i propose to skip12:10
amoralej_have any commnet?12:10
amoralej_- The volume does not exist12:10
amoralej_- The destination_type does not exist (if specified)12:10
amoralej_- The destination_node (pool) does not exist (if specified)12:10
amoralej_- The migration_type is 'retype' and the destination_type is the same as the12:10
amoralej_  current volume type12:10
amoralej_- The migration_type is 'migrate' and the destination_node is the same as the12:10
amoralej_  current volume host12:10
amoralej_wdyt ?12:10
sean-k-mooneyso some of those shoudl be rejected before we get to the audit execution time eventually12:11
amoralej_those would skip, you think that any of those should fail instead?12:11
sean-k-mooneybut i think overall that looks ok12:11
jgilaberthe last two I think could be interpreted as a failure instead of skip12:11
jgilaberI could see either way12:11
dviroelamoralej_: going to review volume migrate, but it will be better if you can send the resize asap, on top of the openstacksdk, later we can just rebase it12:11
amoralej_actually, for me the last two are more clear skip :) as it's requesting a state which is current12:11
jgilabersorry I misread that12:11
amoralej_i had more doubts about the destination type or pool do not exist12:12
jgilaberyes that is what I was thinking about12:12
amoralej_yeah, i had doubts about that too12:12
jgilaberI read the commit message a bit before starting the meeting12:12
sean-k-mooneyamoralej_: so all of the above are normlly thing thiat i owudl prefer to reject with a 400 in teh api when you define the audit12:12
jgilaberbut I had not gotten to that point in the code to comment12:12
sean-k-mooneyfor now i think skiping the invalid actions is an ok compromise12:12
amoralej_yes, but remember that things may change between audit execution and actionplan execution12:12
amoralej_so we will always need to check in actions too12:13
sean-k-mooneywe know migrate to the the same pool is invalid at the cinder level so we shoud lnto accpate that request12:13
sean-k-mooneyyep12:13
sean-k-mooneythat why im ok with skiping the action in that case12:13
amoralej_yep12:13
sean-k-mooneyjust down the road i woudl either want to not generate the action at all12:13
jgilaberto clarify, I'm ok with skipping for the list that you pasted here12:13
sean-k-mooneyi.e. filter earler or catch it at audit defintion time12:13
amoralej_ok, anyway, don't want to invest much time on this in the mtg as i guess there is more relevant stuff, feel free to comment there12:14
sean-k-mooneyi tihnk in the scope fo this cycle what you proposed above is ok provided we docuemnet it 12:14
amoralej_yeah, i agree it'd be good to validate at audit creation too12:14
jgilaberok, any other comments on the open features?12:15
sean-k-mooneyrelated12:15
sean-k-mooneychandan i belive you have the ui change to supprot skip in horizon12:15
sean-k-mooneywhat is the current state fo that work12:15
sean-k-mooneyis it blocked by the pkg_reosuces issues or have enough of the xstatic packages been promoted that our plugin and dashboard jobs are passing again?12:16
chandankumarsean-k-mooney, yes, it needs one more revision12:16
amoralej_I tested yesterday https://review.opendev.org/c/openstack/watcher-dashboard/+/958209 and leave a couple of comments12:16
chandankumarI am on it12:16
amoralej_great12:16
chandankumarjob is working fine in ci12:17
sean-k-mooneyack ok lets do a review after FF and see where we got to with these items. nothing elser form me on this so i think the floor is proably fungi's?12:17
jgilaberif there is nothing else we can move to the next topci from fungi 12:17
jgilaber#topic Bridging the Gap Flamingo Cycle Retrospective followup12:17
fungithis effort started with representatives from member organizations sharing frustrations with, primarily, their employees' experiences trying to contribute patches in various openstack projects12:18
fungiinvestigating these reports on a case-by-case basis, foundation staff concluded most misunderstandings were due to mismatched expectations arising from incomplete communication or silence (and not necessarily on the part of the maintainers)12:18
fungiwhat we've observed from successful exchanges in some projects is that increasing communication effectiveness ultimately leads to improved efficiency and time savings for all parties involved; some examples include:12:18
fungidocumenting review priorities and the prioritization process, as well as publicizing it more (e.g. with pointers in review comments), so that change owners know the priority for their own work and how to get involved in that decision12:18
fungiproactively communicating reviewer availability, changes in availability, and explicit handoff to other reviewers, so that change owners know how long they might be waiting (and encouraging them to communicate their own availability)12:18
fungioverall clearer communications with change owners, for example avoiding heavy reliance on acronyms and team-specific jargon, since english is not the primary language for a majority of our community and their familiarity with it varies12:18
fungito this end, i and other community managers on the foundation staff are working on putting together some materials that we hope teams will find useful, and will collaborate with us to help improve and expand further12:18
fungione thing we want to try is cut-and-paste review response templates for common situations; the vulnerability management team has used similar techniques for bug triage and assembling advisories, and they've found it saves a lot of time12:18
fungianother is assembling contributor and reviewer checklists to help avoid common pitfalls and anti-patterns, based on all of the earlier focus group feedback and brainstorming sessions we held with the community in 202412:18
fungisomething else we want to try is collaborating to produce case studies with companies who have been investing in project maintenance work and whose employees have a track record of successful contribution patterns12:19
fungiwe also plan to continue identifying additional tactics and strategies that teams have positive experiences with, to see if there's a way they can be generalized for adoption by other teams facing similar challenges12:19
fungiif anybody has follow-up thoughts or questions on any of the above, as well as for the survey and metrics analysis from last week now that you've had time to mull it over, i'm happy to answer questions and entertain feedback here12:19
fungi(or in irc after the meeting, or on the openstack-discuss mailing list, or even directly/in private for that matter)12:19
fungiand if not, i yield back the podium ;)12:20
sean-k-mooneyone thing i have been trying to push is more automated tool feedback. i.e by adopting ruff/pre-commit and by adding ai code review. so that all continbutors get feed back earler if possibel12:20
jgilaberthanks fungi there is some good advice there 12:20
fungiyeah, i'm eager to see where your llm-driven code review experiments end up, sean-k-mooney12:21
sean-k-mooneyas we have all got buiser withmore hats and less people i feel tool assited review is very imporant12:21
sean-k-mooneyfungi: i need to invest more tiem in makign it more widely useful but it has been finding bugs12:22
sean-k-mooneyit going to be a topic i want to dicuss at the ptg12:22
fungii've not used llm reviews myself, though i've seen some especially useless ones on github projects from microsoft's free tier of copilot12:22
sean-k-mooneybasiclly i want to see how the rest of the watcher team have found it12:22
jgilaberI've been positively surprised by the output12:22
sean-k-mooneysince im obviously biased by creating it :)12:22
jgilaberit often catches issues and it does not hallucinate too much12:23
sean-k-mooney^ that im plannitn to improve in the next few weeks. i have a collection of impovement planed12:23
amoralej_i guess it will be a topic for ptg discussion12:23
dviroelyeah,  I'm starting to look more at its outputs since it is adding valuable comments and finding lots of issues12:23
sean-k-mooneywell we can disucss it in other forms as well12:23
amoralej_also, it'd be great if we could reduce out-of-scope comments12:23
sean-k-mooneyyep that high on my list12:24
sean-k-mooneyi realise my comemnt treshold is curently at 0.6 instead of 0.8 and i actully watn to hold lower severity comment to a hihger treshold12:24
sean-k-mooneyi.e 0.8 for critical and 0.95 for suggestions for inlien comments12:25
sean-k-mooneyall obsrervations will still be in the html report12:25
fungiright, our meatspace reviewers mostly understand that commenting on style outside the lines being changed in the diff is poor form, and that commenting outside the lines changed is generally not helpful except when it's pointing out something relied on/used by the lines being changed/added/removed12:25
sean-k-mooneybut i want to increase the signal to noise ratio in the reviews12:25
sean-k-mooneyfungi: yep those are all conventions im plannign to teach it12:26
sean-k-mooneyand this is the feedback i want form the team before sharing it more widely12:26
fungimakes sense, sounds like awesome progress12:26
jgilaberok, any other comments on this topic before moving to reviews?12:26
fungithanks everyone!12:27
jgilaberthanks fungi!12:27
jgilaber#topic Reviews12:27
jgilaberwe only have one today, from dviroel 12:27
jgilaber#link https://review.opendev.org/c/openstack/watcher/+/97591612:27
jgilaberdviroel, did you want to point out anything?12:28
dviroelthis one was sent to cover a topic from last ptg12:28
sean-k-mooneyapproved :)12:28
dviroelI think that is a good to merge12:28
dviroeloh nice :)12:28
sean-k-mooneyil like -1+18 reviews12:28
sean-k-mooneymakes it really simple to review12:28
jgilaberquick and easy, let's triage some bugs then12:29
jgilaber#topic Bugs12:29
jgilaberwe have a few new bugs12:29
jgilaber#link https://bugs.launchpad.net/watcher/+bug/214199612:29
amoralej_yeah, i added some12:29
amoralej_some related to scalability, performance12:30
jgilaberthis first one seems like a nice improvement, but not critical12:30
amoralej_about that one, it's a simple one, we are printing up to three times the model on an audit execution, wasting time and cpu12:30
sean-k-mooneyamoralej_: i kind of agree we either rely on 1 or remove it and alwasy do it before and after execute but not in the stragy 12:31
amoralej_that can be easily cleaned to leave one print only. we can also optimize how we convert into text, but that's a different12:31
sean-k-mooneyas in make it something the descion envine does12:31
amoralej_so, my idea was to print it when the model for that particular audit execution is created12:32
sean-k-mooneyif we proceed with the teiring/stackign feature12:32
amoralej_actually, we already have that12:32
sean-k-mooneywe may need to print it between stages as well12:32
sean-k-mooneygiven we are disucssing mutating it 12:33
dviroelindeed12:33
amoralej_https://github.com/openstack/watcher/blob/bf6c7e2e27b8c48941652e63d8f65e23e6f6a146/watcher/decision_engine/model/collector/base.py#L18412:33
amoralej_tht's the one i want to keep12:33
sean-k-mooneyso _pre_execute and post_execute feel more natual to me 12:33
sean-k-mooneythat way i orgianlly saide remvoe it form get_latest_cluster_data_model12:33
amoralej_^ is executed on the first time the model is accessed from the strategy12:34
sean-k-mooneybut ya thats the one tha feels the lesst natural to me12:34
amoralej_why ?12:34
amoralej_i mean, note that's copying the model and creating a new one12:34
sean-k-mooneybecuase i woudl not expect gettign the model to have the side effect of printing it12:35
amoralej_it's not like a simple read mehtod12:35
sean-k-mooneyright aht also feels a bit incorect based on the name12:35
dviroeland this may not be the model that the strategy will be using, in case we provide a scope?12:35
amoralej_that's right12:36
amoralej_that's a good reason to remove that debug tbh12:36
sean-k-mooneyand keep https://github.com/openstack/watcher/blob/bf6c7e2e27b8c48941652e63d8f65e23e6f6a146/watcher/decision_engine/strategy/strategies/base.py#L25312:37
sean-k-mooneyright so we only print the one it actully used12:37
amoralej_yeah12:37
amoralej_you convinced me :)12:37
sean-k-mooneyi thikn for now if we remove it form post execute and remove it form the collector fucntion that woudl be the best path forward12:38
jgilaberok, so what about the importance? low/medium?12:38
dviroelyeah12:38
sean-k-mooneycan we rename get_latest_cluster_data_model as well12:38
sean-k-mooneyget_latest_cluster_data_model -> copy_latest_cluster_data_model12:38
sean-k-mooneyi would say low12:38
amoralej_actually, the model as derivated from networkx.Digraph provides already a copy method12:38
amoralej_maybe that's all we need12:39
sean-k-mooneyits anoying at debug level but not not operationaly problematic beyond that12:39
amoralej_yeah12:39
sean-k-mooneyamoralej_: sound like somethign that would be good to include in the clean up12:39
sean-k-mooneymy main concuer is that we need a deepcopy12:39
amoralej_anyway, i'll go with that idea of keep only in _pre_execute12:40
sean-k-mooneyso we woudl have to validate if networkx.Digraph does that or not12:40
amoralej_according to doc at least, i'd say so12:40
amoralej_but yeah, it may be good to compare the implementations12:40
dviroel+112:41
jgilabermarking the bug as low, any other comments for this one?12:41
amoralej_it's low, but not super low, imo :) note in a big environment, a host_migrate strategy took 25 seconds12:42
amoralej_24 were from the 3 prints :)12:42
amoralej_so cleaning that should reduce to ~8sec12:42
amoralej_but yeah, not the worst case we have12:43
jgilaberthat will be a nice improvement12:43
dviroellow is fine12:43
jgilabermoving to the second bug12:43
jgilaber#link https://bugs.launchpad.net/watcher/+bug/214167112:43
jgilaberthis is a folloup from last weeks meeting discussion, right dviroel?12:44
dviroelyes correct12:44
dviroelfollow up from https://bugs.launchpad.net/watcher/+bug/213104312:44
jgilaberso similarly, also low?12:44
dviroelthat I set to invalid, based on our discussions12:45
dviroelyeah so it is a doc improvement12:45
dviroeli would set as low12:45
dviroelbut still relevant to  propose a patch12:45
jgilaber+1, any other comment on this one?12:45
sean-k-mooneynot form me12:46
sean-k-mooneyi left my comments in the bug itself12:46
jgilaberack, thanks sean-k-mooney, moving to the third bug in the list12:46
jgilaber#link https://bugs.launchpad.net/watcher/+bug/214193712:46
amoralej_after doing some tets with zone_migration and observe memory consumption12:47
amoralej_https://launchpadlibrarian.net/847955712/Memory_zone_migration.png12:47
amoralej_looks like zone_migration execution increases memory and seems some memory is not garbage collected12:48
amoralej_I couldn't find where is that memory going, but i think there is some issue there12:48
sean-k-mooneywe likely have a dagneling refernce somewhere or a cycle 12:48
sean-k-mooneywe could add an explcit call to the python garbage collector at the end fo every action plan execution12:49
amoralej_i think we should also work on bugs.launchpad.net/watcher/+bug/211995712:49
sean-k-mooneythat can help with the cleanup of self referencial data stuctures12:49
sean-k-mooneyhttps://bugs.launchpad.net/watcher/+bug/2141937 i think sould be high12:50
sean-k-mooneyi also agree that working on https://bugs.launchpad.net/watcher/+bug/2119957 makes sense but i think medium is also approprate12:50
amoralej_ack12:51
sean-k-mooneyim not saying anything about the ordering here12:51
sean-k-mooneyjust that the potical memory leak is more operationally impactful12:51
dviroelyeah12:51
amoralej_i'm afraid that the leak may be related to connections, etc... and potentially those calls?12:52
amoralej_just a guess, tbh12:52
jgilaber+1, given that zone migration is the only strategy making direct calls to APIs it's possible that  solving https://bugs.launchpad.net/watcher/+bug/2119957 could fix https://bugs.launchpad.net/watcher/+bug/214193712:52
amoralej_yeah, that was my point, it's something pretty unique for that strategy12:52
sean-k-mooneyits possible but i dont think that is likely12:52
sean-k-mooneybut if its the only stragey where this is happeneing12:53
sean-k-mooneythen its worth a shot12:53
jgilaberbut https://bugs.launchpad.net/watcher/+bug/2141937 does seem potentially more dangerous so I agree with marking it high12:53
amoralej_yeah, sure12:53
sean-k-mooneywe need to fix both eventurlly in any case12:53
jgilaber+1, marking it as high and moving to the next bug if there are no further comments12:54
jgilaber#link https://bugs.launchpad.net/watcher/+bug/214193912:54
sean-k-mooneymedium.12:55
amoralej_as stated in the subject, vm_workloads_consolidation doesn't finish in big environment in more than 1 hr12:55
amoralej_medium lgtm12:56
sean-k-mooneyim saying medium because we can document this as a know limiation, and advices the node_workload_consolition as a workaround12:56
sean-k-mooneyi think we can optimise the algorthim to scale in the future12:56
sean-k-mooneyand should12:56
jgilaberok, looks like we are in agreement here, setting it as medium12:56
amoralej_I'd like to have some limit about when it starts finding issues, but i don0t have it12:56
sean-k-mooneybut btu we can also use scop or simialr to help here12:57
amoralej_we could document that, right12:57
sean-k-mooneyyep we could12:57
amoralej_So, similar for https://bugs.launchpad.net/watcher/+bug/214195112:58
jgilaberok, so we've got two minutes, I think we can leave it here and move the two missing bugs for next week 12:58
sean-k-mooneyby the way we shoudl start using tags o nthe bugs like perf12:58
sean-k-mooneyso we can track the types of bugs we have a littel better12:58
amoralej_i like that12:58
jgilaberthat sounds like a good idea12:59
sean-k-mooneylets loop back to that next week12:59
jgilaberI'll add it to the agenda for next week12:59
jgilaberlast topic 12:59
jgilaber#topic Volunteers to chair next meeting12:59
jgilaberany volunteer?13:00
amoralej_i can take it13:00
jgilaberthanks amoralej_ 13:00
dviroelnice, thanks amoralej_ 13:00
jgilaberthat's all for today, thanks everyone!13:00
jgilaber#endmeeting13:00
opendevmeetMeeting ended Thu Feb 19 13:00:40 2026 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)13:00
opendevmeetMinutes:        https://meetings.opendev.org/meetings/watcher/2026/watcher.2026-02-19-12.00.html13:00
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/watcher/2026/watcher.2026-02-19-12.00.txt13:00
opendevmeetLog:            https://meetings.opendev.org/meetings/watcher/2026/watcher.2026-02-19-12.00.log.html13:00
dviroelthanks jgilaber++13:00
amoralej_thanks jgilaber !13:01
chandankumarthanks jgilaber !13:02
opendevreviewAlfredo Moralejo proposed openstack/watcher master: Skip change_nova_service_state actions in pre_condition phase  https://review.opendev.org/c/openstack/watcher/+/97734016:33
opendevreviewAlfredo Moralejo proposed openstack/watcher master: Skip volume_migrate actions in pre_condition phase  https://review.opendev.org/c/openstack/watcher/+/97639316:40
opendevreviewMerged openstack/watcher master: Enable Applier parallel engine in native thread mode  https://review.opendev.org/c/openstack/watcher/+/97552217:28
opendevreviewJoan Gilabert proposed openstack/watcher master: Complete migration from novaclient to openstacksdk  https://review.opendev.org/c/openstack/watcher/+/97492418:07
opendevreviewJoan Gilabert proposed openstack/watcher master: Remove usage of novaclient from Watcher  https://review.opendev.org/c/openstack/watcher/+/97492518:07
opendevreviewJoan Gilabert proposed openstack/watcher master: Remove nova_helper retries for openstacksdk params  https://review.opendev.org/c/openstack/watcher/+/97549818:07
opendevreviewJoan Gilabert proposed openstack/watcher master: [DNM] Test openstacksdk changes without [nova] section  https://review.opendev.org/c/openstack/watcher/+/97729218:07
opendevreviewJoan Gilabert proposed openstack/watcher master: Complete migration from novaclient to openstacksdk  https://review.opendev.org/c/openstack/watcher/+/97492418:21
opendevreviewJoan Gilabert proposed openstack/watcher master: Remove usage of novaclient from Watcher  https://review.opendev.org/c/openstack/watcher/+/97492518:21
opendevreviewJoan Gilabert proposed openstack/watcher master: Remove nova_helper retries for openstacksdk params  https://review.opendev.org/c/openstack/watcher/+/97549818:21
opendevreviewsean mooney proposed openstack/watcher master: Add retry_on_deadlock decorators to missing database methods  https://review.opendev.org/c/openstack/watcher/+/97629318:53
opendevreviewsean mooney proposed openstack/watcher master: Add regression test for retry_on_deadlock decorator  https://review.opendev.org/c/openstack/watcher/+/97724818:53
opendevreviewMerged openstack/watcher master: Remove monasca datasource  https://review.opendev.org/c/openstack/watcher/+/96678621:27
opendevreviewMerged openstack/watcher master: Deprecate rollback_when_actionplan_failed configuration  https://review.opendev.org/c/openstack/watcher/+/97591623:51

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