Discourse wont upgrade from 1.8 to 1.8.1?


(Peter N Lewis) #1

But clicking on upgrade produces:

Now, obviously, I could just follow the instructions and do the git pull and rebuild, but where has this come from? I just upgraded to 1.8 from 1.7.x without any problems a week ago, so how is it suddenly “running an old version of the Discourse image”?


(Sam Saffron) #2

Must be a timing thing around when we released an update to docker manager.

Bottom line is you are running an old version of Ruby in your image and we need that updated.


(Peter N Lewis) #3

OK, weird. Anyway, I did as specified (git pull/launcher rebuild) and all went well.

Now it says “v1.8.1 + 13”. What does the “+ 13” mean?


(Matt Palmer) #4

That there’s been 13 commits between the v1.8.1 tag and the code you’re currently running.


(Peter N Lewis) #5

OK, but as far as I am aware, I’m only meant to be running the current release version, that’s how it’s configured. I take it “git pull” method doesn’t honour this? Though this also happened when I upgraded to 1.8.0, so I’m not sure what happened with that…?


(Matt Palmer) #6

What does your app.yml look like, specifically the params section?


(Peter N Lewis) #7
params:
  ## Which Git revision should this container use?
  version: stable

The entire thing, with some comments and the “env” section omitted is.

## this is the all-in-one, standalone Discourse Docker container template
templates:
  - "templates/cron.template.yml"
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/sshd.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

## which TCP/IP ports should this container expose?
expose:
  - "80:80"   # fwd host port 80   to container port 80 (http)
  - "2222:22" # fwd host port 2222 to container port 22 (ssh)
  - "443:443" # fwd host port 443 to container port 443 (https)

params:
  ## Which Git revision should this container use?
  version: stable

env:
  …

## These containers are stateless, all data is stored in /shared
volumes:
  - volume:
	  host: /var/discourse/shared/standalone
	  guest: /shared

## The docker manager plugin allows you to one-click upgrade Discouse
## http://discourse.example.com/admin/docker
hooks:
  after_code:
	- exec:
		cd: $home/plugins
		cmd:
		  - mkdir -p plugins
		  - git clone https://github.com/discourse/docker_manager.git
		  - git clone https://github.com/discourse/discourse-solved.git

## Remember, this is YAML syntax - you can only have one block with a name
run:
  - exec: echo "Beginning of custom commands"

  - exec: echo "End of custom commands"
  - exec: awk -F\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Authorized SSH keys for this container:"; } NF>=2 {print $NF;}'

The env section includes only basic stuff: DISCOURSE_DEVELOPER_EMAILS, DISCOURSE_HOSTNAME, DISCOURSE_SMTP_ADDRESS, DISCOURSE_SMTP_PORT, DISCOURSE_SMTP_ENABLE_START_TLS, LETSENCRYPT_ACCOUNT_EMAIL.


(Régis Hanol) #8

That’s because we backported some bug fixes.


(Matt Palmer) #9

Everything looks fine to me and it’s working as intended. The version parameter is actually the name of a git branch to get the code from, and what’s happened is that we’ve put some bugfixes into that branch (as @zogstrip described) but haven’t yet tagged the release (because there’s probably more coming down the pipe in the near future). Essentially, you’re just getting the future stable “release” (tag) a bit early. YOUR CODE IS FROM… THE FUUUUUTUUUUUUUUURE…


(Peter N Lewis) #10

OK, all good, I am back up to date (well ahead of date actually :wink: and have a better understanding of what’s going on.

Thanks.


(Andrew Waugh) #11

I noticed something really odd yesterday on my sandbox.

I had just done a GUI update, all went well. When it was done it showed the blue “Upgrade to the latest version” button to the right, but when I clicked the git compare button in the left column, git showed "There isn’t anything to compare.

Was this a browser cache issue, or did something or other make a “Jump to the left, then a step to the right” on me?

Not long after that there were some new commits, and things went back to normal.

I’m not sure exactly what happened, after all, time is fleeting, but I don’t remember madness taking it’s toll.


(Peter N Lewis) #12

And the same issue again from 1.8.4 to 1.8.6.

You are running an old version of the Discourse image.

Upgrades via the web UI are disabled until you run the latest image.

To do so log in to your server using SSH and run:

cd /var/discourse
git pull
./launcher rebuild app
More info on our support site

(Jeff Atwood) #13

I believe this was already answered…

The answer has not changed.


(Peter N Lewis) #14

Unfortunately, when I follow the instructions it does just this:

WARNING: We are about to start downloading the Discourse base image
This process may take anywhere between a few minutes to an hour, depending on your network speed

Please be patient

Unable to find image 'discourse/base:2.0.20170728' locally
2.0.20170728: Pulling from discourse/base
62ede6aff2e8: Already exists
fc19d60a83f1: Already exists
de413bb911fd: Already exists
2879a7ad3144: Already exists
668604fde02e: Already exists
75ea1d577cf2: Pulling fs layer
75ea1d577cf2: Verifying Checksum
75ea1d577cf2: Download complete
75ea1d577cf2: Pull complete
Digest: sha256:24da785f6176a417ac2d282f33340ab7017c26627647c341e4de82e7a86ab464
Status: Downloaded newer image for discourse/base:2.0.20170728

And then stalls and proceeds no further.

I’ll try canceling it now, and try again.


(Peter N Lewis) #15

Second try is the charm.