/srv/irclogs.ubuntu.com/2020/05/13/#juju.txt

hpidcockwallyworld: just got this bootstrap lxd on 2.8-rc branch01:30
hpidcockUnable to fetch Juju GUI info: error fetching simplestreams metadata: cannot unmarshal JSON metadata at URL "https://streams.canonical.com/juju/gui/streams/v1/com.canonical.streams-released-gui.sjson": json: cannot unmarshal string into Go struct field Metadata.juju-version of type int01:30
wallyworldhpidcock: yup, they messed up the metadata01:31
wallyworlda fix is in progress01:31
hpidcockawesome01:31
wallyworldindeed01:31
hpidcockwallyworld: https://github.com/juju/python-libjuju/pull/41202:07
hpidcockand anyone else interested in python-libjuju02:07
wallyworldlooking02:07
wallyworld+43000!!!!!!02:08
timClickswgrant: appreciate the time taken to write that response, thanks02:09
wgranttimClicks: It's possible that I may have some Opinions :)02:09
wgrantThanks for starting conversations like this02:10
timClickswgrant: am glad that thread was started with a warning ;)02:10
wgrantHeh, indeed.02:10
wallyworldhpidcock: ideally we'd use 2.8.0 for the schema not 2.8-rc2 as that reference will be out of date in days. can we add in the remaining schema from the model operator branch and use 2.8.002:14
hpidcockwallyworld: rc2 is 2.8.0 at the moment. If stuff hasn't landed in the rc branch it's not 2.8.0 yet02:16
wallyworldsure, but it seems unfortunate to release a new libjuju with will be out of date in terms of that in a matter of days02:17
wallyworldi guess we can do a 2.8.1 after 2.8 ships02:17
thumperhpidcock: reviewed libjuju02:29
wallyworldthumper: i'm still waiting on fixes/changes to the dashboard tarball, but this works with the one that's currently published. i also need to retest upgrades after changes to accommodate the recent tarball revision https://github.com/juju/juju/pull/1156202:41
thumperwallyworld: ack02:48
thumperwallyworld: did you check that the old gui continued to work after the upgrade?02:51
wallyworldi did02:51
wallyworldwill retest everything though after final tweaks for the new new new dashboard02:52
wallyworldthumper: everyone else super busy, so sorry, https://github.com/juju/juju/pull/1156504:01
wallyworldah balls, targetted to wrong branch, should be 2.704:04
thumperwallyworld: did you want me to retarget?04:07
thumperor do you need to rebase first?04:07
wallyworldthumper: i just rebased and retargetted04:07
wallyworldnow i need coffee before i hack on the dashboard stuff again to support the new new format04:08
thumperwallyworld: asked a question...04:14
wallyworldthumper: answered04:19
wallyworldpreviously the offer stirng was a const04:20
wallyworldnow it's built from series, and we also need the sku04:20
thumperwallyworld: right, but the number at the front is something they increment04:25
thumpernot a fixed 000104:25
wallyworldsupposedly04:25
wallyworldit's not something we know ahead of time, it's not something were can query. we could make it a vonfig somewhere but that has its own issues04:26
thumperwhich is why I asked can we do a substring match on the offer?04:26
wallyworldit's an arbirary decision outside of juju04:26
wallyworldno, becaue it's a param passed to azure04:27
wallyworldwe don't match on it04:27
wallyworldwe pass it to azure04:27
thumperright04:27
thumperI understand that04:28
thumpercan we pass a substring?04:28
thumperis it an exact match?04:28
thumperbecause we shouldn't be using 000104:28
wallyworldit's used to tell azure to pick a particular image by tag, no substring involved, eg04:29
wallyworldreturn &compute.StorageProfile{04:29
wallyworldImageReference: &compute.ImageReference{04:29
wallyworldPublisher: to.StringPtr(publisher),04:29
wallyworldOffer:     to.StringPtr(offer),04:29
wallyworldSku:       to.StringPtr(sku),04:29
wallyworldVersion:   to.StringPtr(version),04:29
wallyworld},04:29
wallyworldOsDisk: osDisk,04:29
wallyworld}04:29
wallyworldOffer is a straight out arg to an api call04:29
wallyworldwe either have it or we don't04:30
thumperin which case we have a problem04:31
wallyworldif they ever chabge it yes04:31
thumperguarantee that they'll change it04:32
kelvinliuwallyworld: https://github.com/juju/juju/pull/11566 got this pr to move the retry to initialization function to retry the coping charm request only rather than retrying the whole remote init operation04:32
wallyworldwe need to tell them not to04:32
kelvinliucould u take a look?04:32
wallyworldsure04:32
kelvinliuty04:32
wallyworldkelvinliu: lgtm but retarget to 2.8-rc branch04:48
kelvinliuwallyworld: yep, ty04:48
thumperhttps://github.com/juju/juju/pull/11567 for a fix to the full status query tracker tests04:53
wallyworldhpidcock: kelvinliu: looks like another remote-init issue, bug 1878329 application-mattermost: 15:32:59 ERROR juju.worker.uniter resolver loop error: executing operation "remote init": caas-unit-init for unit "mattermost/0" failed: ERROR failed to remove unit tools dir /var/lib/juju/tools/unit-mattermost-0: unlinkat /var/lib/juju/tools/unit-mattermost-0/goal-state: permission denied04:53
mupBug #1878329: stuck k8s workload unit following upgrade-charm with new image <juju:New> <https://launchpad.net/bugs/1878329>04:53
wallyworldthumper: looking04:53
kelvinliuthat's weird, operator is the root user04:55
wallyworldthumper: just a small suggestion04:57
wallyworldthanks for the libjuju relase hpidcock, you've made several folks very happy, including the osm guys04:58
thumpernot to mention solutions qa04:59
kelvinliuwallyworld:  https://bugs.launchpad.net/juju/+bug/1877935 we still have this bug,04:59
mupBug #1877935: operator trys to exec into the workload container but the container is not running yet <juju:New> <https://launchpad.net/bugs/1877935>04:59
wallyworldyeah we do :-(05:00
kelvinliuforgot mention in standup, I think this one and the watcher one should have higher priority than the block storage one?05:00
wallyworldyup05:00
wallyworldthe block storage one is more a guard rail05:00
kelvinliuok, im gonna look on these two first05:01
wallyworldwith the init one, maybe we can try looking for the pod a few times, using retry()05:01
wallyworldor at least query the cluster to see if things are stareting up05:01
wallyworldand give them time to get done if they are05:02
kelvinliui think there might be a upgrade charm flow missing in the init process05:03
wallyworldcould be, i'd need to look at the logic again to see what's been implemented05:04
kelvinliualso I guess the watcher bug is related operator rather than the watcher itself. It seems the operator is not responding correctly if any uniter got those errors(like 137, etc).05:05
thumperwallyworld: you think I should just say "FullStatus" without the prefix ?05:07
thumperI think it would probably match too05:07
wallyworldthumper: it's more filtering out other method names that contain the one currently being filtered on05:08
thumperwallyworld: I don't know what you just said05:08
wallyworldso if the tracer has been set up to look for "FullStatus" and the traceback has "FullStatusVerbose", it would match both with the current code05:09
thumperFWIW, tracker := s.State.TrackQueries("FullStatus") works05:09
wallyworldwe want to exclude "FullStatusVerbose"05:09
thumperwell, then the caller should say "FullStatus("05:09
wallyworldok, I wasn't sure if the expectation / desire was for a single method match05:10
wallyworldto avoid ambiguity05:10
thumperit is sufficient for now, but we may need to tweak later, I'll add more of a comment on the TrackQueries method to explain so future people will know05:11
wallyworldsgtm05:11
thumperwallyworld: added more of a comment to explain on the tracker05:13
thumperso it shouldn't be a surprise to any future people using it05:13
wallyworldty05:14
thumperwallyworld, or anyone: https://github.com/juju/juju/pull/1156805:44
thumpertlm, hpidcock, kelvinliu: ^^?05:48
kelvinliulooking now?05:49
thumperkelvinliu: thanks05:49
thumperkelvinliu: generally for things we need to wait on, we use testing.LongWait05:53
thumpereven if we expect them to happen quickly05:53
thumperthere is no real change to the test times for running in that package05:53
thumperwith the patch I had 2.2, 3 and 4s for the package on three different runs05:54
thumperbefore it was 2.7  seconds05:54
thumperso within the realm of ok IMO05:54
kelvinliuthumper: it's weird to see this errors because we mocked anything in caas provider, so no db or any network access, but the fix lgtm.05:54
thumperyeah, I'm betting it is just CPU contention05:54
thumperand the number of concurrent goroutines05:55
thumperyes it shouldn't take long05:55
* thumper shrugs05:55
thumperI'm pretty sure this will make the intermittent issues go away05:55
kelvinliuyeah, thanks for the fix05:55
wallyworldthumper: that PR should land in the 2.8 branch IMO06:03
wallyworldnot 2.8-rc but 2.806:04
wallyworldtlm: your PR ready for another look?06:04
timClicksan excellent thread has emerged on a charm's error state for anyone who would like a few minutes of procrastination ahead of them https://discourse.juju.is/t/when-to-send-an-application-into-an-error-state/304607:48
=== salmankhan1 is now known as salmankhan
=== salmankhan1 is now known as salmankhan
manadarthml: Cherry-pick to the RC branch of Tim's ENI/Netplan patch: https://github.com/juju/juju/pull/1156914:07
hmlmanadart:  looking14:14
hmlmanadart:  tick14:15
manadarthml: Ta.14:15
=== cory_fu_ is now known as cory_fu
manadarthml: Small utility addition. No hurry; I am EoD: https://github.com/juju/juju/pull/1157015:07
cory_fupetevg: I have a present for you: https://github.com/juju/python-libjuju/pull/415  There are still failing tests, but you can actually see what they are now and they would have caught the open issues with the 2.8 release.19:26
petevgcory_fu: nice! Thank you :-)19:27
cory_fupetevg: It would also be nice to see all of those "Event loop is closed" errors when a test fails cleaned up to make the results less noisy, but I'll leave that to you.  ;)19:28
petevg+119:29
petevg:-)19:29
cory_fupetevg: I see that the Juju repo is also using GH Actions now.  It would be really interesting if a portion of that PR could be ported over to the Juju repo so that breakages to libjuju are caught immediately rather than depending on a change to land in libjuju to find it.  I guess one aspect of that is that you'd need to do the upstream sync as part of the test so that things like facade or definition changes got picked up.  That probably worth19:55
cory_fudoing on the edge portion of the libjuju tests as well, TBH.19:55
petevgcory_fu: that makes sense. It'd be nice to catch this stuff right away ...19:55
cory_fupetevg: Downside is the 20+ minute duration of the integration tests, plus the fact that while the change in Juju might lead to a break, it would likely need to be fixed in libjuju rather than the Juju PR.19:57
petevgTrue.19:57
petevgThat would create a chicken and egg issue!19:57
cory_fuI wonder if GitHub Actions could do a daily run with notifications?  Or since you have a Jenkins already, adding a daily run to that to watch for libjuju breakage.19:57
cory_fupetevg: I actually thought that last one was planned when the Juju team took over libjuju, but I guess it got dropped.19:58
rick_hcory_fu:  petevg one of the issues we had was the whole "land the thing that generates the new schema" and then go update the schema in the library chicken and egg issue20:44
rick_hcory_fu:  petevg I think there is a test that's non-gating in jenkins that checks if things are likely to be broken. You can check with stickupkid on those as he's managed most of that to date20:44
petevgrick_h: cory_fu made a pr to make that test gating :-)20:45
cory_fupetevg: Different test20:45
petevgAha! Got it.20:45
cory_furick_h, petevg: Would that be this test?  https://jenkins.juju.canonical.com/view/github/job/github-integration-tests-pylibjuju/20:47
cory_fuHrm.  Maybe this one?  https://jenkins.juju.canonical.com/job/github-schema-tests-pylibjuju/20:48
petevgYou're showing me red circles and making me sad, cory_fu :-(20:50
cory_fupetevg: Red circles that haven't been run in months, too20:50
cory_fupetevg: Maybe this one will make you happier?  https://jenkins.juju.canonical.com/job/github-check-merge-juju-python-libjuju/147/20:51
cory_fuThat is running the unit tests, at least, but that doesn't help with catching any of the stuff that the integration tests caught.20:52
cory_fupetevg: Thinking about it more, there's a chicken-and-egg issue in the other direction as well.  If we make the libjuju edge tests do the upstream sync and it fails, it wouldn't really be relevant to the PR on that side either.20:54
cory_fupetevg: It definitely seems like the right thing is instead something like a daily build that uses master of Juju and master of libjuju, syncs and builds them, then runs the integration tests from libjuju.  As long as that actually generated an alert that got paid attention to, it wouldn't block specific PRs but would let you know if there was an issue that would need to be addressed.20:55
cory_fuPlus the 20 or so minute runtime of the integration tests wouldn't be so onerous if only being run once a day.20:57
thumperwallyworld: https://github.com/juju/juju/pull/1157123:42

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