This is the CI Team’s (from wgrant and fginther) trip report summary for
the CDO Sprint in Cape Town Feb 2-6. The raw notes are available here:
https://docs.google.com/a/canonical.com/document/d/1L-kl2ejlamwwy9KCtSXz4pdZVrstSfUD_n7YemGDdfU/edit#heading=h.9332ygcyx07

Juju
====
Leader election
 * Should make it in for 1.23.
 * Once leader election is in, 1.24 or later may give the leader API access
so it can coordinate cross-unit operations like upgrades.

Actions
 * These allow charm authors to define parameterized commands to execute on
a service or unit in a controlled manner.
 * Marco Ceppi is using Actions to execute benchmark tests on openstack
deployments as part of the CABS project.
 * Actions will be in 1.23 and eventually obviate SSHing into units to do
things.

MESS - Multi-Environment State Server
 * This will allow hosting multiple deployments on a single bootstrap node
but still maintain isolation.

Charm Helpers Framework
 * Use of the charmhelpers services framework was highly encouraged. This
is proving to be a better way to write charms as it more cleanly defines
dependencies and actions.
   * Example
https://code.launchpad.net/~canonical-sysadmins/canonical-is-charms/wordpress-services
 * Each charm still has to embed the charmhelpers codebase, as Juju has no
support for dependencies. They’re looking at possible solutions, but
nothing is imminent.

Charm coding best practices
 * Ben Saller and his team have been working on breaking up large charms
(using a ‘role’ pattern) and breaking them into small charms with shared
code via charmhelpers /contrib.
   * Example https://code.launchpad.net/~bigdata-dev/
 * Juju charm dependencies will make this much cleaner.

CABS - Canonical Automated Benchmarking Service
 * This is basically a project to run standard benchmarks on cloud
deployements. For example, we would run this on the bootstack cloud itself.

Other Juju bits
 * Storage is becoming a 1st class citizen, no more storage-brokers in the
future. Will be post 1.23.
 * Ben Saller is looking at environment upgrades, which will probably
require a redesign of the bundle format. It’s currently declarative, and
evolving between different declarative formats is difficult.
 * Proper support for LXC containers within an environment’s machines is
coming. No more manual network configuration hacks.
 * Cross-environment relations aren’t on any definite roadmap. But Ben
Saller is working on virtual services(?) to replace proxy charms. MESS
won’t directly help this, but MESS and virtual services provide a workable
solution and a path to a proper fix.
 * Jujufying existing machines in-place is difficult, but being considered.
We’re only really interested in it for a few weird or large hosts, but
other customers don’t want to tear down and redeploy their entire
production deployment just to add Juju.
 * Work on a ‘juju reconciler’ is in progress. The idea is to allow
upgrading of complex deployments that need to add and/or remove
relationships as part of the process. The reconciler will be given a goal
state for the deployment (via a juju-deployer like yaml) and determine what
relationship changes are needed to get there. Ben Saller’s team is
currently working on something external to juju to do this for the
cloud-foundry charms, but it is expected to eventually be in juju-core. See
~cf-charmers/charms/trusty/cloudfoundry/trunk


Snappy
======
Planning / Roadmaps
 * There were multiple sessions on deploying snappy with existing
technologies. These were primarily preliminary planning sessions to get
some investigative tasks on the CDO teams’ roadmaps.

Juju and Snappy
 * How to deploy snappy images with juju? This would require something like
a juju framework.
 * Juju and snappy could also be combined to provide orchestration within
the host. For example, a hypervisor framework is deployed to the snappy
system and juju is used to manage multiple containers running on that system

Landscape and Snappy
 * Landscape provides server upgrade features, there was a discussion
around what would be useful to leverage for snappy and could landscape
scale to IoT.

MaaS and Snappy
 * Most of the work needed to actually deploy a snappy image would be in
curtain
 * MaaS would continue to use it’s own image for bootstrapping, but then
use curtain to lay down the snappy image and partitioning
 * Support of deploying to IoT devices is really dependent upon the device
boot capabilities. Questions exist for how one would provision devices
without pxe boot.

Containers and Hypervisors
 * A very useful pattern for snappy is to deploy a hypervisor framework
(docker, lxd, kvm, etc) and then deliver apps as containers.
 * Support for an LXD/LXC framework is a priority

Snapp Apps on Server Images
 * There is a strong desire to allow installation of snappy apps on regular
server images. This provides a single ‘binary’ that developers need to
provide to support both snappy and server. It also allows for a faster
delivery through the store versus the ubuntu archive.
 * This is expected to be supported via installation of the snappy packages.


Bootstack HA
============
The upgrade of the bootstack cloud is planned.
 * The next version will be an HA openstack deployment and have more CPU
and MEM capacity compared to the current cloud.
 * New bootstack will be brought up in parallel to allow for verification
and migration of services


--
Francis Ginther
Canonical - Ubuntu Engineering - Continuous Integration Team
-- 
Mailing list: https://launchpad.net/~canonical-ci-engineering
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~canonical-ci-engineering
More help   : https://help.launchpad.net/ListHelp

Reply via email to