Juju Team Updates - Week #33 2021

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

cc @pedroleaoc @jameinel

  • Network modelling design.
  • Raft/leases performance improvements.
  • Reproduced and fixed a bug with cross-model relations on Kubernetes.
  • Some work towards fixing a network-get issue for bridged NICs.
1 Like
  • Continued on one-shot commands spec and implementation. We have broad agreement on the spec now, though some small details may change.
  • Added Pebble wait-change API endpoint to avoid need for polling when operations are done.
  • Sped up Python websockets library’s byte-masking function 20x, making that more usable without the C extension (which we may need in the Python Operator Framework if we don’t use the websocket-client library).
1 Like
  • fix machine startup bug setting snap proxy
  • fix issue with nested LXD containers in CI tests

More secrets spec work, plus:

  • add list-secrets CLI in this PR
  • extend the secret URL to allow fetching a specified attribute in this PR
1 Like
  • Switch back to upstream raft #13264
  • Raft endpoint changes #13265
  • Ensure we unsubscribe all pubsub subscriptions on errors #13256
  • Fixing export bundle after upgrading LP1939601
1 Like


  • Preliminary work for supporting asynchronous charm downloads (currently behind a controller feature flag).
1 Like

continuing working on below items:

  • private CAAS image repo support;
  • fixing upgrade-controller failed with custom caas-image-repo;
  • implementing OCI image resources using token-based authentication;
1 Like
  • Work on moving to go 1.17 for develop/juju3 #13262 - including internal jenkins work to fully support multiple go versions
  • Continued work on container constraints
  • Applied feedback to pebble PR for replan/restart operations pebble#60
1 Like

Just started this week, excited to be here! I focused on a couple things to start:

  • Looked into implementing some charms, the difference btw a sidecar/k8s charm and a machine charm was a little confusing without any prior knowledge, but became clearer once I started learning more about containers.
  • Set up some local (lxd, microk8s) and remote (aws, gce) clouds and deployed some services, added relations, created bundles, generally played with whatever I found to get some xp.
  • started looking into the python-libjuju, modified some of the examples and ran them to get familiar with the basic usage, also looked into how juju and the client communicates with websockets.