[Jenkins-infra] Confluence migration planning

Kohsuke Kawaguchi kk at kohsuke.org
Mon Apr 6 16:21:59 UTC 2015


2015-04-06 7:57 GMT-07:00 R. Tyler Croy <tyler at monkeypox.org>:

> (replies inline)
>
> On Sun, 05 Apr 2015, Kohsuke Kawaguchi wrote:
>
> > I've successfully run the confluence container on lettuce (albeit with
> > temporary throw-away database), so now it's time to plan for the actual
> > migration.
>
> I'll definitely be around next weekend, hooray!
>

The ideal time for me to do this is Saturday AM PT while my daughter is
away on school.


> > My current goal is to get this migration done in the next weekend. Here's
> > the step-by-step description of what I think I'm going to do. Your review
> > is appreciated.
> >
> >    - Disable puppet run on eggplant by manually commenting out puppet run
> >    with "crontab -e"
> >    - Switch http://wiki.jenkins-ci.org/ to maintenance by having
> >    /etc/apache2/sites-enabled/wiki.jenkins-ci.org to
> >    /etc/apache2/sites-available/wiki.jenkins-ci.org.maintenance. This
> blocks
> >    traffic from getting to Confluence
> >    - Verify from my local browser that http://wiki.jenkins-ci.org/ is
> >    showing maintenance screen
> >    - Shutdown Confluence via kill ("/etc/init.d/confluence shutdown"
> never
> >    work)
> >    - Take full backup of confluence DB dump & home
> >    - Disable puppet agent on lettuce by "puppet agent --disable"
>
> Why does the agent on lettuce need to be disabled?
>

Otherwise it'll try to keep the confluence container running, and we can't
allow that while we stage /srv/wiki/home.

When the home directory is staged, I need puppet to rewrite JDBC connection
to the production database (PR 90) and start the container in one go.


> >    - Stop all docker container services on lettuce (wikidb, confluence,
> and
> >    confluence-cache)
> >    - Wipe out /srv/wiki/home on lettuce, rsync /srv/wiki/home from
> eggplant
> >    to lettuce.
>
> Why is the rsyncing of /srv/wiki/home necessary? Isn't everything already
> going
> to come through either the database or through Puppet? I'm curious about
> what
> state is here that we have not in one of those two systems of record
>

Larry mentioned about attachments. It also houses some ehcache
configuration, lucene index for search, plugin binaries, and other stuff.
I'm not entirely clear what's in there, but Confluence most definitely has
some dependency to file system.


> >    - adjust file permissions on the lettuce's new wiki home (chown -R
> >    1000:1001 /srv/wiki/home)
>
> I asked in PR 89 about this, and just checked on lettuce. This UID/GID is
> surely wrong and is already used by "osuadmin" on the host.
>

To the best of my knowledge Docker doesn't support UID/GID namespace, so we
are stuck with whatever UID/GID containers are built with.

In this case, we build this container, so I'll update the confluence image
build process to pick some specific UID/GID that we know we are not using
anywhere. All the containers we'll build have to have similar unique
UID/GIDs.

-- 
Kohsuke Kawaguchi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.jenkins-ci.org/pipermail/jenkins-infra/attachments/20150406/82499ffa/attachment-0001.html>


More information about the Jenkins-infra mailing list