Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #10463 (closed)

Opened 8 years ago

Closed 4 years ago

Suggestions for OMERO.server upgrade instructions

Reported by: crueden-x Owned by:
Priority: critical Milestone: Unscheduled
Component: Documentation Version: 4.4.9
Keywords: n.a. Cc: jamoore, sbesson, bpindelski
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: n.a.
Sprint: n.a.

Description

I recently upgraded the LOCI OMERO to 4.4.6 from 4.3.4. It went very smoothly, and looks great! The suggestions documented in this ticket are extremely minor nitpicks which might improve the server upgrade page, or may be off-base. They certainly don't imply any confusion or displeasure from me—just ideas.

Perform a database backup

Perhaps we should ship a script to do it, rather than have that big scary pg_dump command. I already had such a command in my ~omero/bin folder, called backupOmeroSql.sh, which I think I got from Josh or the web site long ago:

#!/bin/bash

DATE=`date '+%Y-%m-%d_%H:%M:%S-%Z'`
OUTPUT_DIRECTORY=/OMERO/backup/database
DATABASE="omero"
DATABASE_ADMIN="omero"

mkdir -p $OUTPUT_DIRECTORY
chown -R $DATABASE_ADMIN $OUTPUT_DIRECTORY
su $DATABASE_ADMIN -c "pg_dump -Fc -f $OUTPUT_DIRECTORY/$DATABASE.$DATE.pg_dump"

As you can see, it does essentially the same thing, except it puts the backup in /OMERO/backup/database, which is nice. And it time stamps it.

Of course, everyone's credentials are different, but those could be arguments to the script, with omero as defaults.

Copy new binaries

This isn't really specific to that section, but the fact that it mentions stopping the OMERO server reminds me: it would be nice to have an easy way to add an OMERO service to /etc/init.d (assuming Ubuntu Linux or similar). I currently have the following script in /etc/init.d/omero:

#!/bin/sh

#
# /etc/init.d/omero
#

case "$1" in
  start)
    echo "Starting omero"
    su omero -c "/home/omero/omero/bin/omero admin start"
    su omero -c "/home/omero/omero/bin/omero web start"
    ;;
  stop)
    echo "Stopping omero"
    su omero -c "/home/omero/omero/bin/omero admin stop"
    su omero -c "/home/omero/omero/bin/omero web stop"
    ;;
  restart|force-reload)
    echo "Restarting omero"
    su omero -c "/home/omero/omero/bin/omero admin restart"
    su omero -c "/home/omero/omero/bin/omero web start"
    ;;
  status)
    echo "Getting omero status"
    su omero -c "/home/omero/omero/bin/omero admin status"
    su omero -c "/home/omero/omero/bin/omero web status"
    ;;
  *)
    echo "Usage: /etc/init.d/omero {start|stop|restart|force-reload|status}"
    exit 1
    ;;
esac

exit 0

Probably this script is wrong/naive/problematic so would be nice if there were an official OMERO solution rather than each sysadmin hacking their own.

Anyway, then you could document sudo service omero stop or whatnot as appropriate in this section.

Also, rather than renaming the old OMERO folder, my personal preference is to have a fixed folder called "omero" that is symlinked to the current version. Then I don't have to update any init scripts, Apache stanzas, or whatever, each time I upgrade (unless I would otherwise need to do so). If the instructions did things that way, it might simplify some of the sections, since certain things would still "just work".

Run the upgrade script

Would be cool if you could bin/omero upgrade instead of needing to call psql directly. In theory the script could check which version of the DB is there, and make the appropriate system call, though again, I am naive so perhaps this is too much work to justify spending the time?

Optimise an upgraded database (optional)

Similarly, bin/omero optimise would rule. And that one would be easier to implement, I'd guess.

Merge script changes

If bin/omero upgrade started to exist, it could warn if users had any such conflicts between script versions...

Environment variables

This section could probably go away if using the symlink approach I mentioned above, right?

Changes to OMERO.web URLs

For configuring the Apache stanza, I was previously pasting it directly into /etc/apache2/sites-available/default, which was getting pretty unwieldy (the stanza has grown a lot). So now instead I created ~omero/apache.conf generated from bin/omero (thanks for that, it's a life-saver!), and just added it to /etc/sites-available/default via an Include now. Much cleaner. However, that lends itself to the possibility of easing the installation even further somehow. bin/omero fix-my-apache? But again, perhaps there are too many cases there.

Restart your database

Again, I would love to be able to sudo service omero start without worry, including OMERO.web.

Restore a database backup

Similar to the "Perform a database backup" section, would be nice to have a simpler script for this.

Change History (9)

comment:1 Changed 8 years ago by jmoore

  • Cc jmoore sbesson bpindelski added
  • Milestone changed from Unscheduled to OMERO-4.5
  • Priority changed from minor to major
  • Sprint set to Bugs Fixing

comment:2 Changed 8 years ago by jburel

  • Sprint changed from Bugs Fixing to 2013-04-09 (7))

Moved from sprint Bugs Fixing

comment:3 Changed 7 years ago by jburel

  • Sprint changed from 2013-04-09 (7)) to 2013-05-07 (8)

Moved from sprint 2013-04-09 (7))

comment:4 Changed 7 years ago by jburel

  • Milestone changed from OMERO-4.4.x to OMERO-4.4.9
  • Sprint changed from 2013-05-07 (8) to Blocker 4.4.9 (1)

Moved from sprint 2013-05-07 (8)

comment:5 Changed 7 years ago by jamoore

  • Milestone changed from OMERO-4.4.x to 5.0.0
  • Priority changed from major to critical
  • Version set to 4.4.9

comment:6 Changed 7 years ago by hflynn

  • Owner hflynn deleted

This is really rather more than a docs task, maybe @bpindelski could take it on when he is back next week?

comment:7 Changed 7 years ago by hflynn

Referencing ticket #11788 has changed sprint.

comment:8 Changed 5 years ago by jamoore

  • Milestone changed from 5.x to Unscheduled

comment:9 Changed 4 years ago by jamoore

  • Resolution set to duplicate
  • Status changed from new to closed
Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.189680 sec.)

We're Hiring!