[PUP-9159] Request "master" server status Created: 2018/09/20  Updated: 2018/10/02  Resolved: 2018/09/26

Status: Closed
Project: Puppet
Component/s: None
Affects Version/s: PUP 6.0.0
Fix Version/s: PUP 6.0.1

Type: Bug Priority: Normal
Reporter: Josh Cooper Assignee: Josh Cooper
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Template: PUP Bug Template
Team: Coremunity
Sprint: Platform Core KANBAN
Method Found: Needs Assessment
Release Notes: Bug Fix
Release Notes Summary: Previously, an agent configured to use one or more compiler servers with the `server_list` setting could skip an available server under certain conditions. Now the agent requests status of the "master" service specifically which accurately reports if the compiler service is available.
QA Risk Assessment: Needs Assessment


When using server_list the agent will request server status from status/v1/services. It is possible for the compiler to be ready, but other trapperkeeper services unrelated to compilation to be unavailable such as the broker-service. For example:

<- "GET /status/v1/simple HTTP/1.1\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nUser-Agent: Puppet/6.0.0 Ruby/2.5.1-p57 (x86_64-linux)\r\nHost: puppet:8140\r\n\r\n"
-> "HTTP/1.1 503 Service Unavailable\r\n"
-> "Date: Wed, 19 Sep 2018 22:50:52 GMT\r\n"
-> "Content-Type: text/plain;charset=utf-8\r\n"
-> "Content-Length: 5\r\n"
-> "Server: Jetty(9.4.z-SNAPSHOT)\r\n"
-> "\r\n"
reading 5 bytes...
-> "error"

The agent should request status from status/v1/services/master instead

$ curl -ks https://puppet:8140/status/v1/simple/master

Comment by Josh Cooper [ 2018/09/20 ]

Merged to 6.0.x inĀ https://github.com/puppetlabs/puppet/commit/9a9eed95e3e913ce747b34c79416caf3d063fdb8

Comment by Josh Cooper [ 2018/09/26 ]

Passed CI in e2f7ccfb7

Generated at Sun May 31 19:19:59 PDT 2020 using Jira 8.5.2#805002-sha1:a66f9354b9e12ac788984e5d84669c903a370049.