Friday, 2021-07-16

opendevreviewMerged openstack/networking-generic-switch stable/ussuri: Remove grenade jobs from old stable branches  https://review.opendev.org/c/openstack/networking-generic-switch/+/80046700:04
opendevreviewJacob Anders proposed openstack/ironic master: [WIP] Add support for verify steps  https://review.opendev.org/c/openstack/ironic/+/80000100:55
opendevreviewMerged openstack/ironic-python-agent-builder master: typo in docu, admin, ironic-python-agent-ramdisk, outputs three files -> two  https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/80089001:36
opendevreviewJacob Anders proposed openstack/ironic master: [WIP] Add support for verify steps  https://review.opendev.org/c/openstack/ironic/+/80000102:45
arne_wiebalckGood morning, Ironic!06:31
iurygregory_morning arne_wiebalck and Ironic o/06:37
arne_wiebalckhey iurygregory_ o/06:38
*** iurygregory_ is now known as iurygregory06:38
iurygregorystendulker, hey you around? o/ I'm trying to understand why get_subscriptions would be required =)06:40
iurygregoryit would be to directly ask the BMC for the subscriptions and be able to identify the ones that were deleted  so we can sync the DB?06:41
stendulkeriurygregory: Good morning06:44
stendulkeriurygregory: Are we going to fetch from BMC everytime for list of subscriptions or serve from DB?06:45
iurygregorymorning :D06:45
iurygregorystendulker, the plan was to serve from the DB...06:45
stendulkeriurygregory: It was not clear to me.. if we fetch it from BMC then its fine 06:45
iurygregorynow I'm wondering if we need to even save...06:45
iurygregorysince this type of things can happen .-.06:45
iurygregoryI'm not sure how we would allow the user to delete the subscriptions if we don't save06:46
stendulkerif we save it in DB then extra overhead of translating BMC data to Ironic form everytime06:46
iurygregoryyeah06:46
stendulkeriurygregory: yes, delete will be  issue.06:46
stendulkerif we save in DB, we would need regular sync up as well06:47
stendulkeras we will not know if subscription is deleted 06:48
iurygregoryoh god06:48
iurygregoryD:06:48
stendulkerwe do not need to user manually deleting a subscription, but one tht get sdeleted by BMC06:49
iurygregoryhummm maybe the person would need to say the node and id (that matches what is in the BMC) to delete a subscription?06:49
iurygregoryand not save anything in the DB at all...06:49
iurygregorydo something like we did for indicators...06:49
stendulkeri mean " we do not need to worry about user manually deleting a subscription"06:49
iurygregoryyeah this is true (I would hope the user wouldn't try to manually delete a subscription)06:50
stendulkerhow woudl it match  subscription id?06:50
iurygregorywell, the user would need to request the subscriptions...06:51
stendulkeridentifier may differ from bmc to bmc06:51
iurygregoryyup06:51
iurygregoryilo uses integers and idrac uses uuid06:51
iurygregoryto identify =)06:51
stendulkerdriver can serve subscription details in a ironic standardised form 06:52
iurygregoryit would be a DELETE with {"node_uuid": <so we know where we will try to delete>, "bmc_id" <id_bmc_would_give>}06:52
stendulkerok, sounds good06:52
iurygregoryif the user gives an invalid bmc_id we say we couldn't find the subscription06:53
stendulkeror we can pass it to BMC and let BMC throw error06:54
iurygregoryI'm just wondering if dtantsur TheJulia rpittau|afk will be ok with this approach (we wouldn't need the DB and something to sync the subscriptions, and it would probably me easier)06:54
iurygregorystendulker, yeah that would make sense06:55
stendulkerto save upon the call to BMC to compare validity of id06:55
iurygregorysave in the DB you mean?06:56
stendulkerno06:56
iurygregoryoh ok =) I'm still waking up =)06:56
iurygregorytime for the second mug of coffee =)06:56
stendulkerif we were to validate subscription id then we would have to fetch from bmc and compare. instead we can directly attempt delete and let bmc throw error if its incorrect06:57
iurygregoryyeah, that makes sense =)06:57
stendulkerno worries, it can be handled in code06:57
iurygregoryso we would need to move subscriptions endpoint under node since we won't save things in the DB right? (I'm fine with this also)06:59
iurygregorythe /v1/subscriptions wouldn't make sense in this case but /v1/node/<node_id>/management/subscriptions would07:00
*** rpittau|afk is now known as rpittau07:31
rpittaugood morning ironic! Happy Friday! o/07:31
iurygregorymorning rpittau o/07:32
rpittauhey iurygregory :)07:35
iurygregoryrpittau, when you are more awake I would like to hear your thoughts about the approach I was talking with stendulker about the subscription API =)07:37
rpittauiurygregory: I'm reading now, I would probably need one more espresso :)07:38
iurygregoryyeah =)07:38
rpittauI see the point07:40
rpittauso we would get the subscriptions every time from the bmc07:43
iurygregoryyeah07:43
iurygregorylike we do for indicators07:43
rpittaukk I guess it makes sense, and that could be aggregated anyway and saved in an external service if needed07:45
rpittauno need to use the ironic DB07:45
iurygregoryok, any thoughts about the endpoint? 07:46
iurygregoryv1/subscriptions won't make sense since we cant get the subscriptions from all nodes07:46
iurygregoryso I was thinking about the same endpoint we have for indicators07:47
rpittauyep, that should be per node, the one you wrote looks ok07:47
iurygregoryI will start updating the spec07:48
iurygregorylets see what Dmitry thinks when he is online07:49
opendevreviewArne Wiebalck proposed openstack/ironic-python-agent master: Force immediate NTP time sync with chronyd at IPA startup  https://review.opendev.org/c/openstack/ironic-python-agent/+/80103208:46
opendevreviewIury Gregory Melo Ferreira proposed openstack/sushy master: Fix Context for EventDestination  https://review.opendev.org/c/openstack/sushy/+/80103409:12
iurygregoryrpittau, if you can take a look at ^ I just found this while testing 09:12
iurygregoryI've tested locally to be sure that sushy will be able to retrieve the subscription when we create with empty string in the context field =)09:14
rpittauthat's interesting, I guess there was a confusion between required and requiredOnCreate, even though we didn't set Protocol as required09:17
rpittaummm I see that in more recent versions it becomes required09:19
rpittauwell, sushy is based on 1.0.0 so it looks ok to me09:21
rpittauif we ever update EventDestination to something more recent we'll have to deal with Context being required09:21
iurygregorywe will send empty string by default09:25
iurygregorythe BMC didn't report "Context" when is an empty string09:25
iurygregoryso sushy failed to parser the information09:26
rpittauyeah09:26
fmuyassarov_Hello Ironic team! I have a question regarding IPA. We had an IPA uplift, and after that finding a disk based on root device hints (WWN) is taking a longer time than before. In one of the deployments, there are almost 1000 disks on a node and for some reason IPA is checking each disk very slowly, like after 2 hours it was on /dev/sdfh, which previously (before the uplift)  was fast. I wonder if you have noticed something similar or 09:32
fmuyassarov_have an idea what has changed with this regard or what could be the extra stuff that it is taking too much time now.09:32
arne_wiebalckfmuyassarov_: I have not noticed anything, but then we do not have that many disks on a node. This is which version of the IPA?09:35
arne_wiebalckfmuyassarov_: Also, how do you know it is the root device hints, you see this in the logs? (post some messages & timeline maybe to paste.o.o for others to have a look)  09:37
fmuyassarov_arne_wiebalck, sure, just a moment. I'll provide that information09:39
rpittaufmuyassarov_: console logs from ipa ramdisk would help a lot09:40
fmuyassarov_sure, I will try to get that09:40
arne_wiebalckfmuyassarov_: FWIW: cleaning/deploy logs are also stored on the conductor, usually in /var/log/ironic/deploy/09:44
arne_wiebalckfmuyassarov_: but only once the processing finishes09:44
fmuyassarov_arne_wiebalck, so the IPA to which we uplifted was build on 2021-04-27. From here https://tarballs.opendev.org/openstack/ironic-python-agent/dib/files/, it seems it is Centos7-stable-train.09:46
fmuyassarov_arne_wiebalck, because we checked the logs, and at the point IPA was on /dev/sdfh. TBH, we are not sure if it is due to root device hints or something else. Previously this wasn't taking this much time :), maybe some drivers were removed. And we are also using multipathing. But I will share logs so that we have a better picture09:52
arne_wiebalckfmuyassarov_: removed drivers is sth I was thinking as well (we had this with c8 and some hardware), but since you are on c7 it seems less likely09:53
arne_wiebalckfmuyassarov_: let's see what the logs say, but we may need to enable debug mode on the IPA09:55
fmuyassarov_arne_wiebalck, sorry but our IPA is actually on centos8 it seems. Do you have a reference to which drivers were removed?09:57
opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic-specs master: Event Subscription Spec  https://review.opendev.org/c/openstack/ironic-specs/+/78574210:00
iurygregorystendulker, I've updated the spec =) let me know if I'm missing something10:00
stendulkeriurygregory: Thanks, will have a look.10:00
iurygregorytks!10:01
arne_wiebalckfmuyassarov_: this one maybe: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/considerations_in_adopting_rhel_8/hardware-enablement_considerations-in-adopting-rhel-8#removed-hardware-support_hardware-enablement10:04
arne_wiebalckrpittau: thanks for the chronyd review, I replied on the change10:06
opendevreviewIury Gregory Melo Ferreira proposed openstack/sushy master: Fix Context for EventDestination  https://review.opendev.org/c/openstack/sushy/+/80103410:06
iurygregoryajya, tks for the review in the sushy patch I think I've answered your question o/10:07
ajyaiurygregory: thanks, in the new versions there is "dos not", should be "do not". Also if it is not _all known_ BMCs, then could say "some BMCs" or even add more detail "some BMCs such as X, Y"10:10
ajyaother than that wondering if excluding required nullable field from JSON is according to spec or not, in any case have to work around it for released firmware10:10
rpittauajya: in the EventDestination version we support in sushy the "Context" field is not required10:12
iurygregoryI've updated the releasenote10:14
opendevreviewIury Gregory Melo Ferreira proposed openstack/sushy master: Fix Context for EventDestination  https://review.opendev.org/c/openstack/sushy/+/80103410:14
ajyarpittau: then of for now10:14
ajyas/of/ok10:15
ajyaiurygregory: noticed one more typo in release not just now :( - "sbuscription"10:16
iurygregoryoh god D:10:17
opendevreviewIury Gregory Melo Ferreira proposed openstack/sushy master: Fix Context for EventDestination  https://review.opendev.org/c/openstack/sushy/+/80103410:18
dtantsurmorning/afternoon ironic10:55
iurygregorymorning dtantsur, if you have some time I would like your thoughts about the discussion I had with stendulker re subscription API =) I've pushed the updates in the spec already11:05
* iurygregory brb lunch time11:05
* dtantsur checks the news and shivers11:29
dtantsuriurygregory, I'm not exactly fond of a subscription suddenly disappearing from ironic11:30
dtantsurif the BMC decided it does not like it11:30
iurygregorydtantsur, it would be the BMC removing11:46
iurygregoryso we would need to ensure that the ironic DB is in sync for the subscriptions for each node11:47
iurygregoryso we could do like we do for indicators without saving information in the DB11:48
dtantsurI don't really want us to have GET API talking directly to BMC12:08
dtantsurI'd rather have a subscription in some sort of an "error" state or even re-created automatically12:09
iurygregoryindicators does a GET directly in the BMC no? .-.12:10
dtantsurI hope no, but maybe..12:10
iurygregoryhttps://opendev.org/openstack/ironic/src/branch/master/ironic/drivers/modules/redfish/management.py#L512 (directly -> using sushy..)12:12
opendevreviewMerged openstack/ironic stable/victoria: Cache AgentClient on Task, not globally  https://review.opendev.org/c/openstack/ironic/+/79767912:12
dtantsuriurygregory: okay, let's not take half-broken feature that nobody uses as an example :)12:16
dtantsuriurygregory: listing all subscriptions on a node will get you what, 4 + N HTTP requests at least?12:16
dtantsurit seems like an easy way to DoS the BMC12:17
dtantsur(or ironic itself if you enroll a lot of nodes with unavailable BMCs)12:17
iurygregory+ N you mean (N subscriptions?)12:19
iurygregoryI would need one to authenticate to the BMC, 1 to have the root information from sushy, another to get the event service and another to list all subscriptions12:21
dtantsurhow do you list them by system though?12:26
dtantsurand you need N to fetch the details, the root resource will only give you redfish UUIDs12:26
iurygregorywell list all we can just provide the id of the subscriptions12:28
iurygregoryhttps://paste.opendev.org/show/807525/12:29
janders_see you on Monday Ironic o/12:31
*** janders_ is now known as janders12:31
iurygregorybye janders 12:31
jandershave a great weekend everyone 12:31
rpittauthanks janders you too12:32
dtantsuriurygregory: our consumers dont' really need redfish IDs, I suspect.. and how do you filter by System then?12:37
iurygregorywell the redfish id is the only way to delete a subscription...12:38
dtantsuryep, in the original idea it was stored in the database12:38
dtantsuran alternative that we haven't considered for a while is to just create a vendor passthru for Redfish12:38
iurygregoryfilter by system? I'm not sure if there is such thing12:38
iurygregoryEventService is under the root of redfish12:39
dtantsurwell, here is another reason why we need to store subscriptions in our database (or use a vendor passthru)12:39
dtantsurhow does it even work when a redfish endpoint is responsible for several systems?12:39
iurygregorywell the schemas for EventService and EventDestination doesn't mention any Systems...12:41
iurygregorymraineri, do you know how it would work if we try to create a subscription when the redfish endpoint is responsible for several systems?12:42
dtantsuryeah, we need to figure out how it works before we design further12:42
dtantsuriurygregory: given the number of uncertainties we keep discovering, I wonder if starting with a vendor passthru is the right choice12:42
iurygregoryhumm so we would define methods that would be called via /v1/nodes/{node_ident}/vendor_passthru?method={method_name} ?12:45
dtantsuriurygregory: yep. and maybe start with only creating and deleting a subscription?12:48
* iurygregory opens a new branch locally and start looking at vendor-passthru12:48
mraineriiurygregory: It depends on how you structure your subscription12:56
mraineriIf you don't specify resources you wish to monitor, particular messages, etc, you'll get every event published by the service12:56
mraineriWhich in the case of a multi-system enclosure would mean all systems12:57
mraineriYou can use the "ResourceOrigins" and "SubordindateResources" properties in the subscription to restrict what areas of the model you want to see (if it's a particular system instance for example)12:58
iurygregorybut this is not available in old Event schemas right12:58
iurygregory?12:58
mraineriSorry, OriginResources"12:59
mraineriOriginResources has been available for a while12:59
iurygregoryfor example if the machine has 1_0_6 https://redfish.dmtf.org/schemas/v1/EventDestination.v1_0_6.json12:59
iurygregoryand has multiple systems the subscription would work for all systems on it12:59
mraineriSubordinateResources was added later12:59
mraineriYeah, 1.0.6 would mean you don't have that control13:00
iurygregoryyeah (not even sure if some hardware vendor has support for it)13:00
mraineri1.1.0 introduced OriginResources13:00
mraineriI know several do at the moment13:00
iurygregoryhummm13:00
dtantsurmraineri: can we filter subscriptions by OriginResources?13:04
iurygregorydtantsur, https://opendev.org/openstack/ironic/src/branch/master/ironic/drivers/modules/redfish/vendor.py#L29 this would be the place right?13:05
dtantsuriurygregory: yep. you can see at least one example there already13:06
iurygregoryack going to start hacking and push a patch13:06
mraineriAs in when you're performing inspection of the active subscriptions? You should be able to with $filter13:15
dtantsurmraineri: imagine we're looking for subscriptions that belong to a particular System. in the Redfish API, I mean.13:15
mraineriYeah, $filter can be used to narrow down subscriptions with particular OriginResources13:18
TheJuliagood morning13:27
dtantsurmorning TheJulia 13:27
TheJuliaiurygregory: stendulker: required to sync is not *really* needed if update is not permitted on the api. Granted, the BMC could have an external action occur and syncing would make sense to remediate that.  But that doesn't need to be solved upfront.13:30
iurygregorygood morning TheJulia 13:31
TheJuliaiurygregory: afaik indicators go through the conductor rpc layer13:32
TheJuliaiurygregory: under no circumstances should the api be permitted to talk to bmcs directly13:32
iurygregorythinking about the vendor passthru it would allow the user to pass more informations and we wouldn't need to worry about only accepting Alert in ironic api13:32
dtantsuryeah, I think we should aim for eventual 1st class API, but vendor passthru is great as a staging area to prove usability13:33
iurygregorywe would let the user have more flexibility I think13:33
TheJuliaw/r/t vendor passthru, please no if it is going to be a standardized or multi-vendor thing.13:33
dtantsurwhy?13:33
dtantsurhave we changed our stance on it?13:33
TheJuliasingular vendor one off thing13:33
dtantsurOR a staging area13:34
TheJuliatrue13:34
dtantsurat least that's how we originally saw it13:34
TheJuliabut we've got dsicussion amongst two separate vendors13:34
dtantsurhave we? I've only heard about Redfish so far.13:34
TheJuliaI've seen chatter in this channel on the events subject between dell and hpe reps13:34
TheJuliatrue, redfish, but hpe mainly drives folks through ilo except if it is one of the edgelines13:35
dtantsurand does iLO support subscriptions?13:35
dtantsur(both the hardware and the driver/proliantutils)13:36
TheJuliaI believe they do, and if they wanted to mirror vendor passthru then it wouldn't be ideal13:36
TheJuliaalso... vendor passthrough basically requires the permission level of system-admin to utilize13:36
TheJuliabecause it can be used as a generic passthrough to the bmc to do any number of things13:36
dtantsurin theory, we can provide policies per call13:37
TheJuliathat is likely okay in the metal3 case though13:37
dtantsur(we don't do it now, but there is nothing preventing us)13:37
TheJuliawhen you say in theory, based upon the schema?13:37
dtantsurI mean, there is nothing preventing us from doing it13:37
TheJuliaYes, I guess, adding more policies and matching the call to the policy yeah13:38
dtantsurIIRC we want down a simpler path of using the same policy for all vendor passthru calls in existence13:38
TheJuliayes, because the risk and level of access it provides to the bmc13:38
dtantsuranyway, my comment about vendor passthru was mostly among the lines of "if we have hard time understanding what we can and cannot do, let's start with a vendor passthru"13:38
TheJuliaoh, absolutely agree13:38
TheJuliaMy concern is largely something living in vendor passthrough forever and being kind of a nebulous thing13:39
dtantsurpossibly13:40
dtantsuranother concern is having synchronous calls in the API (I must admit, my initial version of this RFE already had it)13:41
TheJuliaalso security risk and all of that13:41
TheJuliayeah13:41
TheJuliaIf we make it nebulous and undefined, then we won't have the information we really need to expand it and make it a proper interface unless it is the same exact person using and driving it along forever more13:42
TheJuliaso it is a huge risk too as a nebulous thing13:42
dtantsura counter-example: indicators API13:43
dtantsursomething we introduced because of a metal3 request. then metal3 stopped being interesting, and here we are13:43
dtantsurhaving an improperly built API which we need to support forever for likely 0 consumers13:44
TheJuliatrue13:44
TheJuliaso, which poison do we want13:44
TheJuliapreferably the tasty beverage kind?13:44
dtantsur*node*13:44
dtantsuregh13:44
dtantsur*nod*13:44
* dtantsur nods with a node13:44
* TheJulia needs a teleporter to make a tasty beer appear before dtantsur 13:45
dtantsurI wish people were less religious about microversioning and listened to me about having experimental APIs. lost battle, sigh.13:45
dtantsurmmm, beer13:45
dtantsurwe've developed taste for https://sapporobeer.com/ recently13:46
dtantsurit's simple but very tasty13:46
TheJuliaAhh yes, it is a tasty ?rice? beer13:46
dtantsurI think it's just a normal lager13:46
dtantsurwe pick it up in the Japanese shop at the same time when we pick up fish for sushi13:46
dtantsurso they go together :)13:46
TheJuliaof course13:46
iurygregorydtantsur, if you have some time https://review.opendev.org/c/openstack/sushy/+/80103413:54
iurygregoryI've found this while testing13:54
TheJuliaThere is some long story behind the evolution of beers to include rice as one of the ingredients. It has always surprised me how the popular american beers have used this for a while and the general public is not really conciously aware of it13:55
* TheJulia continues role of collector of useless facts13:56
iurygregoryI knew about corn, oatmeal.. rice as beer ingredient is new to me13:58
TheJuliawhat beers use corn?13:58
TheJuliaI want to run away now13:59
iurygregoryI know a few in Brazil that people told me about Corona, Sol14:01
TheJuliahmm14:01
TheJuliacorona actually makes sense14:01
opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic master: [WIP] Add vendor_passthru method for subscriptions  https://review.opendev.org/c/openstack/ironic/+/80106414:04
iurygregorydtantsur, something along this lines? ^ 14:04
iurygregoryI would only need one for delete and other to list and that's it? *magic*14:05
dtantsuriurygregory: yeah, something like this. this is why vendor passthru are so good for prototyping14:06
iurygregoryI wasn't aware of this magic14:06
iurygregoryI need to say I liked14:06
iurygregorytime to finish this14:06
rpittaubye everyone, have a great weekend! o/14:08
*** rpittau is now known as rpittau|afk14:08
opendevreviewMerged openstack/ironic-python-agent master: Catch ismount not being handled  https://review.opendev.org/c/openstack/ironic-python-agent/+/79839414:20
opendevreviewMerged x/sushy-oem-idrac master: setup.cfg: Replace dashes with underscores  https://review.opendev.org/c/x/sushy-oem-idrac/+/79469814:22
opendevreviewMerged x/sushy-oem-idrac master: Add Python3 Xena unit tests  https://review.opendev.org/c/x/sushy-oem-idrac/+/79375214:22
opendevreviewMerged x/sushy-oem-idrac stable/wallaby: Update .gitreview for stable/wallaby  https://review.opendev.org/c/x/sushy-oem-idrac/+/80080914:34
opendevreviewMerged x/sushy-oem-idrac stable/wallaby: Update TOX_CONSTRAINTS_FILE for stable/wallaby  https://review.opendev.org/c/x/sushy-oem-idrac/+/80081014:34
opendevreviewEric Barrera proposed x/sushy-oem-idrac master: Enable coverage HTML output  https://review.opendev.org/c/x/sushy-oem-idrac/+/79569814:37
iurygregorydtantsur, since we are thinking about the vendor passthru gophercloud needs to support that right (not sure if already does)14:57
dtantsuriurygregory: in this case yes14:58
* dtantsur hopes no terraform support is needed14:58
iurygregoryit shouldn't =)14:58
iurygregorysubscriptions will be created after the nodes are deployed afaik14:59
opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic master: Add vendor_passthru method for subscriptions  https://review.opendev.org/c/openstack/ironic/+/80106414:59
iurygregoryI'm working on the unit tests now, I've added validations for create and we can allow users to pass the other parameters15:00
opendevreviewMerged x/sushy-oem-idrac master: Enable coverage HTML output  https://review.opendev.org/c/x/sushy-oem-idrac/+/79569815:08
opendevreviewTakashi Kajinami proposed openstack/metalsmith master: Replace deprecated import of ABCs from collections  https://review.opendev.org/c/openstack/metalsmith/+/80108915:59
TheJuliaNobodyCam: https://etherpad.opendev.org/p/pain-point-elimination16:03
TheJuliaretweets of https://twitter.com/ashinclouds/status/1416068954427035654 would be greatly appreciated16:17
TheJuliaarne_wiebalck:  https://etherpad.opendev.org/p/pain-point-elimination 16:24
NobodyCam++ Thank you TheJulia ++ I will check with folks around these parts and see if there is thing not on the list already16:24
opendevreviewBob Fournier proposed openstack/sushy-tools master: Fix to handle correct path for BiosRegistry  https://review.opendev.org/c/openstack/sushy-tools/+/80109916:42
TheJuliaNobodyCam: oh hai, got a moment for a few questions?16:46
TheJuliaSPUC!? https://bluejeans.com/25012566216:59
JayFyep be there in ~517:00
TheJuliaNobodyCam: the power of the SPUC compells you....17:00
TheJuliaarne_wiebalck: is it always ironic-conductor that causes db spike loads with mysql, or is it nova-compute in your environment. I'm looking through the code, based upon what NobodyCam was noting earlier, and it looks like nova-compute is where things get hit hard20:49
NobodyCamsorry in meeting right now20:50
TheJuliano worries20:53
TheJuliaarne_wiebalck is ZzZzZzZzZzZz20:53
TheJuliaand I'm honestly thinking an afternoon nap is on the docket20:53

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