Hi folks,

One of the things we're working on for the 2.3 release (not 2.2!) is
persistent storage. What this means is the ability to detach storage from a
unit, and reattach it to another unit keeping the storage contents intact.
We would like to get some feedback before this all gets set in stone.

With the changes, removing an application unit will detach storage rather
than destroy it as Juju currently does. The storage will then be available
for attaching to another unit using "juju attach-storage <unit> <storage>"
or to a new application unit using "juju deploy <charm> --attach-storage
<storage>"; or for removal using "juju remove-storage <storage>".

For example, I can deploy postgresql on AWS with EBS storage. If I remove
the postgresql application, I can add another and attach the storage to it:

$ juju deploy postgresql --storage pgdata=100G,ebs
Located charm "cs:postgresql-148".
Deploying charm "cs:postgresql-148".
(wait for postgresql/0 to become active)

$ juju remove-application postgresql
removing application postgresql
- will detach storage pgdata/0
(wait for postgresql/0 and machine 0 to be removed)

$ juju deploy postgresql postgresql2 --attach-storage pgdata/0 --to
zone=<same-zone-as-postgresql/0>
Located charm "cs:postgresql-148".
Deploying charm "cs:postgresql-148".
(wait for postgresql2/0 to become active)

If you like, you can confirm for yourself that the data is persisted by
logging into the first machine and runing "sudo -u postgres psql", creating
some data, and then checking that it is still there from the second machine.

(The --to zone=... is required due to a limitation that we will remove by
the time 2.3 is released. EBS volumes and EC2 instances must be created in
the same AZ, and that's not automatic yet. This is fixed by
https://github.com/juju/juju/pull/7378 which, at the time of writing this
email, has not yet been merged.)

If you have any interest in these changes, please help us make them great
by testing out this early release:

$ sudo snap install --channel=edge --classic juju-axw
$ /snap/bin/juju-axw.juju bootstrap ...

The new/updated commands are:
 - juju attach-storage <unit> <storage>
 - juju detach-storage <storage>
 - juju remove-storage <storage>
 - juju deploy <charm> --attach-storage <storage>

(We'll also be adding --attach-storage to the "juju add-unit" command soon.)

Thank you!

Cheers,
Andrew
-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev

Reply via email to