wiki:wheezy-jessie-upgrade

Version 50 (modified by Steve Revilak, 8 years ago) (diff)

--

Wheezy Jessie Final Upgrade

Now that we have upgraded nearly all the moshes to jessie, it's time to finish the job.

We are more than 50% there:

  • Running Squeeze: 12
  • Running Wheezy: 49
  • Running Jessie: 80

Steps to upgrade

For a Mosh: read mosh upgrade page, more complicated.

For other servers:

  • Read what the server does in puppet - test services before upgrading
  • Delete all sources and preferences files:
    rm -f /etc/apt/preferences.d/* /etc/apt/sources.list.d/*
    
  • Edit source.list to change to squeeze/jessie
    nano /etc/apt/sources.list
    
  • Update and upgrade
    apt-get update && apt-get dist-upgrade
    
  • Test services again

If the server is running squeeze, upgrade to wheezy first.

The more detailed upgrade process

Here's my list of servers to upgrade:

General

  • assata:wheezy (jaimev)
  • barron:wheezy (jaimev)
  • cleaver:wheezy (jaimev)
  • clr:wheezy (jaimev)
  • florence:wheezy (jaimev)
  • fuller:wheezy (jaimev)
  • herman:wheezy (retire) (steve)
  • howard:wheezy (steve)
  • iz:wheezy (greg)
  • jojobe:wheezy (UK server)
  • keller:wheezy (greg)
  • leslie:wheezy (greg)
  • malaka:wheezy
  • mcchesney:wheezy (nat)
  • parsi:wheezy (nat) AWAITS REBOOT
  • peltier:wheezy (nat)
  • pietri:wheezy (nat) AWAITS REBOOT
  • revueltas:wheezy (airtime)
  • robideau:squeeze (steve)
  • sankara:wheezy (nat)
  • stallman:wheezy (roundcube) (steve)
  • toussaint:wheezy (nat)
  • vilma:wheezy
  • zimmermann:wheezy (steve)
  • ranciere:wheezy (old telehouse-based authoritative DNS server, nothing live on it now) (jamie)

Moshes

  • hashmi:squeeze (pin PHP to current version, ensure apache files all end in .conf)
  • jones:squeeze (pin PHP to current version, ensure apache files all end in .conf)
  • roe:squeeze (ensure apache files all end in .conf)
  • slaapbeen:wheezy
  • sojourner:wheezy

Special Care

These should be handled carefully because they are dedicated to members or handle mission critical services

Sahara Reporters (Ross)

  • achebe:wheezy
  • acholonu:wheezy
  • bouazizi:wheezy
  • deadeasy:wheezy
  • franz:wheezy

PTP (jamie)

  • augusto:wheezy
  • dorvalina:wheezy
  • marti:wheezy

Yes men

  • banksy:wheezy
  • baubo:wheezy - waiting on reboot

Varnish (Ross?)

Known issues with migration path.

  • dolores:wheezy
  • ngugi:wheezy
  • saadawi:wheezy

Rochester IMC

  • douglass:squeeze (ben)

Laneta (Enrique)

Misc

  • barghouti:wheezy (contact CIVIC)
  • dee:wheezy (contact Emily Haddad)
  • JAMIE morales:squeeze (Portside - listserv)
  • JAMIE hay:wheezy (careful! running members.mayfirst.org, id.mayfirst.org)
  • gamiz:wheezy (authoritative DNS) (jamie)
  • kennedy:wheezy (authoritative DNS) (jamie)
  • kramer:squeeze (Philly Fight - running koha)
  • moses:wheezy (running support.mayfirst.org - dkg?)
  • rustin:wheezy (bulk mail relay)
  • cleveland:wheezy (bulk mail relay)
  • woodhull:wheezy (NLG - file sharing)

Here's my list of servers that need upgrades but will be retired during xo -> telehouse transition so it's not worth the effort:

axiom:squeeze
ottorene:squeeze
roy:squeeze
swartz:squeeze
luisa:squeeze
negri:wheezy

Exceptional Cases (aka `surprises')

Zimmerman. apt-get dist-upgrade proceeded to

Selecting previously unselected package dmeventd.
Preparing to unpack .../dmeventd_2%3a1.02.90-2.2_amd64.deb ...
Unpacking dmeventd (2:1.02.90-2.2) ...
Setting up init-system-helpers (1.22) ...
Setting up dmeventd (2:1.02.90-2.2) ...
Failed to parse message: No such device or address

and then hung. Unresponsive from ssh session I used for the upgrade; wouldn't accept new ssh connections. We ended up killing zimmermann's kvm process, restarting, and continuing the upgrade from the console.

Later error:

Setting up sks (1.1.5-3) ...
debian-sks uid check: ok
debian-sks homedir check: ok
db5.3_upgrade: BDB0671 /var/lib/sks/DB/DB_CONFIG~: unrecognized file type
db5.3_upgrade: DB->upgrade: /var/lib/sks/DB/DB_CONFIG~: Invalid argument
dpkg: error processing package sks (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up ca-certificates (20141019+deb8u1) ...

Removed the emacs backup file, then dpkg --configure -a. Next error

0 zimmermann:~# dpkg --configure -a
Setting up sks (1.1.5-3) ...
debian-sks uid check: ok
debian-sks homedir check: ok
cp: error writing '/var/backups/sks/20160305-143824/DB/key': No space left on device
cp: failed to extend '/var/backups/sks/20160305-143824/DB/key': No space left on device
dpkg: error processing package sks (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 sks

This was harder to sort out

cd /var/lib/sks/DB
db5.1_recover -v complained about an unrecognized file format
db5.3_recover -v ran recovery successfully

/var/lib/sks/berkeley_db.active contained "5.1". I changed this to "5.3", since the files seem to be readable by 5.3 rather than 5.1.

After that, dpkg --configure -a succeeded.

Stallman. Convert postgres 9.1 -> 9.4

pg_dumpall --verbose > pg91.out

# Verify roundcube databases not in 9.4
psql -p 5433 --list

# load dump into 9.4
psql -p 5433 < pg91.out

# check
psql -p 5433 --list

Next, stop all postgres instances, and switch 9.4 from the alternate port to the main port.

systemctl stop postgresql@9.1-main.service
systemctl stop postgresql@9.4-main.service

Set port = 5432 in /etc/postgresql/9.4/main/postgresql.conf

systemctl start postgresql@9.4-main.service
systemctl disable postgresql@9.1-main.service

0 roundcube@stallman:~$ psql -U roundcube roundcube
psql (9.4.6)