Juju Team Updates - Week #45 2021

Hi everyone, below you can find the updates from the Canonical Juju Team for the week starting on the 08/11/2021. Have a great weekend!

cc @pedroleaoc @jameinel

  • move simple stream fetching, jujud-operator image tag fetching and version filtering from upgrade-controller/model command to facade lp-1944801
1 Like
  • Fix for config being overridden by defaults #13488
  • WIP attempt to speed up legacy unit tests #13494
  • Looking into juju-db snap issues
  • Fixed/built new juju-db OCI images for 4.4 and 5.0
1 Like
  • more investigation of a customer issue with cmr; found root cause was a snippet of stale data; db update on site fixed the issue; working on a juju fix
  • check available disk space before starting a juju backup
  • k8s enhancement to support ingress resources using v1 or beta1 network api on any k8s cluster (1.22 removed the beta1 api)
  • robust Azure api calls - token refresh and retry on transient errors
  • backport juju actions fix for 2.8.13 release
2 Likes
  • Batch lease expire queries to improve performance #13481
  • Load testing different algorithms for the raft lease queue
  • Fix the client logging levels to help operators understand warning signs of raft lease backoffs #13495
  • Raft lease extension timeout to prevent churning #13497
1 Like
  • Used the 4 maxims of cooperative linguistic communication to design a way to plan, guide, and quantify progress on docs. It relies on iterative work carried out through small, actionable tasks where each task is planned around fixing things that fail relative to Manner (“is this clean, clear, non-redundant, non-ambiguous, orderly, accessible, etc.?”), Relation (“is this relevant here?”), Quantity (“is this too much/little here?”), and Quality (“is this true, accurate, up-to-date, …?”). Relation integrates nicely with Daniele’s Diataxis categories: Diataxis forces you to assign to each doc just one main goal (out of Tutorial, How-to guide, Reference, and Explanation), and Relation forces you to trim that doc further so its content is all relevant relative to that goal.
  • Carried out multiple tasks related to especially Manner (projects “First pass”, “Improve UX”, “Clean up”, “List all”) and Relation (project “Modularize all”).
2 Likes
  • Proposed a refactoring PR for improving parallelism when starting/stopping instances within the provisioner worker #13499
1 Like
1 Like
  • Big cleaning on asyncio stuff coming soon [PR #580] (under review, not landed yet)
  • Some small changes [PR #583] [PR #585]
  • Tried to solve unit.public_address issue (#551), [PR #573]. Turns out it’s slightly bigger than we thought [LP #1950799].
  • Setting an actual alarm on the phone for the team updates.
1 Like
  • Developed AWS doc to cover Juju’s permissions for the controller
  • Worked on PR 13490 for creating instance profile role policies.
2 Likes
  • studied Juju network primitives docs / relation docs / charm lifecycle / charm hooks
  • practiced with Juju help-tools, Juju relations (among deployed charms)
  • started brainstorming on the topic of a new Juju networking model
2 Likes
  • made a mediawiki charm based on the Operator Framework (the existing one dated about 10 year) as a learning exercise
  • started defining an approach for providing a safe execution environment for scriptlets
3 Likes
  • Collaborated with @simonrichardson on a performance improvement for Raft leases via the Juju API.
  • Fixed a bug where upgrade-series incorrectly reported the affected units.
  • Corrected the help text for the --keep-broken bootstrap option.
  • Produced a use-case document for exchanging network data over relations under a new Juju networking model.
1 Like
  • Fixed a couple of minor bugs
  • Investigating how we can decrease our dependence on Jenkins and move as much CI to GitHub actions as possible
1 Like

Nice work there.

Feedback is that when trying to submit bugs, I have to use launchpad but the code itself is in github? Thats double the effort to contribute.

Even broader thoughts are what are your opinion on how we can shorten the distance between developing juju inside Canonical and the external community/ies?