[SERVER-457] Get dujour working with Puppet Server 2.0.0 RC Created: 2015/03/16  Updated: 2016/09/27  Resolved: 2015/04/02

Status: Closed
Project: Puppet Server
Component/s: Puppet Server
Affects Version/s: None
Fix Version/s: SERVER 2.0.0

Type: Bug Priority: Normal
Reporter: Jeff McCune Assignee: Kevin Corcoran
Resolution: Fixed Votes: 0
Labels: AIO, updated_release_notes
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
relates to SERVER-518 Update group-id and artifact-id for v... Closed
Epic Link: Green: Puppet 4.0 Changes
Sub-team: jade
Story Points: 1
Sprint: Server Jade 2015-04-15, Server Jade 2015-03-18, Server Jade 2015-04-01
Release Notes: Bug Fix
QA Contact: Erik Dasher


This is a nice to have for puppetserver 2.0.0 RC but not a blocker. It is a blocker for GA.

We need to bring Preben's improvements to the version check library at https://github.com/puppetlabs/puppet-server/pull/448 into the 2.0.0 branch as quickly as possible so that we can get good information about the RC versions.

Aaron has said this is not a blocker for RC, but it should be fixed as soon as possible along the path to GA.
Risk assessment: High (QA to perform Functional Review and to make an automated test)
Probability: High (This feature has broken in the past)
Severity: High (When this breaks, we don't get information back from the customers about what version of puppetserver is running.)

Comment by Jeff McCune [ 2015/03/16 ]

Pull request is up at https://github.com/puppetlabs/puppet-server/pull/448

Comment by Preben Ingvaldsen [ 2015/03/17 ]

Looks like there was a green run last night containing these changes, so I'm putting this into Testing.

Comment by Chris Price [ 2015/03/18 ]

I still don't see any checkins on dujour from any 2.0.0-x versions. During jenkins runs I believe this is expected, because we intentionally override the update server url to avoid spamming the production dujour instance. However, if anyone has done any manual installation / testing with a 2.0.x since this change was merged, I would kind of expect to see checkins from that.

We definitely need to do functional review on this before closing it out.

Comment by Chris Price [ 2015/03/18 ]

Jeremy Barlow this may end up being an issue for 1.0.8 as well, we're going to need to keep an eye on it.

Comment by Jeremy Barlow [ 2015/03/18 ]

Hmm, yeah. I'm pretty sure I did some manual testing where "2.0.0-rc1" would have been in the check in request and I was using the live updates.puppetlabs.com URL. (I used "2.0.0-rc1" since I knew we were going to burn that version anyway, not to be "released" to the public). I even remember inspecting the request via Wireshark to see that "2.0.0-rc1" was in the request going to the URL. Chris Price, maybe I need to get an education from you on how to check the dujour server statistics? Is there a chance that there's a bug on the dujour server side with handling "-rcX" on the end of a version?

Comment by Jeremy Barlow [ 2015/03/18 ]

Oh, and I should mention that when I was doing that testing it was with Puppet Server per the code from the PR for this ticket.

Comment by Chris Price [ 2015/03/18 ]

You can hit it with curl:

$ curl http://updates.puppetlabs.com\?product\=foo\&version\=1.0-rc1
foo is not a Puppet Labs product, yo
$ curl http://updates.puppetlabs.com\?product\=foo
No product and/or version parameters in query, yo% 

Hopefully if it doesn't give you an error message then it should have tracked the hit. If you actually wanted to see the data you'll either need a login for:


Which I don't have and am not sure how to get; maybe talk to Past Haus or Melissa Stone.

Or if you are able to ssh into updates.puppetlabs.com you can query postgres directly.

Comment by Past Haus [ 2015/03/18 ]

Jeff McCune didn't you make a green team login for dujour?

Comment by Jeff McCune [ 2015/03/19 ]

Past Haus I recall that you told me how in one of the releases we've done recently, but I don't think I ever added us to the .htpasswd file.

Comment by Past Haus [ 2015/03/19 ]

Jeff McCune Here's the file. It has a green team hash, but I have no idea what password that corresponds to https://github.com/puppetlabs/puppetlabs-modules/blob/4e93dfb717ffc658a94be6e97f836dc86715bd5a/site/profile/files/dujour/htpasswd#L7

Comment by Jeff McCune [ 2015/03/20 ]

Ah, OK. I did find the password after all.

I take it I need to add 2.0.0-rc3 to https://updates.puppetlabs.com/dashboard/releases/puppetserver ?

Comment by Jeff McCune [ 2015/03/23 ]

2.0.0-rc3 has been added to https://updates.puppetlabs.com/dashboard/releases

Comment by Kevin Corcoran [ 2015/04/02 ]

I took a crack at some manual testing/validation of this fix. I can confirm that Puppet Server 2.0.0-rc4 is successfully checking-in with Dujour.

Initially, my thought was that I would test this by pulling down the 2.0.0-rc4 package, starting the service, and verifying that a new check-in showed up in Dujour. However, looking at Dujour, there are currently over 22,000 check-ins for Puppet Server 2.0.0-rc4, and this count is increasing by roughly 100 every few minutes! The vast majority of these check-ins are coming from the Puppet acceptance tests running on Jenkins; in Puppet Server's acceptance tests, there is some sort of hack that prevents it from talking to Dujour; however, Puppet's acceptance tests do not have this hack. Given this large volume of existing (and quickly increasing check-ins) it does not make sense to test this as I originally planned. However, it is also quite obvious that Puppet Server 2.0.0-rc4 is talking to Dujour successfully, so I consider that to be sufficient "functional review" for this issue.

I disagree with the assessment that this issue is "high severity" - it does not actually affect customers - even if dujour is broken, Puppet Server still works just fine - I'd probably consider this "low severity" for that very reason.

And finally, I'm not sure it makes sense to write an automated test for this. Especially given the current state of dujour, where the only way to get check-in data seems to be either the dashboard GUI or by querying the database directly, not to mention the issue of Jenkins jobs polluting the dataset. Perhaps, in the future, there will be robots, and an automated test for this will be more tractable.

So, based on all of that, and my conversations with Erik Dasher, I'm going to close this issue out.

Comment by Jeff McCune [ 2015/04/13 ]

Bug Fixed

Puppet Server correctly checks for new versions and reports when they're available to the user.

Generated at Tue Aug 11 00:46:59 PDT 2020 using Jira 8.5.2#805002-sha1:a66f9354b9e12ac788984e5d84669c903a370049.