Introduction

This is the University of Washington's 1.3 to 2.1 migration experience.

Our migration plan provided for:

New hardware, new name

Our 1.3 IdP had two names: hs.so.cac.washington.edu for authn and aa.so.cac.washington.edu for authz.  At one time that seemed to make sense but no longer does.  Our IdP hardware is out of warranty.  We decided to install shib 2.1 on a couple of new boxes, with the new IdP cluster name of idp.u.washington.edu, and with a new certificate from InCommon.  The new certificate brings one complication: some sites will get our new metadata but, because their local wayf has hardcoded our old IdP's url, they will continue to send users to hs.so..  As long as our metadata contains both the old and new credentials - and we push attributes - it will not matter to which idp users are sent.  (see "things that can go wrong")

New IdP in pre-production

We installed and configured the 2.1 IdP, including the Terracotta clustering option;  imported our 1.3 ePTID database; and converted ARPS to filters and some local resolver mods to scriptlets and etc. Our ePTIDs are computed when needed and stored in databases (one DB per IdP) which are lazily kept in sync.  As a new ePTID's value is generated identically on all systems, including the old 1.3, so we can run redundent databases without much concern for replication.

At this point the new, 2.1 IdP was up and running and could be used for production by any SP that had the metadata.  Google mail SSO was our first app.  To test some 'real' load we manually switched a couple of local wikis to the new IdP.  That proved it could run under at least a moderate load.

An emulation step

(A placate the Architect step, actually)

We configured a 2.1 IdP lookalike service on our 1.3 IdPs as a fallback if the 2.1 IdP completely failed.  (See Scott's how-to.)  Didn't expect to use it, and didn't, but it worked OK.

Production

All that was left was to update our InCommon metadata, and wait for SPs to flock to the new IdP.

There were a few thing that could go wrong:

Conclusion

We had a couple of the old-wayf issues, both quickly fixed with a call to the SP administrators.  A couple SPs, who's administrators are on vacation, are still using the 1.3 IdP.  Other than that we seem to have moved ahead quite seamlessly.

Postscript

  1. Our first 2.1 IdP used port 7443, instead of the standard 443, in its SSO URL.  Partly I didn't think it mattered; partly I needed a non-standard port to make the fallback idp on the old 1.3 system work.  It turns out that some proxies and firewalls block port 7443 (just out of meanness I suppose).  So it is important to use the 443 port.  Not needing a fallback anymore we are switching our SSO URL back to the standard.