#smooth-operator 2020-06-22
<jam> morning all
<Chipaca> jam: moin moin
<jam> Chipaca, are you ok? I don't ever see you this early
<Chipaca> jam: saw an email from tim saying we're doing the 6am meetings
<Chipaca> but now not finding them on the calendar
<jam> Chipaca, yeah, I don't see anything in the next couple of weeks
<Chipaca> hmmm
<jam> he's likely around now, though
<Chipaca> jam: i pung him but no answer, i think i'll go back to bed for a bit
<jam> Chipaca, sleep well
<Chipaca> sounds like a good idea
<jam> Chipaca, I just saw it show up on the calendar
<Chipaca> jam: great success
<jam> Chipaca, that we got the meeting scheduled?
<Chipaca> jam: yes :)
<Chipaca> jam: you need to read it with borat accent though
<facubatista> Muy buenos dÃ­as a todos!
<jam> morning facubatista
<facubatista> hola jam
<Chipaca> facubatista: 'sup :)
<facubatista> hola Chipaca :)
<mup> PR operator#336 opened: main: log ops version on startup <Created by chipaca> <https://github.com/canonical/operator/pull/336>
<Chipaca> jam: tbh i _had_ forgotten about #282
<mup> Issue #282: Harness: Unable to assert if framework was called correctly by charm <Created by relaxdiego> <https://github.com/canonical/operator/issues/282>
<facubatista> Chipaca, ctrl-c will always be ugly, unless we do something about it! not only when hitting the store, where I could put a specific exception handler there, think for example if you do Ctrl-c while it's zipping the build directory
<facubatista> Chipaca, we could have a generic catcher for Ctrl-c and present a nice message to the user, like "interrupted by you" or whatever
<facubatista> (IOW: it's something we should probably improve, it's more generic than my branch, let's open an issue about this)
<Chipaca> facubatista: i guess before now there never has been a situation where i've wanted to hit ^c because it was always fast enough :-D
<Chipaca> facubatista: filing an issue now
<Chipaca> facubatista: if i have time today i'
<Chipaca> ll play with that
<Chipaca> but i'm behind on my charm reviews
<Chipaca> we'll see
<Chipaca> but right now, i'm stepping away for a while
<facubatista> Chipaca, jam, when/by whom will be `remove_unreferenced_events` called?
<facubatista> Chipaca, jam, is this what you had in mind? https://github.com/openstack-charmers/charm-ceph-iscsi/issues
 * facubatista eods
<Chipaca> facubatista: remove_unreferenced_events is meant to be called by the charm author if/when they need it
<Chipaca> facubatista: and, those issues seem spot on to me
<Chipaca> facubatista: it would be nice to include the code when you're talking about it but i know it's faffy wory
<Chipaca> work*
<facubatista> Chipaca, "seem spot on"?
<facubatista> what that means?
<Chipaca> facubatista: que parece que la clavaste al Ã¡ngulo
<Chipaca> facubatista: that you hit the nail on the head
<facubatista> Chipaca, and what "faffy wory" means? :p
 * facubatista searches "faffy wory" and find links like "My daddy is a policeman. What is he doing at work?"
<Chipaca> facubatista: faffy work, something overcomplicated compared to the benefits it brings
<facubatista> ah, ok
 * Chipaca EODs
#smooth-operator 2020-06-23
<jam> morning all
<Chipaca> huh, the redirect from #charmcraft has broken again
<Chipaca> sigh
<Chipaca> fixed
 * Chipaca bbiab
 * Chipaca really bbiab now
<mup> Issue operator#333 closed: Events with no observers never get deleted <Created by jameinel> <Closed by jameinel> <https://github.com/canonical/operator/issues/333>
<mup> PR operator#334 closed: Unobserved events <Created by jameinel> <Merged by jameinel> <https://github.com/canonical/operator/pull/334>
<facubatista> Muy buenos dÃ­as a todos!
<Chipaca> facubatista: eyy ððð
<facubatista> hola Chipaca
<Chipaca> jam, facubatista, i think we should bite the bullet and use black on all our projects. It'll avoid a lot of discussion with the charms we review (and i don't feel we should tell people to use it if we aren't ourselves)
<jam> Chipaca, autopep8 is a reasonable middle solution
<facubatista> Chipaca, at least we should tell them to use flake8 (and it shouldn't complain, of course)
<facubatista> Chipaca, black is a little too authorative, they will hate it, and they will hate us because of forcing them
<Chipaca> or violet
<Chipaca> that's ok, people have hated me for my work since i started doing free software Â¯\_(ã)_/Â¯
<facubatista> Chipaca, every weird decission by black, they won't blame black, they will blame us
<jam> facubatista, Chipaca coming ?
<facubatista> oops
<Chipaca> i'm already there
 * Chipaca looks
<jam> Chipaca, you're not in the room I'm in with them
<Chipaca> of course google logs me out on the hour
<mup> Issue operator#306 closed: Add [ops:<version>] to operator log lines <Created by chipaca> <Closed by chipaca> <https://github.com/canonical/operator/issues/306>
<mup> PR operator#336 closed: main: log ops version on startup <Created by chipaca> <Merged by chipaca> <https://github.com/canonical/operator/pull/336>
<Chipaca> jam: ceph call?
<davigar15> jam: For testing the relation-set issue I need juju 2.8/edge, right?
<jam> davigar15, stable should be sufficient
<davigar15> But the bug wasn't commited in 2.8.1? may be I'm wrong, sorry
<davigar15> Oh no, it was rc1 :P
<Chipaca> i get to have lunch! \o/
 * Chipaca brb
<facubatista> Chipaca, jam, this is what I promised for today :) https://github.com/canonical/charmcraft/pull/43
<mup> PR charmcraft#43: First draft of interaction to the store <Created by facundobatista> <https://github.com/canonical/charmcraft/pull/43>
<Chipaca> jam: stand up!
<Chipaca> jam: and dance!
<jam> sorry the other standup is going long
 * facubatista -> errands
<Chipaca> hmm
<Chipaca> facubatista: we're using retcode=-1 when it should be retcode=1
<Chipaca> -1 is syscalls, not sys.exit()
<Chipaca> i'll fix
<facubatista> Chipaca, I can include the fix in my branch for charmcraft#3
<mup> Issue charmcraft#3: Support for long help texts from each command <Created by facundobatista> <https://github.com/canonical/charmcraft/issues/3>
<facubatista> but as you wish
<Chipaca> facubatista: as you wish
<Chipaca> heheh
<facubatista> Chipaca, I'll do it
 * facubatista -> really errands
<Chipaca> facubatista: should i file an issue?
<facubatista> nah
<Chipaca> facubatista: "Unix programs generally use 2 for command line syntax errors and 1 for all other kind of errors." (from sys.exit.__doc__)
<Chipaca> facubatista: i'm touching this code anyway,might as well fix it myself
<Chipaca> facubatista: charmcraft#46 fwiw
<mup> PR charmcraft#46: handle ^C better. Also exit with 1 on error, not -1 <Created by chipaca> <https://github.com/canonical/charmcraft/pull/46>
<Chipaca> facubatista: https://github.com/canonical/charmcraft/pull/46/files#diff-3e5146a0bd380b51a3c6f1307f045616R294
<mup> PR charmcraft#46: handle ^C better. Also exit with 1 on error, not -1 <Created by chipaca> <https://github.com/canonical/charmcraft/pull/46>
<Chipaca> oh, of the test itself :-)
<facubatista> Chipaca, mmm... what?
<Chipaca> facubatista: nothing :)
<Chipaca> i was all 'but it has a test!'
<facubatista> but it doesn't, right?
<Chipaca> probably half asleep
<Chipaca> facubatista: it does not
<facubatista> ack
<Chipaca> facubatista: there is a test that checks that the function is called when ^C is hit :)
<Chipaca> which is almost the same :-p
<facubatista> but I want to test that it logs properly, and it removes the file
<facubatista> Chipaca, btw, can the log file NOT be there?
<Chipaca> facubatista: come again?
<facubatista> Chipaca, what if you do ctrl-c really quick
<facubatista> maybe even before the command is executed?
<facubatista> no, even before the first log line is sent to the file
<facubatista> Chipaca, one of the first things we do is log the startup with version and everything, so we'll surely always have a log file
<Chipaca> facubatista: well, maybe
<Chipaca> facubatista: if your disk is being slow then that'll fail
<Chipaca> facubatista: I can try/catch the removal
<facubatista> Chipaca, two tests are missing, then :p
<Chipaca> facubatista: wait, isnt' the logfile created in init itself?
<facubatista> Chipaca, ah, let's see how mkstemp behaves
 * Chipaca looks
<Chipaca> facubatista: yeah, that's already created the file
<facubatista> yes
<facubatista> great!
<facubatista> we can keep it simple
<Chipaca> facubatista: but
<Chipaca> facubatista: but, but
<Chipaca> facubatista: we're leaking a file descriptor :-/
<Chipaca>         _, self._log_filepath = tempfile.mkstemp(prefix='charmcraft-log-')
<Chipaca> tempfile.mkstemp's first arg is an open fd
<facubatista> Chipaca, yeap, but it's *one* (not inside a loop or whatever)
<Chipaca> facubatista: right. it'll blow up in windows though :)
<Chipaca> (you can't unlink an open file, in windows)
<facubatista> Chipaca, why?
<facubatista> ah, oh
<Chipaca> facubatista: tricky to fix properly though
<Chipaca> thinking
<Chipaca> open takes a fd as well as a string,  wonder if logging.FileHandler does too?
 * Chipaca tries
<Chipaca> facubatista: i think it should work
<Chipaca> passing the open fd into logging.FileHandler
<Chipaca> oh, boo, no :-/
<facubatista> Chipaca, I think we can support it, inheriting FileHandler and overloading it's `open` method
<Chipaca> anyway, not for now :) should i file an issue with this?
<facubatista> Chipaca, file an issue, yes; it will break the tests when we run them in windows, anyway
<facubatista> Chipaca, I can't create conversations on specific details if you use "regular comments" (not a proper review)
<Chipaca> facubatista: ?
<facubatista> Chipaca, in https://github.com/canonical/charmcraft/pull/43
<mup> PR charmcraft#43: Store authentication related commands <Created by facundobatista> <https://github.com/canonical/charmcraft/pull/43>
<Chipaca> ah :)
<Chipaca> sorry, some of those were very fly-by
<Chipaca> facubatista: on the comment, tap '...', "quote reply"
<Chipaca> facubatista: (or 'reference in new issue' if it's that bad :-) )
<facubatista> Chipaca, yes, yes, but three responses will get all mixed; in a real review we have threads
<facubatista> I wanted to "resolve" the conversation, anyway
<Chipaca> :'(
<facubatista> Chipaca, don't worry for *these* ones
<Chipaca> :')
<Chipaca> facubatista: would you mind if i pushed a pr to change 'whoami' as i describe? (or is that one of the things you're already looking at?)
<facubatista> Chipaca, I'm already doing that
<Chipaca> facubatista: ah, perfect
<facubatista> Chipaca,     expected = [
<facubatista>         'name:     John Doe',
<facubatista>         'username: jdoe',
<facubatista>         'id:       -1',
<facubatista>     ]
 * Chipaca EODs (mostly)
<facubatista> Chipaca, pushed
 * facubatista eods
#smooth-operator 2020-06-24
<Chipaca> belated good morning, all :)
<Chipaca> hmm
<Chipaca> facubatista: playing with charmcraft master+43+46, with --verbose, i think we need a couple more log lines :)
<Chipaca> i'll propose something in a bit
<Chipaca> facubatista: boo, it's more work than i wanted it to be; filed charmcraft#48 and charmcraft#49 so we don't forget
<mup> Issue charmcraft#48: initialization order means early log lines can be lost <bug> <Created by chipaca> <https://github.com/canonical/charmcraft/issues/48>
<mup> Issue charmcraft#49: charmcraft should log where it's logging to, and when the logfile is removed <Created by chipaca> <https://github.com/canonical/charmcraft/issues/49>
<Chipaca> facubatista: unrelatedly, i'm concerned the store ops are slow. I'll be asking about this in the meeting today...
<Chipaca> facubatista: OTOH 'slow' is 50ms from it being a snap, 150ms from all the extra imports for store things, 250ms from the actual store request
<Chipaca> but it does but it at 500ms which is definitely slow
<Chipaca> *put it
 * Chipaca breaks a take
<facubatista> Muy buenos dÃ­as a todos!
<Chipaca> facubatista: [citation needed] :-p
<Chipaca> facubatista: hola :)
<facubatista> hola :)
<Chipaca> facubatista: i'm concerned that 'charmcraft whoami' easily takes over 500ms
<Chipaca> facubatista: just fyi; it's not actionable yet
<Chipaca> mostly raising a bit of stink over in https://github.com/go-macaroon-bakery/py-macaroon-bakery/issues/76
<facubatista> Chipaca, I can move the httbakery/etc imports to when the first time any store related thing is used
<Chipaca> facubatista: that won't stop whoami taking over 500ms :)
<facubatista> ah, right, jaja
<Chipaca> at some point, yes, we want to make things import just what's needed
<Chipaca> but not yet, not this early
<facubatista> Chipaca, I don't like the 500ms either
<Chipaca> facubatista: at least part of it is the server being slow, fwiw
<Chipaca> facubatista: I'm *also* going to raise that
<Chipaca> (in its defense, it is staging)
<Chipaca> /v2/whoami takes between 100 and 250ms
<Chipaca> *both* of those are two big
<Chipaca> too*
<Chipaca> 10 times too big in fact :)
<Chipaca> but, we'll see
<facubatista> Chipaca, that is when credentials are valid, right?
<Chipaca> yes
<facubatista> ack
<Chipaca> i haven't even looked at slow paths here :)
<Chipaca> anyway
<Chipaca> back to reviewing john's code
<facubatista> Chipaca, https://github.com/canonical/charmcraft/issues/50
<facubatista> Chipaca, what do you feel about renaming `_save_credentials` to `_check_save_credentials`?
<Chipaca> _save_credentiarola
<Chipaca> facubatista: _save_credentials_if_changed ?
<jam> Chipaca, facubatista /wave
<Chipaca> jam: ð
<facubatista> hola jam
<jam> I'm certainly flexible on the naming, and we can stick with save, but it did feel a bit like one of those places that you would start digging in "why didn't it get updated", etc.
<Chipaca> yeah, i agree with that :)
<Chipaca> facubatista: do you see this method growing any other checks before actually saving?
<jam> "_maybe_save_credentials"
<Chipaca> _save_credentials_or_dont_yolo
<Chipaca> :-)
<jam> I like ensure for that sort of thing, but it doesn't feel great here
<Chipaca> i need to get lunch done, bbiab
<facubatista> Chipaca, I don't think it would also test other thing; its backend may change (file -> wallet), but it will essentially remain like this
<Chipaca> facubatista: then i'll stick with my suggestion above
<Chipaca> <Chipaca> facubatista: _save_credentials_if_changed ? â this one i mean
<facubatista> Chipaca, ok
 * facubatista likes _save_credentials_if_changed because it's exactly what the docstring says 
<facubatista> Chipaca, jam, all comments addressed; also annotated open issues to correspondant XXXs
<facubatista> and pushed!
<Chipaca> jam: i'm canceling the standup fyi
<Chipaca> facubatista: WRT building the snap to edge, yes but version should probably be generated from git for that
<Chipaca> facubatista: otherwise everything on edge will always have <previous released version> which is a lie :)
<Chipaca> facubatista: would you mind if we did the same thing we do in ops?
<facubatista> Chipaca, +1
<Chipaca> facubatista: post-release tho
<facubatista> ack
<Chipaca> d'oh, i merged something i should not have
 * Chipaca â bad person
<facubatista> Chipaca, btw, missing your review here: https://github.com/canonical/charmcraft/pull/43
<mup> PR charmcraft#43: Store authentication related commands <Created by facundobatista> <https://github.com/canonical/charmcraft/pull/43>
<Chipaca> facubatista: https://github.com/canonical/charmcraft/pull/54 plz
<mup> PR charmcraft#54: address issues raised in review of #46 that i merged too fast <Created by chipaca> <https://github.com/canonical/charmcraft/pull/54>
<Chipaca> facubatista: is charmcraft#43 needing anything more from your end?
<mup> PR charmcraft#43: Store authentication related commands <Created by facundobatista> <https://github.com/canonical/charmcraft/pull/43>
<mup> PR operator#337 opened: trivial change to test something <Created by chipaca> <https://github.com/canonical/operator/pull/337>
<facubatista> Chipaca, I need travis to end
<facubatista> ja, I summoned the response (?)
<facubatista> Chipaca, landed!
<Chipaca> aww
<Chipaca> rtd could give us docs for pull requests
<Chipaca> but i need to be able to authorize the organization
<mup> PR operator#337 closed: trivial change to test something <Created by chipaca> <Closed by chipaca> <https://github.com/canonical/operator/pull/337>
<facubatista> 2020-06-24 16:11:10,768  charmcraft.commands.build DEBUG    :: ERROR: Cannot find command 'git' - do you have 'git' installed and in your PATH?
<facubatista> Chipaca, maybe we need to put git and other VCs
<facubatista> *VCSs tools inside the snap?
<Chipaca> facubatista: how did you get that one?
<Chipaca> facubatista: (and yes i was expecting to have to do that, it's fine)
<Chipaca> facubatista: (just not yet; i hadn't notied we were using git yet -- where are we?)
<Chipaca> hm
<Chipaca> i guess if you have a git url in your requires?
<facubatista> Chipaca, xactly
<Chipaca> drat :)
<Chipaca> facubatista: something you were trying, or a user reported this?
<facubatista> Chipaca, a user reported something similar, I'm not sure if exactly the same thing (need to see the logs they passed later)
<facubatista> Chipaca, we need also to "see" which `pip` they have
<Chipaca> facubatista: we're shipping pip in the snap already
<Chipaca> that much i did test :)
<facubatista> Chipaca, yes, but what if you run from tarball or whatever? seeing that the user has a different pip from "us" helps to understand a possible different behaviour
<facubatista> even from snap: we may have different pips in edge than stable, etc, so have that explicitly in the logs I think it worths having an extra system call when building
<Chipaca> facubatista: you can start the build with 'pip list'
<facubatista> oh, that's probably better than `pip --version`
<Chipaca> i think so :)
<facubatista> great
<Chipaca> facubatista: hadn't the change to create the tempdir landed?
<Chipaca> maybe i misremember
<facubatista> Chipaca, the tempdir? nop, I don't think we did that
<facubatista> Chipaca, I landed the creation of the config directory, for the credentials
<facubatista> Chipaca, `list` gives much juicy information that just the pip version
<Chipaca> facubatista: ok i'll include creating the tempdir in my snap changes
<Chipaca> facubatista: yes, useful information
<Chipaca> facubatista: look at what travis prints out for example
<Chipaca> facubatista: that's a good war log
<facubatista> Chipaca, having a simple "pip list" first is an awesome way to see if there's *any* problem with pip, before the quite more complex install itself
<facubatista> Chipaca, https://github.com/canonical/charmcraft/pull/56
<mup> PR charmcraft#56: Make pip list current packages before proceeding with the install <Created by facundobatista> <https://github.com/canonical/charmcraft/pull/56>
<facubatista> Chipaca, remember we removed the `--system` parameter in the install call? I think the lack of it is creating the failure here: https://github.com/canonical/charmcraft/issues/55
<Chipaca> facubatista: let me ask one other thing there
<facubatista> Chipaca, I would let you ask even three things
<Chipaca> quÃ© compromiso /o\
<facubatista> it's a max, not a hard number :p
<facubatista> like when the genius gives you UP TO three desires
<Chipaca> wishes*
<Chipaca> genie*
<Chipaca> first wish: infinite genies
<Chipaca> facubatista: strange that in spanish genie (djinn) and genius, are the same word (very different etymologies afaict)
<Chipaca> facubatista: ('genio' in the djinn sense is not from latin)
<facubatista> "wishes": I should have known; "genie": didn't know
<facubatista> "SegÃºn parece, la palabra espaÃ±ola Â«genioÂ» proviene del Ã¡rabe Â«djinnÂ» cuyo significado describe a un tipo muy preciso de ser."
<facubatista> ah, genius comes from Latin
<Chipaca> facubatista: as does genio in the genius sense :)
<facubatista> ah, "genio" from djinn is about "mood"?
<Chipaca> facubatista: hmm... i hadn't thought about that, but probably
<Chipaca> that's a weird one :)
<Chipaca> facubatista: another one that spanish mashes together is scatology and escatology
<Chipaca> but that one i love :-D
<facubatista> oh, that one is awesome
<facubatista> it totally mutates the meaning of "chistes escatolÃ³gicos"
<Chipaca> facubatista: good news on that bug
<facubatista> Chipaca, yes, but I suspected, "from snap" would be the main method of running snap, that's why I wanted for *us* to be always testing really-really-edge
<facubatista> s/running snap/running charmcraft/
<Chipaca> facubatista: yep
<Chipaca> facubatista: also we'll need spread tests for the snap soon
<Chipaca> anyway, tagged, assigned, and milestoned
<Chipaca> and unblocked the user
<facubatista> rock
<Chipaca> i declare this a great success
<Chipaca> and go to bed
<Chipaca> facubatista: ð eod for me
 * facubatista eods too
#smooth-operator 2020-06-25
<jam> morning all
<Chipaca> morning all!
<facubatista> Muy buenos dÃ­as a todos!
<Chipaca> facubatista: heyy
<facubatista> Chipaca, meeting?
<Chipaca> facubatista: omw
<facubatista> Chipaca, so, there's no "easy" or "integrated" way to make argparse to support a longer help for the command alone
<Chipaca> facubatista: i'm listening
<facubatista> I mean, if I do `charmcraft version -h`, the machinery of argparse triggers in, not allowing us to have contron on the output (unless we keep digging with hacking its internals), and it doesn't have a field to show a "long description"
<facubatista> Chipaca, so, we could keep digging, but maybe is to first understand which are all the changes we'll need to do regarding help messages... we may totally craft a HelpFormatter if it's very different than the default
<facubatista> Chipaca, IOW, what I propose is to forget about charmcraft#3 until we have news and directions from UX
<mup> Issue charmcraft#3: Support for long help texts from each command <Created by facundobatista> <https://github.com/canonical/charmcraft/issues/3>
<Chipaca> facubatista: we already have that direction
<Chipaca> facubatista: but i'm ok with slipping charmcraft#3 due to it turning out to be more work
<mup> Issue charmcraft#3: Support for long help texts from each command <Created by facundobatista> <https://github.com/canonical/charmcraft/issues/3>
<facubatista> Chipaca, ok
<Chipaca> i'm going to go figure out lunch before it's tea time
<facubatista> Chipaca, please remember this: https://github.com/canonical/charmcraft/pull/57
<mup> PR charmcraft#57: Make pip list current packages before proceeding with the install <Created by facundobatista> <https://github.com/canonical/charmcraft/pull/57>
<facubatista> (note I re-did the PR, now from the forked project)
<mup> PR operator#338 opened: ops/storage.py: Move SQLiteBackend <Created by jameinel> <https://github.com/canonical/operator/pull/338>
<Chipaca> facubatista: how could i forget
<Chipaca> (answer: easily)
<facubatista> dramatically
<Chipaca> libnghttp2.so.14
<Chipaca> sounds a bit rude
<Chipaca> poor http2
 * Chipaca close to having a working snap
<Chipaca> woooo
<Chipaca> 9.1MB for a working snap including git and enough helpers to pull https
<Chipaca> facubatista, jam, standup?
<facubatista> oops
<jam> Chipaca, I'll need your +1 on #338 at some point :)
<mup> PR #338: ops/storage.py: Move SQLiteBackend <Created by jameinel> <https://github.com/canonical/operator/pull/338>
<Chipaca> jam: you've got it
<Chipaca> jam: facundo'll need your +1 on charmcraft#57 also :-D
<mup> PR charmcraft#57: Make pip list current packages before proceeding with the install <Created by facundobatista> <https://github.com/canonical/charmcraft/pull/57>
<Chipaca> facubatista: meeting?
<Chipaca> facubatista: booooooo you missed the meeting boo
 * Chipaca boos
<facubatista> Chipaca, ugh
<facubatista> there's something wrong with my notifications today
 * Chipaca boos some more
<facubatista> damn, I super wanted to be in that meeting
<facubatista> ok, pulseaudio is sending the irc audio notification through the headset
<facubatista> even if there's no headset connected :/
<facubatista> ufa
 * facubatista will need to reboot, probably, to fix this
<facubatista> Chipaca, any particular outcome/progress?
<Chipaca> facubatista: the good news is, there is another one next week
<Chipaca> facubatista: also, we should probably consider moving to click
<facubatista> Chipaca, ack
<Chipaca> facubatista: big asterisks on the click thing though :)
<Chipaca> facubatista: charmcraft#58 might be of interest to you
<mup> PR charmcraft#58: changes to snapcraft.yaml, and version, for 0.2.0 <Created by chipaca> <https://github.com/canonical/charmcraft/pull/58>
<facubatista> might
<Chipaca> facubatista: my devious plan is to land charmcraft#57 to master before landing that
<mup> PR charmcraft#57: Make pip list current packages before proceeding with the install <Created by facundobatista> <https://github.com/canonical/charmcraft/pull/57>
<facubatista> Chipaca, I'm *so* glad you're doing the snapcraft part :p
<Chipaca> facubatista: I am too. At this point I have Opinions about it.
<facubatista> Chipaca, I wonder how much of that hardcoded listings will change in time; it will be a maintenance problem?
<Chipaca> facubatista: worst case, we delete the whole stanza and the snap grows 5Ã
<Chipaca> not a terrible end
<facubatista> ack
<Chipaca> facubatista: for now, it works like this
<Chipaca> facubatista: at some point maybe there'll be a better way
<Chipaca> (like being able to call out to a git snap)
<facubatista> yeap
<Chipaca> almost all the really ugly bits is git
<Chipaca> although picking and choosing python libs is also a pain, it's not as random
<Chipaca> facubatista: for reference, I've done this with the icdiff snap, and it hasn't broken nor needed updated since I created it a couple of years ago
<Chipaca> needed updating*
<facubatista> Chipaca, nice
<Chipaca> for 0.3, tab completion
<Chipaca> icdiff, since 2018-09 (so just under 2 years)
<Chipaca> filed charmcraft#59 for that
<mup> Issue charmcraft#59: tab completion in-snap <Created by chipaca> <https://github.com/canonical/charmcraft/issues/59>
<mup> PR operator#338 closed: ops/storage.py: Move SQLiteBackend <Created by jameinel> <Merged by jameinel> <https://github.com/canonical/operator/pull/338>
<jam> Chipaca, facubatista operator#323 updated
<mup> PR #323: 317 state get <Created by jameinel> <https://github.com/canonical/operator/pull/323>
<facubatista> Chipaca, I don't like pointing the user to the logfile when CommandError
<facubatista> Chipaca, or at least we need another exception that is "ended in error", but more gentle
<facubatista> for example, it doesn't make sense to point the user to the logs when:    raise CommandError("the requirements file was not found: {!r}".format(str(fpath)))
<facubatista> but it does make sense when:           raise CommandError("problems installing dependencies")
<facubatista> maybe we need a CommandCrashed (pointing user to the logs) and CommandError (more gentle)
<facubatista> what do you think?
<Chipaca> facubatista: sounds like it, yes
<Chipaca> facubatista: the difference being, i think, that in one case we can easily summarise the problem in Human, whereas in the other we can't
<facubatista> Chipaca, the difference for me, which I'm not finding how to express in the name of the error class, is "here's a problem that I can explain you and give you some hint about how to solve", and "we found a problem because something exploded beneath us and we don't know really what or why"
<Chipaca> facubatista: KnownError(CommandError)?
<facubatista> the only case so far for the second case is when installing dependencies
<facubatista> even a error from the store is a "controlled" one
<facubatista> mmm... IF the store is really telling us an error in a field, it's a controlled one
<facubatista> if the store explodes in unpredictable ways, is also the second case
<facubatista> CommandControlledError vs CommandUnknownError
<facubatista> ThisIsSomewhatExpectedError vs WhatWillWeDoWithAllThisBloodError
<facubatista> Chipaca, so, release?
<Chipaca> facubatista: looks like it
<Chipaca> facubatista: think you can write up a release blurb?
<Chipaca> facubatista: for https://github.com/canonical/charmcraft/releases/edit/untagged-c8c90d68c4d08c8e2547
* ChanServ changed the topic of #smooth-operator to: general discussion of the operator framework || github.com/canonical/operator || ops 0.6.1 || charmcraft 0.2.0
<Chipaca> facubatista: edit https://github.com/canonical/charmcraft/releases/tag/0.2.0 when you can (or i can do it tomorrow)
<facubatista> Chipaca, I can do it, but tomorrow
<Chipaca> 0.2.0 in github, pip, and snap
<Chipaca> facubatista: âµ
<Chipaca> EOD here
 * facubatista eods too
#smooth-operator 2020-06-26
<facubatista> Muy buenos dÃ­as a todos!
<Chipaca> facubatista: ð!
<facubatista> hola Chipaca !
<facubatista> Chipaca, the release notes for 0.2.0 should reflect all the changes from the last release (0.1.3) or from the last release at that "level" (0.1.0)?
<Chipaca> facubatista: from 0.1.3,no?
<facubatista> Chipaca, ok, I'll prepare something now
<facubatista> Chipaca, what do you think? https://paste.ubuntu.com/p/KrdQGH7yPx/
<Chipaca> facubatista: 0.1 was also available as a snap :)
<Chipaca> facubatista: otherwise, sgtm
<facubatista> what did I read, then?
<facubatista> commit ad855ab8133b0e93e575a1e0f5d21b496979bced
<facubatista> Author: chipaca <chipaca@users.noreply.github.com>
<facubatista>     package it as a snap
<facubatista> that is after 0.1.3
<Chipaca> orly
<Chipaca> facubatista: sorry for the confusion then
 * Chipaca double-checks just in case
<Chipaca> yup, no other tag contains 0efe1c0a0e605f22eb208d9fb9086580d5c48741
<facubatista> what?
<Chipaca> git tag --contains=0efe1c0a0e605f22eb208d9fb9086580d5c48741
<Chipaca> 0.2.0
<Chipaca> so indeed it wasn't part of the release (just immediately after it)
<facubatista> ack
<facubatista> Chipaca, notes added to the release
<Chipaca> facubatista: thanks
 * Chipaca â lunch
 * Chipaca â ÊÉnul
<Chipaca> sys.path intravis is hilarious
<Chipaca> /home/travis/build/canonical/operator::/home/travis/virtualenv/python3.5.7/lib/python35.zip:/home/travis/virtualenv/python3.5.7/lib/python3.5:/home/travis/virtualenv/python3.5.7/lib/python3.5/plat-linux:/home/travis/virtualenv/python3.5.7/lib/python3.5/lib-dynload:/opt/python/3.5.7/lib/python3.5:/opt/python/3.5.7/lib/python3.5/plat-linux:/home/travis/virtualenv/python3.5.7/lib/python3.5/site-packages:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:li
<Chipaca> b:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib:lib
<Chipaca> maybe jÐ°m's test isn't working because sys.path is missing more lib
<facubatista> wtf
<Chipaca> and it still doesn't work
<Chipaca> ok, I'm EODing here
<Chipaca> and EOWing
<Chipaca> facubatista: have a great weekend
<Chipaca> see y'all monday
<facubatista> Chipaca, bye!
 * facubatista brb
 * facubatista is back
 * facubatista eods
<facubatista> and eows!
<facubatista> see you all on monday
