Announcing the "ubuntu-mirror" charm

Christopher Glass tribaal at
Sat Sep 20 14:55:12 UTC 2014

Hi all,

I've started playing with and deploying my "ubuntu-mirror" charm, that
leverages the excellent "storage" subordinate charm to create full
ubuntu mirrors.

That allows you to mirror a lot of the bits that make up ubuntu: the
apt repositories of course, but also cdimages, releases, ports and
cloud-images, and hopefully more in the near future (the MAAS images
are in the pipe, too, for example).

I've kicked the tires and deployed the full mirror a couple of times,
and I think it's now time for more eyes to look at the code, and
hopefully somebody else will find it useful.

For what it's worth, I am currently using a very similar setup as an
official Ubuntu archive and it seems to be doing pretty good.

The code lives at: lp:~tribaal/charms/trusty/ubuntu-mirror/trunk and
merge proposals are very welcome, either against the charm or the
"ubumirror" package it is using (that I also happen to maintain). You
can deploy it with:

juju deploy cs:~tribaal/trusty/ubuntu-mirror
juju deploy storage
juju set storage "nfs"  # Or whatever storage provider you have a few Tb on
juju add-relation storage ubuntu-mirror
# Wait a few hours :)

Future plans are roughly: get some tests written (it's a very simple
charm, but hey), get some version approved in the "official"
charmstore, and add the maas images to the syncing options. I'd also
like to randomize the crontab schedules a little if left unchanged,
but I've hit a few problems with the approach I took (using peer
storage). I'm happy to discuss good ways to solve that, too.

Note: I've seen an ubuntu proxy charm around here some time ago - this
one is a *mirror*, so it'll rsync a few *terrabytes* of data if you
let it do its thing :) It should hopefully not download the whole
thing multiple times if you scale out, however, so "add-unit" away!

Hope this helps somebody somewhere :)

- Chris

More information about the Juju mailing list