Hacks to Juju to force an upgrade.
JavaScript Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
force-upgrade.sh
upgrade.js

README.md

YOU SHOULD NOT USE THIS

There be dragons here.

Force Upgrade with upload-tools

If you have a pre-1.24 environment that is stuck on finding tools here are the manual steps to upgrade.

# downlaod the desired binary for your platform / series.
1.25.1-trusty-amd64/bin/juju upgrade-juju --upload-tools --debug

After you recieve the "connection shut down" error, make note of the best version.

juju ssh 0
mongo --ssl -u admin -p $(sudo grep oldpassword /var/lib/juju/agents/machine-0/agent.conf | awk -e '{print $2}') localhost:37017/admin << EOF > setting.js
use juju
db.settings.find({name:"env-name"}).pretty()
EOF

Now edit settings.js, we are going to turn it in to our update command. First remove the extra lines at the top. Then wrap the first property (_id) with an update and modify agent-version to match what ever the previous upgrade-juju command reported was the best version. You'll also need to add the use juju command to the top.

use juju
db.settings.update({"_id":"env-id-hash"}, {
    ...
    "agent-version": "1.25.1.1",
    ...
})

Now you can update the settings collection and restart jujud.

mongo --ssl -u admin -p $(sudo grep oldpassword /var/lib/juju/agents/machine-0/agent.conf | awk -e '{print $2}') localhost:37017/admin < settings.js
sudo kill -HUP $(ps ax | grep machine-0/jujud | awk 'NR==1{ print $1 }')

Then you can watch the logs for upgrade status (or juju status)

sudo tail -f /var/log/juju/machine-0.log