Migrate jenkins.ovirt.org to jenkins.phx.ovirt.org on PHX DC

Description

Migrate all the services from the old jenkins to the new one.
The data shouldn't be copied, but rather re-deloyed via YAML.

we can keep the old jenkins.ovirt.org for a while for history & testing reasons.

100% Done
Type
Key
Summary
Priority
Story Points
Assignee
Status

Activity

Show:

Nadav Goldin April 6, 2016 at 8:14 AM

as migrating lago* jobs seems to be successful, I propose to do the full migration on Sunday(10-04-2016) evening, TLV time.

Few notes:

  • users - will have to enrol again. I didn't find any solution other than setting up a proper ldap/sso solution without introducing all sort of 'hacks' to the environment. the reason is that Jenkins encrypts passwords using a private key that is found on the master. this implies that we have no way of automating users creation without storing plain-text passwords somewhere(hiera, foreman or locally), also replicating the encryption process is not trivial. a more in-depth review of Jenkins password storage mechanism(somewhat outdated, now jbcrypt is also used by default)

  • users personal views - if someone ask I can just migrate them manually.

  • none-yamlized jobs - I think we should not migrate them. they will be available in jenkins-old if someone requires them. unless there is something critical I am not aware of(moving them technically is not a problem, just copying the jobs XMLs).

  • I propose to bundle the migration with trying to improve gerrit performances(this and this), I think its a good time to do it while Jenkins is down. if we could get the memory increased by then would be even better.

Steps left before migration:

  • merge puppet code, yaml code(this, this)

  • change VM environment to production.

  • test live storage increasing.

  • increase VM memory size to 32gb.

  • increase storage to 1TB(we have enough available last I checked)

  • ensure icinga alerts are working.

Migration process:

  • send alert email.

  • block both Jenkins's for out-side access.

  • change DNS: jenkins current ip -> jenkins-old.ovirt.org, jenkins.ovirt.org -> jenkins new ip, iirc had access to it(to *.ovirt.org)

  • ensure there are no jenkins.phx.ovirt.org leftovers in the configuration(including lago @ github)

  • run script to move all slaves.

  • trigger JJB.

  • smoke-test publishers/build_artifacts/check_merged(this would cover most things).

Enhancements left:

  • add puppet jenkins lvm module.

  • configure backups using backups.phx.ovirt.org

  • change JVM memory parameter to be relative to the VM memory size(hard-coded in the manifest right now).

  • version the config.xml file.

your thoughts? also you think any of the enhancements must be done before the migration?

Nadav Goldin March 28, 2016 at 7:07 PM

update:
1. gerrit triggers are working.
2. infra-puppet jobs migrated and working.
http://jenkins.phx.ovirt.org/job/system_update_puppet/
http://jenkins.phx.ovirt.org/job/infra-puppet_production_check-puppet-manifests_gerrit/
though they are not yamlized yet, should open another ticket on that.
3. merged the main puppet jenkins manifest https://gerrit.ovirt.org/53309, and hiera patch https://gerrit.ovirt.org/#/c/54718/
4. https://gerrit.ovirt.org/#/c/55363/ - another puppet patch under work(packages, site logo, etc)
5. jjb is working, theoretically we could load all yaml jobs with http://jenkins.phx.ovirt.org/job/jenkins_master_deploy-configs_merged/, but better not for now(would duplicate everything).

had some progress on slaves authentication via puppet with exported resources, still working on it.
took fc21-vm07.phx.ovirt.org offline for the migration.
plan is to first attempt running http://jenkins.ovirt.org/job/ovirt-node-ng_master_build-artifacts-fc22-x86_64/ and later migrate 's jobs.

Eyal Edri March 16, 2016 at 9:23 AM

I think there are things we can do, such as add a few slaves to the new jenkins and for e.g, applying the "oVirt" UI and logo to the new server..

Barak Korren March 16, 2016 at 9:18 AM

I cannot move forward with this without sitting with him at least once

On 16 March 2016 at 10:46, eyal edri [Administrator] (oVirt JIRA)


Barak Korren
bkorren@redhat.com
RHEV-CI Team

Eyal Edri March 16, 2016 at 8:45 AM

Barak, see if you can move this forward while Nadav isn't here, so we can hasten the migration.

Eyal Edri March 13, 2016 at 8:53 AM

Actions needed for migration:

  • Copy master configuration to new server

  • Enable new slaves on the new server

  • Deploy 'jenkins job builder' deploy job and create all currently yamlized jobs on new master

  • Move backups to new backup.phx.ovirt.org server.

  • Change DNS entry for jenkins new master to jenkins.ovirt.org and old once to jenkins-old.ovirt.org.

Verification needed:

  • Verify gerrit integration works

  • Verify user logic

  • Verify JJB deploy/disable

  • Verify publishers works

  • Verify backup works

  • Verify puppet classes are working

please add any AI / Verification you think is missing.

Fixed

Details

Assignee

Reporter

Blocked By

Components

Priority

Created February 10, 2016 at 8:03 AM
Updated June 6, 2016 at 7:40 AM
Resolved June 6, 2016 at 7:14 AM