Project

General

Profile

Feature #7107

Feature #6056: Refactor Puppet code for Jenkins

Refactor Puppet code for Jenkins from www.lizard

Added by intrigeri over 5 years ago. Updated about 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Continuous Integration
Target version:
Start date:
04/17/2014
Due date:
% Done:

100%

Feature Branch:
Type of work:
Sysadmin
Blueprint:
Starter:
No
Affected tool:

Description

See parent ticket for the rationale.

https://github.com/boklm/puppet-sshkeys will probably be needed.


Related issues

Related to Tails - Bug #8912: Nightly built artifacts for disabled jobs are not removed Resolved 02/17/2015
Related to Tails - Feature #9616: Refactor Puppet bits for the nightly builds NFS Confirmed 06/18/2015

History

#1 Updated by intrigeri about 5 years ago

  • Description updated (diff)

#2 Updated by intrigeri over 4 years ago

  • Target version changed from Sustainability_M1 to Tails_1.4

#3 Updated by bertagaz over 4 years ago

  • Target version changed from Tails_1.4 to Tails_1.3

#4 Updated by bertagaz over 4 years ago

  • Target version changed from Tails_1.3 to Tails_1.3.2
  • % Done changed from 0 to 50

We're almost there, but will be for the next release.

#5 Updated by bertagaz over 4 years ago

  • Status changed from Confirmed to In Progress
  • Assignee changed from bertagaz to intrigeri
  • QA Check set to Info Needed

I see you moved the nightly.t.b.o website configuration in a submodule. IIRC that was the last remaining part of this ticket, or shall I move the NFS setup part out of it?

#6 Updated by intrigeri over 4 years ago

I see you moved the nightly.t.b.o website configuration in a submodule. IIRC that was the last remaining part of this ticket, or shall I move the NFS setup part out of it?

I've had a look, and indeed the www.lizard node definition starts to look pretty good to me, and mostly contains site-specific configuration. Possibly remaining bits are:

  • IMO the main goal of #6056 and children is to make it possible for e.g. DrWhax to reproduce something very close to our Jenkins setup. If this can be done without the NFS bits, then indeed we can leave them in this site manifest. Otherwise, I think they should be factored out somehow.
  • The nightly.t.b.o vhost configuration is currently in a site-specific "module" right now. If we consider this to be part of our Jenkins setup (do we?), then it should be turned into a template, migrated into the tails module, and deployed either by tails::jenkins::reverse_proxy (if we want to strongly couple the frontend reverse-proxy for Jenkins and the webserver for the nightlies) or by a new tails::jenkins::nightlies::webserver class.

#7 Updated by intrigeri over 4 years ago

  • Assignee changed from intrigeri to bertagaz
  • QA Check deleted (Info Needed)

#8 Updated by bertagaz over 4 years ago

Thanks for the reply.

intrigeri wrote:

I've had a look, and indeed the www.lizard node definition starts to look pretty good to me, and mostly contains site-specific configuration. Possibly remaining bits are:

  • IMO the main goal of #6056 and children is to make it possible for e.g. DrWhax to reproduce something very close to our Jenkins setup. If this can be done without the NFS bits, then indeed we can leave them in this site manifest. Otherwise, I think they should be factored out somehow.

It sure can, as we did it. This NFS bits are just there so that the nightlies can be served by lizard's webserver. Not to mention that the disable storeconfig option won't help in doing in a clean manner.

  • The nightly.t.b.o vhost configuration is currently in a site-specific "module" right now. If we consider this to be part of our Jenkins setup (do we?), then it should be turned into a template, migrated into the tails module, and deployed either by tails::jenkins::reverse_proxy (if we want to strongly couple the frontend reverse-proxy for Jenkins and the webserver for the nightlies) or by a new tails::jenkins::nightlies::webserver class.

Right, I should move it then, and I believe it would be more relevant to decouple it from the reverse_proxy setup. This way one could serve the nightlies over http, while still keeping her Jenkins install private (as Dr_Whax did).

#9 Updated by bertagaz over 4 years ago

  • Target version changed from Tails_1.3.2 to Tails_1.4

#10 Updated by intrigeri over 4 years ago

  • Related to Bug #8912: Nightly built artifacts for disabled jobs are not removed added

#11 Updated by intrigeri over 4 years ago

  • Target version changed from Tails_1.4 to Tails_1.4.1

Postponing.

#13 Updated by bertagaz over 4 years ago

  • Assignee changed from bertagaz to intrigeri

#15 Updated by intrigeri over 4 years ago

  • QA Check set to Ready for QA

#17 Updated by intrigeri over 4 years ago

  • Assignee changed from intrigeri to bertagaz
  • % Done changed from 50 to 60
  • QA Check changed from Ready for QA to Dev Needed

Yay! Looks good to me, except:

  • I dislike the name of the $hostname parameter: it's a web virtualhost name, not an actual hostname. I suggest $virtualhost instead.
  • I think that File[$artifacts_store_path] should be managed by a class in the tails::jenkins::artifacts_store namespace; not sure which one exactly. Any suggestion?
  • Why do we still have modules/site_jenkins/files/nginx/www.lizard/nightly.tails.boum.org?

#18 Updated by bertagaz over 4 years ago

  • Assignee changed from bertagaz to intrigeri
  • QA Check changed from Dev Needed to Info Needed

intrigeri wrote:

Yay! Looks good to me, except:

\o/

  • I dislike the name of the $hostname parameter: it's a web virtualhost name, not an actual hostname. I suggest $virtualhost instead.

I took the same than in the tails::reprepro::nginx for consistency.

  • I think that File[$artifacts_store_path] should be managed by a class in the tails::jenkins::artifacts_store namespace; not sure which one exactly. Any suggestion?

Agree, but I think this might be a bit early to implement this. To me it looks a bit tied to the NFS shares we'll need to refactor too. I'd prefer to do both of them at the same moment. I propose to open a new ticket regarding the NFS bits refactoring and note it will require the File[$artifacts_store_path] to be handled.

  • Why do we still have modules/site_jenkins/files/nginx/www.lizard/nightly.tails.boum.org?

Ooops, forgot it in the move, fixed.

#19 Updated by intrigeri over 4 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 60 to 100
  • QA Check changed from Info Needed to Pass
  • I dislike the name of the $hostname parameter: it's a web virtualhost name, not an actual hostname. I suggest $virtualhost instead.

I took the same than in the tails::reprepro::nginx for consistency.

Fair enough, my bad for introducing something that bad there, then. Perhaps I'll fix both some day.

  • I think that File[$artifacts_store_path] should be managed by a class in the tails::jenkins::artifacts_store namespace; not sure which one exactly. Any suggestion?

Agree, but I think this might be a bit early to implement this. To me it looks a bit tied to the NFS shares we'll need to refactor too. I'd prefer to do both of them at the same moment. I propose to open a new ticket regarding the NFS bits refactoring and note it will require the File[$artifacts_store_path] to be handled.

OK.

  • Why do we still have modules/site_jenkins/files/nginx/www.lizard/nightly.tails.boum.org?

Ooops, forgot it in the move, fixed.

Good.

Calling this done, then!

#20 Updated by intrigeri over 4 years ago

  • Assignee deleted (intrigeri)

#21 Updated by bertagaz over 4 years ago

  • Related to Feature #9614: Automated builds: complete phase two added

#22 Updated by bertagaz over 4 years ago

  • Related to deleted (Feature #9614: Automated builds: complete phase two)

#23 Updated by bertagaz over 4 years ago

  • Related to Feature #9616: Refactor Puppet bits for the nightly builds NFS added

Also available in: Atom PDF