On 1 December 2016 at 13:53, Marco Ceppi <[email protected]> wrote:
> On Thu, Dec 1, 2016 at 5:00 AM Adam Collard <[email protected]> > wrote: > >> On Thu, 1 Dec 2016 at 04:02 Nate Finch <[email protected]> wrote: >> >> On IRC, someone was lamenting the fact that the Ubuntu charm takes longer >> to deploy now, because it has been updated to exercise more of Juju's >> features. My response was - just make a minimal charm, it's easy. And >> then of course, I had to figure out how minimal you can get. Here it is: >> >> It's just a directory with a metadata.yaml in it with these contents: >> >> name: min >> summary: nope >> description: nope >> series: >> - xenial >> >> (obviously you can set the series to whatever you want) >> No other files or directories are needed. >> >> >> This is neat, but doesn't detract from the bloat in the ubuntu charm. >> > > I'm happy to work though changes to the Ubuntu charm to decrease "bloat". > > >> IMHO the bloat in the ubuntu charm isn't from support for Juju features, >> but the switch to reactive plus conflicts in layer-base wanting to a) >> support lots of toolchains to allow layers above it to be slimmer and b) be >> a suitable base for "just deploy me" ubuntu. >> > > But it is to support the reactive framework, where we utilize newer Juju > features, like status and application-version to make the charm rich > despite it's minimal goal set. > Yeah, and I think this is a good thing. > Honestly, a handful of cached wheelhouses and some apt packages don't > strike me as bloat > No it's not per-se. However I think this highlights a more general issue with the current implementation of the reactive stack. It's not only the ubuntu charm that has slowed done, it's any reactive-based charm, because the steps required to "setup" reactive take longer than they used to. I see a couple of (possibly alternative) ways to improve the situation: 1) Make sure the dependencies of the base reactive layer are packaged, that should be much faster than pip install, and fall back to pip only for what's not there (i.e. dependencies added by the consumers of the base layer). Also, package the base layer itself. 2) Add support for images, so when you deploy some vanilla charm there's an associated "pre-built" image that will be very fast. I guess this is in the juju road map anyways. We always need to keep in mind that this experience will be compared with things like Kubernetes and Docker, and speed-y deployments really unlock velocity when iterating on charm development (think for instance running integration tests).
-- Juju mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju
