Feature #7107

Refactor Puppet code for Jenkins from www.lizard

Added by intrigeri 2014-04-17 19:58:51 . Updated 2015-08-26 06:08:48 .

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

100%

Feature Branch:
Type of work:
Sysadmin
Blueprint:

Starter:
0
Affected tool:
Deliverable for:
265

Description

See parent ticket for the rationale.

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


Subtasks


Related issues

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

History

#1 Updated by intrigeri 2014-08-17 11:37:24

  • Description updated

#2 Updated by intrigeri 2015-01-09 17:23:03

  • Target version changed from Sustainability_M1 to Tails_1.4

#3 Updated by bertagaz 2015-01-10 17:07:23

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

#4 Updated by bertagaz 2015-02-25 09:55:54

  • 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 2015-02-25 13:27:59

  • 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 2015-02-26 09:17:05

> 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 Feature #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 2015-02-26 09:20:28

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

#8 Updated by bertagaz 2015-02-26 14:53:46

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 Feature #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 2015-04-01 13:03:53

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

#10 Updated by intrigeri 2015-04-26 03:59:24

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

#11 Updated by intrigeri 2015-05-09 02:11:22

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

Postponing.

#12 Updated by intrigeri 2015-05-29 11:34:07

  • blocks #8668 added

#13 Updated by bertagaz 2015-06-15 05:03:53

  • Assignee changed from bertagaz to intrigeri

#15 Updated by intrigeri 2015-06-15 06:06:26

  • QA Check set to Ready for QA

#17 Updated by intrigeri 2015-06-18 06:10:10

  • 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 2015-06-18 06:29:36

  • 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 2015-06-18 07:02:19

  • 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 2015-06-18 07:04:36

  • Assignee deleted (intrigeri)

#21 Updated by bertagaz 2015-06-18 13:07:36

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

#22 Updated by bertagaz 2015-06-18 13:07:44

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

#23 Updated by bertagaz 2015-06-18 13:08:01

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

#24 Updated by intrigeri 2015-08-26 06:08:48

  • Deliverable for set to 265