On Wed, Jul 1, 2015 at 1:34 AM Mario Splivalo <mario.spliv...@canonical.com>
wrote:

> Hi, lads (and ladies!)
>
> I need to upgrade customer who's running juju 1.18 (on a fairly large
> setup, 100+ nodes), and I'm not sure what's the proper procedure to do so.
>
> I tried (in our lab, local OpenStack) upgrading juju-core package to
> 1.24, and then running 'upgrade-juju', but that just left my environment
> unusable.
>
> Then I opted for a 'intermediate' step - I'll upgrade to 1.20 (which is
> in trusty-updates, and from there I'll upgrade to 1.24.
>
> So, I installed 1.18 from trusty (apt-get install
> juju-core=1.18.1-0ubuntu1), bootstraped, and deployed two simple
> services, one-unit ubuntu service (u1) and three unit ubuntu service (u2).
>
> After services were installed I run upgrade-juju (with juju-core still
> being 1.18)
>
> juju upgrade-juju
>
> That upgraded agents on all the installed units to 1.20.14. (juju status
> confirmed that, as well as symlinks in /var/lib/juju/tools on each of
> the deployed units).
>
> After that I upgraded juju-core (on my control node) to 1.20.11. But,
> after that running 'juju upgrade-juju' yielded with "no upgrades
> available". As I was running 1.20 agent on all of the installed units I
> went further and upgraded juju-core to 1.24 (from juju stable ppa), and
> tried 'juju upgrade-juju' again. But again I was greeted with "no
> upgrades available".
>
> I then run 'juju upgrade-juju --dry-run --version 1.24.0', and this time
> juju showed me available versions and suggested that 1.24 was the best one:
>
> ubuntu@mariosplivalo-bastion:~$ juju upgrade-juju --dry-run
> no upgrades available
> ubuntu@mariosplivalo-bastion:~$ juju upgrade-juju --dry-run --version
> 1.24.0
> available tools:
>     1.24.0-precise-amd64
>     1.24.0-precise-armhf
>     1.24.0-precise-i386
>     1.24.0-trusty-amd64
>     1.24.0-trusty-arm64
>     1.24.0-trusty-armhf
>     1.24.0-trusty-i386
>     1.24.0-trusty-ppc64el
>     1.24.0-utopic-amd64
>     1.24.0-utopic-arm64
>     1.24.0-utopic-armhf
>     1.24.0-utopic-i386
>     1.24.0-utopic-ppc64el
>     1.24.0-vivid-amd64
>     1.24.0-vivid-arm64
>     1.24.0-vivid-armhf
>     1.24.0-vivid-i386
>     1.24.0-vivid-ppc64el
> best version:
>     1.24.0
> upgrade to this version by running
>     juju upgrade-juju --version="1.24.0"
> ubuntu@mariosplivalo-bastion:~$ juju upgrade-juju --dry-run
> --version="1.24.0"
> available tools:
>     1.24.0-precise-amd64
>     1.24.0-precise-armhf
>     1.24.0-precise-i386
>     1.24.0-trusty-amd64
>     1.24.0-trusty-arm64
>     1.24.0-trusty-armhf
>     1.24.0-trusty-i386
>     1.24.0-trusty-ppc64el
>     1.24.0-utopic-amd64
>     1.24.0-utopic-arm64
>     1.24.0-utopic-armhf
>     1.24.0-utopic-i386
>     1.24.0-utopic-ppc64el
>     1.24.0-vivid-amd64
>     1.24.0-vivid-arm64
>     1.24.0-vivid-armhf
>     1.24.0-vivid-i386
>     1.24.0-vivid-ppc64el
> best version:
>     1.24.0
> upgrade to this version by running
>     juju upgrade-juju --version="1.24.0"
>
>
> So I did what was suggested:
>
> ubuntu@mariosplivalo-bastion:~$ juju upgrade-juju --version="1.24.0"
> available tools:
>     1.24.0-precise-amd64
>     1.24.0-precise-armhf
>     1.24.0-precise-i386
>     1.24.0-trusty-amd64
>     1.24.0-trusty-arm64
>     1.24.0-trusty-armhf
>     1.24.0-trusty-i386
>     1.24.0-trusty-ppc64el
>     1.24.0-utopic-amd64
>     1.24.0-utopic-arm64
>     1.24.0-utopic-armhf
>     1.24.0-utopic-i386
>     1.24.0-utopic-ppc64el
>     1.24.0-vivid-amd64
>     1.24.0-vivid-arm64
>     1.24.0-vivid-armhf
>     1.24.0-vivid-i386
>     1.24.0-vivid-ppc64el
> best version:
>     1.24.0
> ubuntu@mariosplivalo-bastion:~$
>
> Although the output from the command didn't suggest it, actually the
> upgrade started in the background. After some time 'juju status'
> returned output, and everything seemed to be ok, but the agent version
> was still 1.20. Inside /var/lib/juju/tools there was 1.24.0-trusty-i386
> directory, but the symlinks for machine-X etc were still pointing to 1.20:
>
> ubuntu@juju-mariosplivalo-machine-1:/var/lib/juju/tools$ ls -al
> total 20
> drwxr-xr-x 5 root root 4096 Jun 30 17:11 .
> drwxr-xr-x 5 root root 4096 Jun 30 16:51 ..
> drwxr-xr-x 2 root root 4096 Jun 30 16:51 1.18.4-trusty-i386
> drwxr-xr-x 2 root root 4096 Jun 30 17:02 1.20.14-trusty-i386
> drwxr-xr-x 2 root root 4096 Jun 30 17:11 1.24.0-trusty-i386
> lrwxrwxrwx 1 root root   19 Jun 30 17:02 machine-1 -> 1.20.14-trusty-i386
> lrwxrwxrwx 1 root root   19 Jun 30 17:02 unit-u1-0 -> 1.20.14-trusty-i386
>
>
> However, when I try to add another service (juju deploy ubuntu u3), that
> one never finishes - the machine is brought up, I can ssh into it (using
> ssh keys from ~/.juju/), but juju status for that service shows this:
>   u3:
>     charm: cs:trusty/ubuntu-3
>     exposed: false
>     service-status:
>       current: unknown
>       message: Waiting for agent initialization to finish
>       since: 30 Jun 2015 17:25:36Z
>     units:
>       u3/0:
>         workload-status:
>           current: unknown
>           message: Waiting for agent initialization to finish
>           since: 30 Jun 2015 17:25:36Z
>         agent-status:
>           current: allocating
>           since: 30 Jun 2015 17:25:36Z
>           version: 1.24.0
>         agent-state: pending
>         agent-version: 1.24.0
>         machine: "5"
>         public-address: 10.5.2.30
>
>
>
> Am I doing something wrong here? Is this the proper procedure to upgrade
> juju across a live deployment?
>

I'm not sure why the newly-added machine isn't coming up - you might need
to file a bug with logs for that. For the existing machine upgrades, you're
probably running into this: http://pad.lv/1466969.

Cheers,
Andrew


>         Mario
>
> --
> Juju mailing list
> Juju@lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/juju
>
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju

Reply via email to