Summary
While the team has faced disruption as the COVID-19 outbreak, the team has continued to operate. We work remotely from home and are better placed than most to continue operating while countries impose movement restrictions.
Once again, thanks to external contributors. This week included some fixes to performance problems with juju status
on very large models that were raised by @soumplis the recent Charm Summit.
New Releases
- Juju 2.7.5 is ready and sent to Canonical’s Quality Assurance team for independent testing
Feature Development
Kubernetes
Other features in progress:
- Work is continuing on a Juju admission controller endpoint. This will enable label resources created outside Juju
- A new
update-k8s
command is almost ready. This will allow microk8s and other k8s clouds to be updated after initial deployment. A major driver is the microk8s use case where the network to which the host machine is connected changes, requiring and update to the endpoints.
Backup and restore
Work continues to streamline the process of backing up and restoring a Juju controller and its models.
- enhanced backup file metadata and backup file versioning has been completed
- restore to an existing controller is working
- next up will be using restore to downgrade a controller to a previous version
LXD
Updates to support new default profile format for network devices, released with 3.22.
OpenStack
Ongoing work to provide better integration tests against OpenStack by leveraging MicroStack.
MicroStack is a distribution of OpenStack for workstations and edge/IoT:
Multi-node OpenStack for workstations and edge / IoT
Install and run OpenStack on Linux in minutes. Made for developers and great for edge, IoT, and appliances.
Out team’s work has included using MicroStack as a vehicle for creating/deleting ports when destroying a controller. We’ve used this to prevent the creation of “orphaned” ports during cleaning up (juju destroy-controller
).
Relation hook changes (2.8)
- We have introduced a new hook type called
xyz-relation-created
(where xyz is the relation name). The new hook fires for each established relation and allows charms to perform additional initialization work (e.g. the leader can set something in the app databag) before joining the relation. Peer relations are considered to be pre-established and therefore the created hooks for them are fired before any leadership-related hook. - The
xyz-relation-departed
hook now exposes the name of the departing unit via a new envvar calledJUJU_DEPARTING_UNIT
. Charms can use this information to figure out if it’s them or the remote unit that goes away and apply any required action.
Both of these features are currently in review and are expected to land on edge sometime next week.
Internal/Behind-the-scenes Refactoring
Bugfixes
19 bugs have been marked “Fix Committed” against the upcoming 2.7.5 release.
29 pull requests were accepted into the main development branch during the period.
Links
Juju 2.7.5 Release Notes
Previous progress report