I went in early to work today to upgrade our Confluence server. I had been running the latest version on a test server with great success, and we had a lot of really exciting changes to roll out. Ever since I first set up our wiki around 2.5+ years ago, no one from our West Plains campus could log in (their accounts are in a separate Active Directory), and only a select number of AD groups could be used for permissions sets. What was worse, the operating system it was running on (the first iteration of Ubuntu JeOS) was pretty much broken and couldn’t be updated.
So we were moving to Windows Server 2008 (at my boss’s request–migrating from Ubuntu about broke my heart), and we also transitioned from a locally hosted PostgreSQL database to a remotely hosted Microsoft SQL Server. Lots and lots of changes, all to the good.
Instead of the hour I had an anticipated (moving virtual machines on our VM server, swapping MAC addresses, renaming the machines, voila), it ended up taking eight hours and forty-five minutes. Random issue after random issue got in my way, bugs that could neither be reproduced nor explained cropped up, and I strained against my torment without a break and with great intensity. First it was database errors, so I had the web DB guy drop all the tables and started anew. Then it was a Java error, then an unlabeled error, then backup restoration errors, with each error taking 30-60 minutes each to overcome. Once everything was OK, we discovered that all the attachments were broken, and after a frantic hour or so including some frenzied communications with Atlassian, it dawned on me to just copy the attachments over from the old server. If you knew how complicated attachments are in Confluence, you’d understand why I didn’t do that to begin with.
About fifteen minutes before I was going to leave, I started getting emails that people couldn’t see the content they needed. Permissions were broken, and that took another hour to figure out. A helpful person who runs our Active Directory was on the phone with me the whole time, and between us we were able to narrow down the issue: From within Confluence, I could see the permissions groups, but none of the members of those groups. AD groups can be created as Local Domain or as Universal, and Confluence 3.1 requires the latter. The former is the default, though, and most every group created before he started (about 2 years ago) was set to the default. Unfortunately, this included all of the permissions groups we needed. A quick fix on his end, but it took us a while to figure out what was going on.
I got no confused, frustrated, or angry emails on the way home, and five hours later I’ve had nothing but a few Thank You notes for the upgrade, so I’m feeling pretty good about it. Unfortunately, I was also exhausted and ended up having to take a 3-4 hour nap, and my throat’s sore, and my sinuses are all stuffed up. Hopefully sleep will cure what ails me.