/srv/irclogs.ubuntu.com/2020/04/16/#smooth-operator.txt

jamseems quiet... too quiet07:58
niemeyerMust be because everyone is isolated in their homes..07:59
niemeyerWait..07:59
niemeyer;)07:59
niemeyerMorning07:59
jammorning07:59
mup_PR operator#226 opened: ops/framework.py: StoredStateChanged includes the attribute <Created by jameinel> <https://github.com/canonical/operator/pull/226>08:00
niemeyerjam: I wonder if we should do that ^ or if we should hide the event altogether08:02
niemeyerjam: This was part of the original implementation.. back then everything would fire changed08:03
niemeyerjam: Then we moved to only snapshoting once for performance08:03
jamniemeyer, I could see going either way. We've generally thought that _stored should be private, which means you shouldn't be listening for changes on it.08:04
jamif we are going to have changes, then they should be useful08:04
jamand right now it only emits if the top level attribute changes08:04
jamso either remove it entirely, or make it correct.08:04
jamthe above makes it correct, but if we want to say 'don't do it' then we can do that easily enough. :)08:04
niemeyerjam: Agreed08:04
niemeyerjam: Is that attribute only the tip if there are multiple nested dicts?08:05
jamniemeyer, so I considered a couple different things, but went with top level attribute to start08:09
jamotherwise you end up with some sort of path, which might include lists, dicts, etc.08:09
jamand the attribute of the dict might be a string or an int or08:09
niemeyerjam: Agreed.. we'd have to build some sort of dotted notation08:10
niemeyerfoo[3].bar08:10
jamyeah.08:10
jamI didn't want to deal with paths yet, when the top level attribute is at least a good enough hint.08:10
niemeyerI suggest just killing it for now, making it private if we still require it for the internal implementation to some  degree08:10
niemeyerWe can ask to see what's the use case before we axe it08:11
niemeyerGut feeling is that this shouldn't be important, and might even lead to brittle code as this isn't precise enough08:11
jamniemeyer, just ripping out the code no tests fail...08:19
niemeyer+1 to that08:19
niemeyerI'll copy & paste this conversation into the issue08:19
Chipacamo'in all!08:21
jammorning Chipaca08:22
mup_PR operator#227 opened: ops/framework.py: remove StoredStateChanged <Created by jameinel> <https://github.com/canonical/operator/pull/227>08:23
jamteam policy decision on issue #225, do we fix it (PR #226) or get rid of it (PR #227)08:23
mup_Issue #225: BoundSharedState changed events is misnamed (or misleading) <Created by addyess> <https://github.com/canonical/operator/issues/225>08:23
mup_PR #226: ops/framework.py: StoredStateChanged includes the attribute <Created by jameinel> <https://github.com/canonical/operator/pull/226>08:23
mup_PR #227: ops/framework.py: remove StoredStateChanged <Created by jameinel> <https://github.com/canonical/operator/pull/227>08:23
niemeyerjam: Given that theory, couldn't we get rid of all the sub-type magic we have there?08:25
niemeyerjam: I mean, we introduced these StoredLists, etc, precisely to be able to handle the subevents08:25
jamniemeyer, we still need dirty08:25
niemeyerAh, indeed08:25
niemeyerOtherwise we'll always snapshot, okay08:25
niemeyerjam: Here is my vote: https://github.com/canonical/operator/issues/225#issuecomment-61449668108:28
jamthx08:28
* Chipaca runs tests → wonders about coverage → looks into coverage → weeps → drags self back to work at hand → runs tests10:00
Chipacato be fair, it's just main.py that has dreadful coverage, the others aren't too bad10:02
Chipacabut i was working on main.py10:02
niemeyerI don't think the coverage tests will handle that one correctly10:03
niemeyerBy definition the best testing for it needs to fire it externally10:04
niemeyerThat external process won't be accounted for coverage10:04
Chipacayes, and things like _get_charm_dir should be covered by unit tests10:12
Chipacait has two branches, one of them simple, one of them suspicious10:13
Chipacai replaced the suspicious one with "raise RuntimeError" and everything was happy10:13
Chipacai mean, main.py's main, sure, hard to unit-test, no problem. but that file is almost all helpers, almost all uncovered (without looking beyond the 20% coverage it has)10:15
ChipacaANYhow10:15
* Chipaca drags self back to work at hand again10:16
mup_Issue operator#228 opened: Adopt a standard and well integrated templating module <Created by niemeyer> <https://github.com/canonical/operator/issues/228>10:21
mup_Issue operator#229 opened: The pod spec API must be improved <Created by niemeyer> <https://github.com/canonical/operator/issues/229>10:32
mup_Issue operator#113 closed: Charms as YAML <question> <Created by knkski> <Closed by niemeyer> <https://github.com/canonical/operator/issues/113>10:37
niemeyerChipaca: If you raise an exception and it does nothing, that's obviously uncovered.. but the "20%" number means nothing if our tests are exercising logic in this file via an independent process10:39
niemeyerWhich I think they are10:39
niemeyerSorry if that was clear before and I'm just repeating myself.. it just felt like a coverage number was still being taken as correct10:40
niemeyerWe have that charms/test_main charm that is trying to make the check as realistic as reasonable.. when we do that externally, none of the lines touched by the test will get into the report10:42
ChipacaI'll look into this after10:42
* Chipaca steps out for a bit10:56
niemeyerLunch11:01
facubatistaMuy buenos días a todos!11:09
facubatistajam, if you can land #227, that means #226 could be just closed, right?11:28
mup_PR #227: ops/framework.py: remove StoredStateChanged <Created by jameinel> <https://github.com/canonical/operator/pull/227>11:28
mup_PR #226: ops/framework.py: StoredStateChanged includes the attribute <Created by jameinel> <https://github.com/canonical/operator/pull/226>11:28
jamIf we decide to do 227 then it replaces 226, correct11:29
mup_PR operator#227 closed: ops/framework.py: remove StoredStateChanged <Created by jameinel> <Merged by jameinel> <https://github.com/canonical/operator/pull/227>11:31
mup_PR operator#226 closed: ops/framework.py: StoredStateChanged includes the attribute <Created by jameinel> <Closed by jameinel> <https://github.com/canonical/operator/pull/226>11:32
mup_Issue operator#225 closed: BoundSharedState changed events is misnamed (or misleading) <Created by addyess> <Closed by addyess> <https://github.com/canonical/operator/issues/225>11:41
mup_PR operator#230 opened: Testing harness no events for own data <Created by jameinel> <https://github.com/canonical/operator/pull/230>11:51
Chipacafacubatista: buen día señor!13:00
facubatistahola Chipaca13:15
jam Chipaca I'm assuming its ok if I miss the framework sync (in 45 min). or would you like me to be there?13:50
Chipacajam: indeed13:50
Chipacajam: if they wanted you in it it'd be at a reasonable time for you :-)13:51
=== mup__ is now known as mup_
* facubatista had(has) a car issue but is back14:32
niemeyerOuch :(14:36
Chipacabrb, reboot14:56
Chipacawooo! hello from my zippy laptop again!15:08
Chipacalooking frankenstein-y right now so requires another reboot, and here's hoping it's still zippy after that15:08
* Chipaca brb rebooting again15:08
facubatistaChipaca, how did you fix it?15:26
ChipacaI don't think it's fixed, but it works for now15:27
facubatistaChipaca, just improved suddenly or you did something?15:27
Chipacafacubatista: unplugged the battery15:27
Chipacaand turned it on from just ac15:27
Chipacathen power it off again, plug the battery back in15:28
Chipacagetting at the battery is ~20 screws but hey, it worked15:28
Chipacafacubatista: but i'm not going to do this every 20 days :-( so it's not "fixed", but i might do this every 20 days until the Q is over15:28
facubatistaChipaca, if it serves of consolation, battery is also involved in my issue :p15:29
Chipacafacubatista: hehe15:29
Chipacafacubatista: batteries are the worst, except for not having batteries15:29
facubatistawife took the car and went to the greengrocer's, got back, parked outside to clean some leaves from the garage, and then the car just didn't start anymore15:31
niemeyerGOod place to get stuck15:31
facubatistalucky us that it didn't die at the greengrocer's (which is ~10 blocks away, not much, but would complicate a lot the operational part of waiting some service or replacement)15:31
facubatistaniemeyer, exactly15:32
facubatistaof course, I can not just go and by a new battery, this kind of shop is closed15:32
Chipacafacubatista: something something condensation15:33
facubatistaChipaca, what?15:34
Chipacafacubatista: sorry, that was a bit obscure of me. A few years ago somebody asked in a forum somewhere, something like (from memory), "dear $forum, I don't know what to do! I nipped out to the grocer's this morning and came back, and then when I went to go to work my car didn't start, so I came back into the house and my partner was in bed with another person!" and they answered "probably condensation in your $engine_part, try blowing it dry"15:36
facubatistajejej15:37
Chipacaand the discussion was about how doing the short prior trip lead to the condensation15:37
* Chipaca steps away for a break before the last meeting of the day17:06
facubatistaniemeyer, https://www.pagina12.com.ar/259910-las-claves-del-modelo-portugues-frente-al-coronavirus17:26
niemeyerYeah, the story is pretty good so far.. now to see how the second half of the story goes17:31
niemeyerIt's not true that under 15 haven't returned to school, btw... at least not universally true.. our son has been doing doing remote schooling for a couple of weeks now17:32
niemeyerThis week they started doing video calls with the whole class17:34
* facubatista -> car support17:38
facubatistaniemeyer, my kids are also with virtual classrooms and group video calls17:38
mup_Issue operator#231 opened: Harness: Has errors on charms which define action handlers <Created by Vultaire> <https://github.com/canonical/operator/issues/231>18:04
* facubatista is back18:17
facubatistanew battery, ~USD 12018:18
Chipacabrb, rebooting18:41
mup_PR operator#232 opened: ops.testing.Harness actions metadata support.  (#231) <Created by Vultaire> <https://github.com/canonical/operator/pull/232>18:54
mup_PR operator#233 opened: Execute the registered methods to events under PDB if proper envvar is set <Created by facundobatista> <https://github.com/canonical/operator/pull/233>21:10
* facubatista opened ^, but we need to talk around it21:10
facubatistawhich will happen tomorrow21:10
* facubatista eods21:10

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!