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